-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b47
-
solaris
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8082044 | emb-9 | Erik Joelsson | P3 | Resolved | Fixed | b47 |
When I tried using the new Solaris10u10 based devkit for building jdk9/dev, the build failed with the following error:
/opt/jprt/products/P1/SS12u3-Solaris10u10/SS12u3-Solaris10u10/SS12u3-slim/bin/cc -I/opt/jprt/products/P1/SS12u3-Solaris10u10/SS12u3-Solaris10u10/sysroot/usr/include -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS -DcpuIntel -Di586 -Damd64 -D_LITTLE_ENDIAN= -DSOLARIS -DARCH='"amd64"' -Damd64 -DNDEBUG -DTRIMMED -DRELEASE='"1.9.0-internal"' -I/opt/jprt/T/P1/134342.erik/s/jdk/src/java.base/share/native/include -I/opt/jprt/T/P1/134342.erik/s/jdk/src/java.base/solaris/native/include -I/opt/jprt/T/P1/134342.erik/s/jdk/src/java.base/unix/native/include -m64 -D__solaris__ -erroff=E_BAD_PRAGMA_PACK_VALUE -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal -KPIC -xstrconst -I/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto -xO2 -Wu,-O2~yz -xregs=no%frameptr -DTHIS_FILE='"nativeCrypto.c"' -c -xMMD -xMF /opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.d.tmp -o /opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.o /opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c
Lib-jdk.crypto.ucrypto.gmk:34: recipe for target '/opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.o' failed
gmake[3]: Leaving directory '/opt/jprt/T/P1/134342.erik/s/make'
Main.gmk:163: recipe for target 'jdk.crypto.ucrypto-libs' failed
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 181: undefined symbol: CK_AES_CTR_PARAMS
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 182: syntax error before or at: )
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 185: syntax error before or at: )
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 186: syntax error before or at: )
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 213: undefined symbol: CK_AES_CTR_PARAMS
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 213: syntax error before or at: )
cc: acomp failed for /opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c
gmake[3]: *** [/opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.o] Error 2
gmake[2]: *** [jdk.crypto.ucrypto-libs] Error 2
gmake[2]: *** Waiting for unfinished jobs....
The problem seems to be that -I/opt/jprt/products/P1/SS12u3-Solaris10u10/SS12u3-Solaris10u10/sysroot/usr/include is the first parameter, effectively overriding all other -I options. The source of this option is SYSROOT_CFLAGS. I think the proper fix is to change make/common/NativeCompilation.gmk and move SYSROOT_CFLAGS last on the compile command line. The same should be done for SYSROOT_LDFLAGS, but there it should just be moved to after the other LDFLAGS, but still before all the LIBS and SUFFIX variables.
/opt/jprt/products/P1/SS12u3-Solaris10u10/SS12u3-Solaris10u10/SS12u3-slim/bin/cc -I/opt/jprt/products/P1/SS12u3-Solaris10u10/SS12u3-Solaris10u10/sysroot/usr/include -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS -DcpuIntel -Di586 -Damd64 -D_LITTLE_ENDIAN= -DSOLARIS -DARCH='"amd64"' -Damd64 -DNDEBUG -DTRIMMED -DRELEASE='"1.9.0-internal"' -I/opt/jprt/T/P1/134342.erik/s/jdk/src/java.base/share/native/include -I/opt/jprt/T/P1/134342.erik/s/jdk/src/java.base/solaris/native/include -I/opt/jprt/T/P1/134342.erik/s/jdk/src/java.base/unix/native/include -m64 -D__solaris__ -erroff=E_BAD_PRAGMA_PACK_VALUE -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal -KPIC -xstrconst -I/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto -xO2 -Wu,-O2~yz -xregs=no%frameptr -DTHIS_FILE='"nativeCrypto.c"' -c -xMMD -xMF /opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.d.tmp -o /opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.o /opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c
Lib-jdk.crypto.ucrypto.gmk:34: recipe for target '/opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.o' failed
gmake[3]: Leaving directory '/opt/jprt/T/P1/134342.erik/s/make'
Main.gmk:163: recipe for target 'jdk.crypto.ucrypto-libs' failed
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 181: undefined symbol: CK_AES_CTR_PARAMS
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 182: syntax error before or at: )
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 185: syntax error before or at: )
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 186: syntax error before or at: )
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 213: undefined symbol: CK_AES_CTR_PARAMS
"/opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c", line 213: syntax error before or at: )
cc: acomp failed for /opt/jprt/T/P1/134342.erik/s/jdk/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c
gmake[3]: *** [/opt/jprt/T/P1/134342.erik/s/build/solaris-x86_64-normal-server-release/jdk/objs/libj2ucrypto/nativeCrypto.o] Error 2
gmake[2]: *** [jdk.crypto.ucrypto-libs] Error 2
gmake[2]: *** Waiting for unfinished jobs....
The problem seems to be that -I/opt/jprt/products/P1/SS12u3-Solaris10u10/SS12u3-Solaris10u10/sysroot/usr/include is the first parameter, effectively overriding all other -I options. The source of this option is SYSROOT_CFLAGS. I think the proper fix is to change make/common/NativeCompilation.gmk and move SYSROOT_CFLAGS last on the compile command line. The same should be done for SYSROOT_LDFLAGS, but there it should just be moved to after the other LDFLAGS, but still before all the LIBS and SUFFIX variables.
- backported by
-
JDK-8082044 Solaris build fails with new 10u10 devkit
-
- Resolved
-