Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package requires gcc on FreeBSD 10 to work #8

Closed
rtyler opened this issue Aug 29, 2014 · 10 comments
Closed

Package requires gcc on FreeBSD 10 to work #8

rtyler opened this issue Aug 29, 2014 · 10 comments

Comments

@rtyler
Copy link

rtyler commented Aug 29, 2014

Prior to installing the gcc package on a fresh FreeBSD 10.0-RELEASE (amd64) machine, Gradle will give me wacky build errors:

It appears that installing the gcc package (pkg install gcc) solves this.

FYI.

$ ./gradlew clean check --stacktrace 
:clean
:compileJava UP-TO-DATE
:compileGroovy
:processResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processResources'.
> net.rubygrapefruit.platform.internal.jni.PosixFileFunctions.stat(Ljava/lang/String;Lnet/rubygrapefruit/platform/internal/FileStat;Lnet/rubygrapefruit/platform/internal/FunctionResult;)V

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':processResources'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
Caused by: java.lang.UnsatisfiedLinkError: net.rubygrapefruit.platform.internal.jni.PosixFileFunctions.stat(Ljava/lang/String;Lnet/rubygrapefruit/platform/internal/FileStat;Lnet/rubygrapefruit/platform/internal/FunctionResult;)V
    at net.rubygrapefruit.platform.internal.jni.PosixFileFunctions.stat(Native Method)
    at net.rubygrapefruit.platform.internal.DefaultPosixFiles.stat(DefaultPosixFiles.java:30)
    at net.rubygrapefruit.platform.internal.DefaultPosixFiles.getMode(DefaultPosixFiles.java:46)
    at org.gradle.internal.nativeplatform.filesystem.NativePlatformBackedStat.getUnixMode(NativePlatformBackedStat.java:32)
    at org.gradle.internal.nativeplatform.filesystem.GenericFileSystem.getUnixMode(GenericFileSystem.java:56)
    at org.gradle.api.internal.file.DefaultFileTreeElement.getMode(DefaultFileTreeElement.java:67)
    at org.gradle.api.internal.file.AbstractFileTreeElement.copyTo(AbstractFileTreeElement.java:76)
    at org.gradle.api.internal.file.copy.DefaultFileCopyDetails.copyTo(DefaultFileCopyDetails.java:104)
    at org.gradle.api.internal.file.copy.FileCopyAction$FileCopyDetailsInternalAction.processFile(FileCopyAction.java:44)
    at org.gradle.api.internal.file.copy.NormalizingCopyActionDecorator$1.maybeVisit(NormalizingCopyActionDecorator.java:97)
    at org.gradle.api.internal.file.copy.NormalizingCopyActionDecorator$1.maybeVisit(NormalizingCopyActionDecorator.java:87)
    at org.gradle.api.internal.file.copy.NormalizingCopyActionDecorator$1.access$000(NormalizingCopyActionDecorator.java:52)
    at org.gradle.api.internal.file.copy.NormalizingCopyActionDecorator$1$1.processFile(NormalizingCopyActionDecorator.java:64)
    at org.gradle.api.internal.file.copy.DuplicateHandlingCopyActionDecorator$1$1.processFile(DuplicateHandlingCopyActionDecorator.java:60)
    at org.gradle.api.internal.file.copy.CopyFileVisitorImpl.processFile(CopyFileVisitorImpl.java:60)
    at org.gradle.api.internal.file.copy.CopyFileVisitorImpl.visitFile(CopyFileVisitorImpl.java:44)
    at org.gradle.api.internal.file.collections.DirectoryFileTree.walkDir(DirectoryFileTree.java:157)
    at org.gradle.api.internal.file.collections.DirectoryFileTree.walkDir(DirectoryFileTree.java:172)
    at org.gradle.api.internal.file.collections.DirectoryFileTree.walkDir(DirectoryFileTree.java:172)
    at org.gradle.api.internal.file.collections.DirectoryFileTree.visitFrom(DirectoryFileTree.java:125)
    at org.gradle.api.internal.file.collections.DirectoryFileTree.visit(DirectoryFileTree.java:115)
    at org.gradle.api.internal.file.collections.FileTreeAdapter.visit(FileTreeAdapter.java:96)
    at org.gradle.api.internal.file.CompositeFileTree.visit(CompositeFileTree.java:54)
    at org.gradle.api.internal.file.copy.CopySpecActionImpl.execute(CopySpecActionImpl.java:37)
    at org.gradle.api.internal.file.copy.CopySpecActionImpl.execute(CopySpecActionImpl.java:24)
    at org.gradle.api.internal.file.copy.DefaultCopySpec$DefaultCopySpecResolver.walk(DefaultCopySpec.java:498)
    at org.gradle.api.internal.file.copy.DefaultCopySpec$DefaultCopySpecResolver.walk(DefaultCopySpec.java:500)
    at org.gradle.api.internal.file.copy.DefaultCopySpec.walk(DefaultCopySpec.java:322)
    at org.gradle.api.internal.file.copy.DelegatingCopySpecInternal.walk(DelegatingCopySpecInternal.java:206)
    at org.gradle.api.internal.file.copy.CopySpecBackedCopyActionProcessingStream.process(CopySpecBackedCopyActionProcessingStream.java:36)
    at org.gradle.api.internal.file.copy.DuplicateHandlingCopyActionDecorator$1.process(DuplicateHandlingCopyActionDecorator.java:44)
    at org.gradle.api.internal.file.copy.NormalizingCopyActionDecorator$1.process(NormalizingCopyActionDecorator.java:56)
    at org.gradle.api.internal.file.copy.FileCopyAction.execute(FileCopyAction.java:35)
    at org.gradle.api.internal.file.copy.NormalizingCopyActionDecorator.execute(NormalizingCopyActionDecorator.java:52)
    at org.gradle.api.internal.file.copy.DuplicateHandlingCopyActionDecorator.execute(DuplicateHandlingCopyActionDecorator.java:42)
    at org.gradle.api.internal.file.copy.CopyActionExecuter.execute(CopyActionExecuter.java:38)
    at org.gradle.api.tasks.AbstractCopyTask.copy(AbstractCopyTask.java:83)
    at org.gradle.language.jvm.tasks.ProcessResources.copy(ProcessResources.java:33)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:579)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:562)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 47 more


