标题翻译
openJDK build on solaris 10: Format error: shdr table truncated
问题
我正在尝试在Solaris 10中构建openJDK8。
Solaris:
uname -a
o/p:SunOS xxxx 5.10 Generic_148889-05 i86pc i386 i86pc
我按照https://hg.openjdk.java.net/jdk8u/jdk8u/raw-file/tip/README-builds.html#solaris中提到的步骤进行操作。
安装了构建openJDK所需的必要软件包,如Mercurial、gmake、freetype、cups和来自openCSW的xRender。
我从Mercurials下载了jdk8的源代码。
运行bash ./configure成功。在此之后,当我运行gmake all时,出现以下错误。
Making libjvm_db.so
Opening 'libjvm_db.so' for update
No SHF_ALLOC flags needed to be cleared.
Done with 'libjvm_db.so'
Computing CRC for 'libjvm_db.debuginfo'
Opening 'libjvm_db.so' for update
Adding ELF data for new section name
Adding ELF data for debug_info_path value
Saving updates to 'libjvm_db.so'
Done updating 'libjvm_db.so'
/usr/ccs/bin/nm: g1CollectedHeap.o: Format error: shdr table truncated
ld: warning: symbol '__JvmOffsets' has differing types:
(file JvmOffsets.o type=OBJT; file dtrace.o type=FUNC);
ld: warning: symbol 'CodeCache::_heap' has differing types:
(file codeCache.o type=OBJT; file dtrace.o type=FUNC);
ld: warning: symbol 'BufferBlob::__vtbl' has differing types:
(file codeBlob.o type=OBJT; file dtrace.o type=FUNC);
ld: fatal: file g1CollectedHeap.o: Format error: shdr table truncated
ld: fatal: file processing errors. No output written to libjvm.so
gmake[6]: *** [libjvm.so] Error 2
gmake[5]: *** [the_vm] Error 2
gmake[4]: *** [product] Error 2
gmake[3]: *** [generic_build2] Error 2
gmake[2]: *** [product] Error 2
gmake[1]: *** [/export/home/openjdk/build/solaris-x86_64-normal-server-release/hotspot/_hotspot.timestamp] Error 2
gmake: *** [hotspot-only] Error 2
有谁能指出如何解决这个错误。
英文翻译
I am trying to build openJDK8 in Solaris 10.
Solaris:
uname -a
o/p: SunOS xxxx 5.10 Generic_148889-05 i86pc i386 i86pc
I followed the steps mentioned in https://hg.openjdk.java.net/jdk8u/jdk8u/raw-file/tip/README-builds.html#solaris
Installed necessary packages to build openJDK such as Mercurial, gmake, freetype, cups and xRender from openCSW.
I've downloaded jdk8 from Mercurials and got source.
bash ./configure is success. After that when i run gmake all getting below error.
Making libjvm_db.so
Opening 'libjvm_db.so' for update
No SHF_ALLOC flags needed to be cleared.
Done with 'libjvm_db.so'
Computing CRC for 'libjvm_db.debuginfo'
Opening 'libjvm_db.so' for update
Adding ELF data for new section name
Adding ELF data for debug_info_path value
Saving updates to 'libjvm_db.so'
Done updating 'libjvm_db.so'
/usr/ccs/bin/nm: g1CollectedHeap.o: Format error: shdr table truncated
ld: warning: symbol '__JvmOffsets' has differing types:
(file JvmOffsets.o type=OBJT; file dtrace.o type=FUNC);
ld: warning: symbol 'CodeCache::_heap' has differing types:
(file codeCache.o type=OBJT; file dtrace.o type=FUNC);
ld: warning: symbol 'BufferBlob::__vtbl' has differing types:
(file codeBlob.o type=OBJT; file dtrace.o type=FUNC);
ld: fatal: file g1CollectedHeap.o: Format error: shdr table truncated
ld: fatal: file processing errors. No output written to libjvm.so
gmake[6]: *** [libjvm.so] Error 2
gmake[5]: *** [the_vm] Error 2
gmake[4]: *** [product] Error 2
gmake[3]: *** [generic_build2] Error 2
gmake[2]: *** [product] Error 2
gmake[1]: *** [/export/home/openjdk/build/solaris-x86_64-normal-server-release/hotspot/_hotspot.timestamp] Error 2
gmake: *** [hotspot-only] Error 2
Can anyone point out how to resolve this error.
专注分享java语言的经验与见解,让所有开发者获益!
评论