Re: Build issues on Ubuntu 16.04, 17.10 and 18.04-daily inside Docker
We ought to get a fix for JDK-8189689 in sooner rather than later to allow builds to continue to work on newer versions of gcc. Maybe right after the JDK 10 RDP1 fork would be a good time. As for the other error (the one from ant), you need 'ant' in your path in order to build the apps. ant 1.8.2 is what we use (we had some problems with 1.9 based versions, but I don't recall specifically if that was something in the apps build that was failing). It's clear from the various build problems that folks are having, that the build instructions on the Wiki needs updating. I can take a stab at that after the JDK 10 RDP1 deadline has passed. If anyone wants to share their build problems, I can see about incorporating that into the Wiki. -- Kevin Laurent Bourgès wrote: Hi, My 2 cents: I reported a JavaFX build problem with GCC 6: https://bugs.openjdk.java.net/browse/JDK-8189689 It gives a workaround for the wait() bug: wait(); Laurent 2017-12-06 10:43 UTC+01:00, Karl-Philipp Richter: Hi, I'm experiencing the following issues when building OpenJFX following https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX inside Ubuntu Docker images `ubuntu:[version]` which are official and as empty as possible. Afaik the build instructions or the supported list of OS is quite old (only Ubuntu LTS version 14.04 and 16.04 are still supported and up-to-date 17.10 and 18.04-daily are left out of the picture). My motivation here is to improve the build process of OpenJFX, but not only me alone. You might have you own CI, but in case you agree that the following are real issues, I can only recommend GitLab CI (your own instance or the one at gitlab.com) which allows to test whether build instructions are working on any docker image you can image and can be used parallel to existing infrastructure. I used it now to allow you to reproduce the issues as easily as possible: For `ubuntu:14.04` and `ubuntu:16.04` I get: [ant:taskdef] Could not load definitions from resource com/sun/javafx/tools/ant/antlib.xml. It could not be found. :apps:appsJarLinux FAILED FAILURE: Build failed with an exception. * Where: Build file '/builds/krichter/openjfx-8u-dev-rt/build.gradle' line: 3241 * What went wrong: Execution failed for task ':apps:appsJarLinux'. > The following error occurred while executing this line: /builds/krichter/openjfx-8u-dev-rt/apps/samples/build.xml:14: The following error occurred while executing this line: /builds/krichter/openjfx-8u-dev-rt/apps/samples/Ensemble8/build.xml:158: Problem: failed to create task or type javafx:com.sun.javafx.tools.ant:application Cause: The name is undefined. Action: Check the spelling. Action: Check that any custom tasks/types have been declared. Action: Check that any / declarations have taken place. No types or tasks have been defined in this namespace yet For `ubuntu:17.10` and `ubuntu:18.04` I get: :fxpackager:compileLinuxLibrary/builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:130:9: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] "jre/lib/"JAVAARCH"/client/libjvm.so"; ^ /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:134:13: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] "jre/lib/"JAVAARCH"/server/libjvm.so"; ^ /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:139:13: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] "lib/"JAVAARCH"/server/libjvm.so"; ^ /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:144:13: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] "lib/"JAVAARCH"/server/libjvm.so"; ^ /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:189:16: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] _T("/lib/"JAVAARCH"/client/libjvm.so"); ^ /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:193:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] _T("/lib/"JAVAARCH"/server/libjvm.so"); ^ /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp: In member function 'virtual bool PosixProcess::Wait()':
Re: Build issues on Ubuntu 16.04, 17.10 and 18.04-daily inside Docker
Hi, My 2 cents: I reported a JavaFX build problem with GCC 6: https://bugs.openjdk.java.net/browse/JDK-8189689 It gives a workaround for the wait() bug: wait(); Laurent 2017-12-06 10:43 UTC+01:00, Karl-Philipp Richter: > Hi, > I'm experiencing the following issues when building OpenJFX following > https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX inside > Ubuntu Docker images `ubuntu:[version]` which are official and as empty > as possible. Afaik the build instructions or the supported list of OS is > quite old (only Ubuntu LTS version 14.04 and 16.04 are still supported > and up-to-date 17.10 and 18.04-daily are left out of the picture). My > motivation here is to improve the build process of OpenJFX, but not only > me alone. You might have you own CI, but in case you agree that the > following are real issues, I can only recommend GitLab CI (your own > instance or the one at gitlab.com) which allows to test whether build > instructions are working on any docker image you can image and can be > used parallel to existing infrastructure. I used it now to allow you to > reproduce the issues as easily as possible: > > For `ubuntu:14.04` and `ubuntu:16.04` I get: > > [ant:taskdef] Could not load definitions from resource > com/sun/javafx/tools/ant/antlib.xml. It could not be found. > :apps:appsJarLinux FAILED > > FAILURE: Build failed with an exception. > > * Where: > Build file '/builds/krichter/openjfx-8u-dev-rt/build.gradle' line: 3241 > > * What went wrong: > Execution failed for task ':apps:appsJarLinux'. > > The following error occurred while executing this line: > /builds/krichter/openjfx-8u-dev-rt/apps/samples/build.xml:14: The > following error occurred while executing this line: > > /builds/krichter/openjfx-8u-dev-rt/apps/samples/Ensemble8/build.xml:158: > Problem: failed to create task or type > javafx:com.sun.javafx.tools.ant:application > Cause: The name is undefined. > Action: Check the spelling. > Action: Check that any custom tasks/types have been declared. > Action: Check that any / declarations have > taken place. > No types or tasks have been defined in this namespace yet > > For `ubuntu:17.10` and `ubuntu:18.04` I get: > > > :fxpackager:compileLinuxLibrary/builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:130:9: > warning: invalid suffix on literal; C++11 requires a space between > literal and string macro [-Wliteral-suffix] > "jre/lib/"JAVAARCH"/client/libjvm.so"; > ^ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:134:13: > warning: invalid suffix on literal; C++11 requires a space between > literal and string macro [-Wliteral-suffix] > "jre/lib/"JAVAARCH"/server/libjvm.so"; > ^ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:139:13: > warning: invalid suffix on literal; C++11 requires a space between > literal and string macro [-Wliteral-suffix] > "lib/"JAVAARCH"/server/libjvm.so"; > ^ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:144:13: > warning: invalid suffix on literal; C++11 requires a space between > literal and string macro [-Wliteral-suffix] > "lib/"JAVAARCH"/server/libjvm.so"; > ^ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:189:16: > warning: invalid suffix on literal; C++11 requires a space between > literal and string macro [-Wliteral-suffix] > _T("/lib/"JAVAARCH"/client/libjvm.so"); > ^ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/LinuxPlatform.cpp:193:20: > warning: invalid suffix on literal; C++11 requires a space between > literal and string macro [-Wliteral-suffix] > _T("/lib/"JAVAARCH"/server/libjvm.so"); > ^ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp: > In member function 'virtual bool PosixProcess::Wait()': > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp:235:5: > error: 'wait' was not declared in this scope > wait(); > ^~~~ > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp:235:5: > note: suggested alternative: 'Wait' > wait(); > ^~~~ > Wait > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/Java.cpp: > In destructor 'JavaClass::~JavaClass()': > > /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/Java.cpp:237:46: > warning: throw