BUILD FAILED
@krsanky
Copy link

krsanky commented Jan 17, 2015

Thx for this. I am trying out a ratpack project on FreeBSD, and installing gcc got me past that same problem.

@rpmoore
Copy link

rpmoore commented Apr 28, 2015

The reason for this is that FreeBSD does not ship with gcc by default, but ships with clang. Really the build for Freebsd should be updated to use clang instead of gcc.

@brd
Copy link

brd commented May 13, 2016

So is this a gradle bug or a native-platform bug?

@rpmoore
Copy link

rpmoore commented May 13, 2016

It's a native-platform bug that was exposed when using gradle on freebsd.

@brd
Copy link

brd commented May 13, 2016

I looked at the build a little bit and it does not seem obvious how to change it.

Any ideas?

uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Jul 9, 2016
Gradle uses native-platform which has compiled its native component
with g++, and requires that libstdc++.so.6 is available. See
gradle/native-platform#8.

PR:		208471
MFH:		2016Q3
Submitted by:	Tobias Kortkamp <t@tobik.me>
Approved by:	gasol.wu@gmail.com (maintainer timeout)


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@418287 35697150-7ecd-e111-bb59-0022644237b5
uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Jul 9, 2016
Gradle uses native-platform which has compiled its native component
with g++, and requires that libstdc++.so.6 is available. See
gradle/native-platform#8.

PR:		208471
MFH:		2016Q3
Submitted by:	Tobias Kortkamp <t@tobik.me>
Approved by:	gasol.wu@gmail.com (maintainer timeout)
uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Jul 10, 2016
Gradle uses native-platform which has compiled its native component
with g++, and requires that libstdc++.so.6 is available. See
gradle/native-platform#8.

PR:		208471
MFH:		r418287
Submitted by:	Tobias Kortkamp <t@tobik.me>
Approved by:	portmgr
@adammurdoch
Copy link
Member

This is fixed in 0.12. Thanks for reporting the issue.

uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Dec 2, 2016
Gradle uses native-platform which has compiled its native component
with g++, and requires that libstdc++.so.6 is available. See
gradle/native-platform#8.

PR:		208471
MFH:		r418287
Submitted by:	Tobias Kortkamp <t@tobik.me>
Approved by:	portmgr
@timp87
Copy link

timp87 commented Jun 29, 2017

@adammurdoch, could you please clarify what 'fixed' mean in your post?
Is it fixed in FreeBSD ports tree by adding missing dependency or by reworking native-platform build process for FreeBSD?

