我正在尝试在 Solaris 10 中构建 openjdk 8。[更新 10]
/etc/release:
Oracle Solaris 10 8/11 s10x_u10wos_17b X86
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Assembled 23 August 2011
按照https://hg.openjdk.java.net/jdk8u/jdk8u/raw-file/tip/README-builds.html构建openjdk 8.hotspot、corba、langtools、jaxp、jaxws构建成功。构建jdk时,出现以下错误。
## Starting jdk
Undefined first referenced
symbol in file
__xargv /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
__xargc /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
ld: fatal: symbol referencing errors. No output written to /export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/idlj
gmake[2]: *** [/export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/idlj] Error 2
gmake[2]: *** Waiting for unfinished jobs....
Undefined first referenced
symbol in file
__xargv /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
__xargc /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
Undefined first referenced
symbol in file
__xargv /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
__xargc /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
ld: fatal: symbol referencing errors. No output written to /export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/objs/java_objs/java
ld: fatal: symbol referencing errors. No output written to /export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/jar
Undefined first referenced
symbol in file
__xargv /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
__xargc /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
ld: fatal: symbol referencing errors. No output written to /export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/extcheck
gmake[2]: *** [/export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/objs/java_objs/java] Error 2
gmake[2]: *** [/export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/jar] Error 2
Undefined first referenced
symbol in file
__xargv /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
__xargc /opt/solarisstudio12.4/lib/compilers/crt1x.o (symbol has no version assigned)
ld: fatal: symbol referencing errors. No output written to /export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/appletviewer
gmake[2]: *** [/export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/extcheck] Error 2
gmake[2]: *** [/export/home/preethi/check8/build/solaris-x86-normal-server-release/jdk/bin/appletviewer] Error 2
gmake[1]: *** [launchers-only] Error 2
gmake: *** [jdk-only] Error 2
当我在网上搜索时,我发现了这个线程:C++11 in Solaris 10
如前所述,我正确设置了所有设置:
1) shown ld path as /usr/ccs/bin/ld
2) vi /opt/solarisstudio12.4/lib/compilers/CC-gcc/gcc_version.map
$mapfile_version 2
3) /usr/ccs/bin/ld -V
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1514
4) /etc/release:
Oracle Solaris 10 8/11 s10x_u10wos_17b X86
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Assembled 23 August 2011
https://holtstrom.com/michael/blog/post/446/Shared-Library-Symbol-Conflicts-%28on-Solaris%29.html解释了有关在 solaris 中的链接。但不幸的是,我无法在 openjdk 源代码中更改顺序。我找不到有关此的任何其他线程。请帮我解决这个问题。注意:我没有足够的声誉(50)来评论上面的 stackoverflow 线程。那么为什么要创建单独的线程。