JDK-8210216 : Build of 8u-dev fails on 32-bit Linux after fix for JDK-8207159
  • Type: Bug
  • Component: javafx
  • Sub-Component: web
  • Affected Version: 8u202
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2018-08-30
  • Updated: 2018-10-26
  • Resolved: 2018-09-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8u202 b01Fixed
Related Reports
Relates :  
Description
JDK-8207159 was recently backported to 8u-dev to update the ICU library. The 32-bit Linux build is now failing as a result:

[100%] Linking CXX shared library ../../lib/libjfxwebkit.so
.../gcc-7.3.0-linux-x86/bin/../lib/gcc/x86_64-unknown-linux-gnu/7.3.0/../../../../x86_64-unknown-linux-gnu/bin/ld.gold: error: ../../lib/libicudata.a(../../lib/../Source/ThirdParty/icu/CMakeFiles/icudata.dir/__/__/__/icu/data/icudt62l_dat.S.o): incompatible target
../../lib/libicuuc.a(../../lib/../Source/ThirdParty/icu/CMakeFiles/icuuc.dir/source/common/udata.cpp.o):udata.cpp:function doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) [clone .constprop.9]: error: undefined reference to 'icudt62_dat'
collect2: error: ld returned 1 exit status
gmake[2]: *** [lib/libjfxwebkit.so] Error 1
gmake[1]: *** [Source/WebCore/CMakeFiles/JFXWebKit.dir/all] Error 2
gmake: *** [all] Error 2
Process 'command 'perl'' finished with exit value 2 (state: FAILED)
:web:compileNativeLinux FAILED

Comments
Not Verified: SQE does not verify build related fixes
26-10-2018

Changeset: bbd927ed6f2f Author: arajkumar Date: 2018-09-02 23:06 +0530 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/bbd927ed6f2f 8210216: Build of 8u-dev fails on 32-bit Linux after fix for JDK-8207159 Reviewed-by: kcr
02-09-2018

Here is the fix for the build failure., diff -r e594cf4f5334 build.gradle --- a/build.gradle Wed Aug 29 08:38:01 2018 -0700 +++ b/build.gradle Fri Aug 31 14:10:27 2018 +0530 @@ -2606,7 +2606,7 @@ def lFlags = webkitProperties.linkFlags?.join(' ') ?: '' // -shared flag should be omitted while creating executable. def exeFlags = webkitProperties.linkFlags?.join(' ')?.replace('-shared', '') ?: '' - cmakeArgs = "$cmakeArgs -DCMAKE_C_FLAGS='${cFlags}' -DCMAKE_CXX_FLAGS='${cFlags}'" + cmakeArgs = "$cmakeArgs -DCMAKE_C_FLAGS='${cFlags}' -DCMAKE_CXX_FLAGS='${cFlags}' -DCMAKE_ASM_FLAGS='${cFlags}'" cmakeArgs = "$cmakeArgs -DCMAKE_SHARED_LINKER_FLAGS='${lFlags}' -DCMAKE_EXE_LINKER_FLAGS='${exeFlags}'" } else if (t.name.startsWith("arm")) { fail("ARM target is not supported as of now.")
31-08-2018

+1
31-08-2018

My bad for not testing it on 32 bit linux. Root cause: ICU data file is compiled to 64-bit compatible object file on 32 bit. Solution: CMAKE_ASM_FLAGS has to have "-m32"
31-08-2018