@adammurdoch
Copy link
Member

It was fixed with some rework to the build and the code, and works if you build from the github source (i.e using Gradle) or if you use the binary version on repo.gradle.org. I don't know what its status is in the ports tree.

@timp87
Copy link

timp87 commented Jun 29, 2017

It was fixed with some rework to the build and the code, and works if you build from the github source (i.e using Gradle) or if you use the binary version on repo.gradle.org.

@adammurdoch, I think it was not.
I didn't find where to download gradle on repo.gradle.org, but I did this under my FreeBSD machine:

[root@nostromo /tmp]# fetch 'https://services.gradle.org/distributions/gradle-4.0-bin.zip'
gradle-4.0-bin.zip                            100% of   64 MB 2874 kBps 00m23s

[root@nostromo /tmp]# unzip gradle-4.0-bin.zip 
Archive:  gradle-4.0-bin.zip
...
 extracting: gradle-4.0/lib/plugins/snakeyaml-1.6.jar  
 extracting: gradle-4.0/lib/plugins/httpcore-4.4.4.jar  
 extracting: gradle-4.0/lib/plugins/xml-apis-1.3.04.jar  
 extracting: gradle-4.0/lib/plugins/hamcrest-core-1.3.jar 

[root@nostromo /tmp]# ls -l gradle-4.0/lib/native-platform-freebsd-*
-rw-r--r--  1 root  wheel  17988 Mar  9 03:15 gradle-4.0/lib/native-platform-freebsd-amd64-libcpp-0.14.jar
-rw-r--r--  1 root  wheel  17101 Mar  9 03:15 gradle-4.0/lib/native-platform-freebsd-amd64-libstdcpp-0.14.jar
-rw-r--r--  1 root  wheel  18885 Mar  9 03:15 gradle-4.0/lib/native-platform-freebsd-i386-libcpp-0.14.jar
-rw-r--r--  1 root  wheel  16356 Mar  9 03:15 gradle-4.0/lib/native-platform-freebsd-i386-libstdcpp-0.14.jar

[root@nostromo /tmp]# unzip gradle-4.0/lib/native-platform-freebsd-amd64-libstdcpp-0.14.jar
Archive:  gradle-4.0/lib/native-platform-freebsd-amd64-libstdcpp-0.14.jar
   creating: META-INF/
 extracting: META-INF/MANIFEST.MF  
   creating: net/
   creating: net/rubygrapefruit/
   creating: net/rubygrapefruit/platform/
   creating: net/rubygrapefruit/platform/freebsd-amd64-libstdcpp/
 extracting: net/rubygrapefruit/platform/freebsd-amd64-libstdcpp/libnative-platform-curses.so  
 extracting: net/rubygrapefruit/platform/freebsd-amd64-libstdcpp/libnative-platform.so  

[root@nostromo /tmp]# ldd net/rubygrapefruit/platform/freebsd-amd64-libstdcpp/libnative-platform.so
net/rubygrapefruit/platform/freebsd-amd64-libstdcpp/libnative-platform.so:
	libstdc++.so.6 => not found (0)
	libm.so.5 => /lib/libm.so.5 (0x801000000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80122d000)
	libc.so.7 => /lib/libc.so.7 (0x800825000)

So it's still linked with libstdc++.so.6. Am I doing something wrong?
Also if I remove additionally installed lang/gcc or misc/compat9x (they provide libstdc++.so.6) gradle-4.0 fails to work

I don't know what its status is in the ports tree.

Status is gradle still depends on libstdc++.so.6

@timp87
Copy link

timp87 commented Jun 30, 2017

Sorry, disregard my last posts

uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Apr 1, 2021
Gradle uses native-platform which has compiled its native component
with g++, and requires that libstdc++.so.6 is available. See
gradle/native-platform#8.

PR:		208471
MFH:		r418287
Submitted by:	Tobias Kortkamp <t@tobik.me>
Approved by:	portmgr
svmhdvn pushed a commit to svmhdvn/freebsd-ports that referenced this issue Jan 10, 2024
Gradle uses native-platform which has compiled its native component
with g++, and requires that libstdc++.so.6 is available. See
gradle/native-platform#8.

PR:		208471
MFH:		2016Q3
Submitted by:	Tobias Kortkamp <t@tobik.me>
Approved by:	gasol.wu@gmail.com (maintainer timeout)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants