Build issues on Ubuntu 16.04, 17.10 and 18.04-daily inside Docker

Kevin Rushforth kevin.rushforth at oracle.com
Wed Dec 6 18:10:54 UTC 2017


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(&status);
>
> Laurent
>
> 2017-12-06 10:43 UTC+01:00, Karl-Philipp Richter <krichter at posteo.de>:
>   
>> 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 <presetdef>/<macrodef> 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 will always call terminate() [-Wterminate]
>>              throw JavaException(FEnv, _T("Error"));
>>                                                   ^
>>
>> /builds/krichter/openjfx-8u-dev-rt/modules/fxpackager/src/main/native/library/common/Java.cpp:237:46:
>> note: in C++11 destructors default to noexcept
>>      FAILED
>>
>>     FAILURE: Build failed with an exception.
>>
>>     * What went wrong:
>>     Execution failed for task ':fxpackager:compileLinuxLibrary'.
>>     > Could not call NativeCompileTask.compile() on task
>> ':fxpackager:compileLinuxLibrary'
>>
>> Details and complete build logs can be found at
>> https://gitlab.com/krichter/openjfx-8u-dev-rt/pipelines/14781176. The
>> build script `.gitlab-ci.yml` contains the commands used to build.
>>
>> -Kalle
>>
>>
>>     
>
>
>   


More information about the openjfx-dev mailing list