先说下环境:
ubuntu
bootstrap jdk是sun的1.8版本
使用的设置环境脚本:
#!/usr/bin/env bash #语言选项,这个必须设置,否则编译好后会出现一个HashTable的NPE错 export LANG=C #Bootstrap JDK的安装路径。必须设置。 export ALT_BOOTDIR=/usr/lib/jdk/jdk8 #允许自动下载依赖 export ALLOW_DOWNLOADS=true #并行编译的线程数,设置为和CPU内核数量一致即可 export HOTSPOT_BUILD_JOBS=4 export ALT_PARALLEL_COMPILE_JOBS=4 #比较本次build出来的映像与先前版本的差异。这个对我们来说没有意义,必须设置为false,否则sanity检查会报缺少先前版本JDK的映像。如果有设置dev或者DEV_ONLY=true的话这个不显式设置也行。 export SKIP_COMPARE_IMAGES=true #使用预编译头文件,不加这个编译会更慢一些 export USE_PRECOMPILED_HEADER=true #要编译的内容 export BUILD_LANGTOOLS=true #export BUILD_JAXP=false #export BUILD_JAXWS=false #export BUILD_CORBA=false export BUILD_HOTSPOT=true export BUILD_JDK=true #要编译的版本 #export SKIP_DEBUG_BUILD=false #export SKIP_FASTDEBUG_BUILD=true #export DEBUG_NAME=debug #把它设置为false可以避开javaws和浏览器Java插件之类的部分的build。 BUILD_DEPLOY=false #把它设置为false就不会build出安装包。因为安装包里有些奇怪的依赖,但即便不build出它也已经能得到完整的JDK映像,所以还是别build它好了。 BUILD_INSTALL=false #编译结果所存放的路径 export ALT_OUTPUTDIR=/home/dream/jvm/build #这两个环境变量必须去掉,不然会有很诡异的事情发生(我没有具体查过这些“”诡异的事情”,Makefile脚本检查到有这2个变量就会提示警告“) unset JAVA_HOME unset CLASSPATH make 2>&1 | tee $ALT_OUTPUTDIR/build.log
编译报错:
build-bootstrap-javac: [javac] Compiling 111 source files to /home/dream/jvm/build/langtools/build/bootstrap/classes [javac] /home/dream/jvm/openjdk/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java:2182: warning: [overrides] Class Resolve.InapplicableSymbolsError.Candidate overrides equals, but neither it nor any superclass overrides hashCode method [javac] private class Candidate { [javac] ^ [javac] error: warnings found and -Werror specified [javac] 1 error [javac] 1 warning BUILD FAILED /home/dream/jvm/openjdk/langtools/make/build.xml:452: The following error occurred while executing this line: /home/dream/jvm/openjdk/langtools/make/build.xml:795: Compile failed; see the compiler error output for details.
ubuntu16.04自带openjdk8,别编译了我不是要编译了自己用,我要编译JVM然后学习用==
Lz解决了吗??
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。