编译hotspot时出现的错误,求高手解答!

忍苦 2017-08-26 11:07:03
最近在阅读周志明的《深入理解JAVA虚拟机》,在第一章的时候成功的编译了openjdk,但是接下来编译hotspot的时候出现了一些些问题~。本人使用virtualbox的虚拟ubuntu系统进行编译的。

这是我的shell脚本
#!/bin/bash
export LANG=C
export ALT_BOOTDIR=/usr/java/jdk1.6.0_45
export ALLOW_DOWNLOADS=true
export ALT_OUTPUTDIR=/usr/jvmbuild
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
BUILD_DEPLOY=false
BUILD_INSTALL=false
export ALT_OUTPUTDIR=/usr/jvmbuild
unset CLASSPATH
unset JAVA_HOME
cd make
DEBUG_BINARIES=true make jvmg jvmg1

然后再编译的过程中,出现的错误如下
rm -f libjvm.so.1; ln -s libjvm.so libjvm.so.1; \
[ -f libjvm_g.so ] || { ln -s libjvm.so libjvm_g.so; ln -s libjvm.so.1 libjvm_g.so.1; }; \
if [ \"\" = \"\" ] ; then \
if [ -x /usr/sbin/selinuxenabled ] ; then \
/usr/sbin/selinuxenabled; \
if [ $? = 0 ] ; then \
/usr/bin/chcon -t textrel_shlib_t libjvm.so; \
if [ $? != 0 ]; then \
echo "ERROR: Cannot chcon libjvm.so"; \
fi \
fi \
fi \
fi \
}
Linking vm...
heapRegionSet.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
/usr/bin/objcopy --only-keep-debug libjvm.so libjvm.debuginfo
/usr/bin/objcopy: 'libjvm.so': No such file
make[4]: *** [libjvm.so] Error 1
make[4]: Leaving directory `/usr/jvmbuild/linux_i486_compiler1/jvmg'
make[3]: *** [the_vm] Error 2
make[3]: Leaving directory `/usr/jvmbuild/linux_i486_compiler1/jvmg'
make[2]: *** [jvmg1] Error 2
make[2]: Leaving directory `/usr/jvmbuild'
make[1]: *** [generic_build1] Error 2
make[1]: Leaving directory `/openjdk/hotspot/make'
make: *** [jvmg1] Error 2
查了一下貌似是所谓的文件阻断?然后导致找不到libjvm.so?这个应该怎么解决呢?请求各路大神~
...全文
300 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