- 浏览: 734493 次
- 性别:
- 来自: 嘉兴
文章分类
- 全部博客 (386)
- Struts1.1 (2)
- Database (18)
- Core Java (15)
- Log4j (4)
- SSH (0)
- Dao (1)
- Architecture Design (1)
- References (2)
- Eclipse&MyEclipse (10)
- Hibernate (7)
- Spring (8)
- JavaMail (1)
- Data Structure And Algorithm (48)
- Struts 2 (2)
- SSI (1)
- SSL (2)
- JSTL (1)
- EJB3 (2)
- NET (2)
- XML (2)
- Components (2)
- Ant (3)
- Multi Thread (1)
- Performance Monitoring (1)
- Web Server (17)
- Oracle (1)
- jQuery (8)
- Regular Expression (1)
- Weblogic (1)
- Exception (1)
- Security (2)
- File Manipulation (1)
- JavaScript (12)
- JVM (2)
- HTML&DIV&CSS (4)
- Android (10)
- Beyond GFW (0)
- Business (0)
- SVN (6)
- 虚拟主机 (1)
- Virtual Host (3)
- My mentality (5)
- OS (15)
- ISPMP (3)
- Magento (5)
- Jsoup&HttpClient (7)
- LINUX (9)
- Database Design (0)
- Power Designer (1)
- TaobaoOpenPlatform (2)
- C/C++ (3)
- Maven (11)
- Quartz (1)
- Load Balance (1)
- Zabbix (4)
- Product&Business (1)
- Pay Interface (1)
- Tomcat (2)
- Redis (1)
- 集群 (1)
- Session (1)
- 共享Session (1)
- Jedis (1)
- jenkins (1)
- 持续集成 (1)
- Web前端 (1)
最新评论
-
aqq331325797:
特意注册账号上来说一句。牛逼!
swagger2.2.2 与 spring cloud feign冲突 -
KitGavinx:
跨顶级域名怎么保持sessionid一致?
Tomcat7集群共享Session 基于redis进行统一管理 -
jaychang:
dujianqiao 写道HI ,能否给一个完整的demo 啊 ...
淘宝订单同步方案 - 丢单终结者 -
GGGGeek:
找了一会儿,感觉mybatis应该没有这种操作,直到发现博主的 ...
mybatis collection list string -
dujianqiao:
HI ,能否给一个完整的demo 啊 ?
淘宝订单同步方案 - 丢单终结者
编译openjdk7
sudo apt-get install libfreetype6-dev
注释openjdk/hotspot/make/linux/Makefile文件的以下内容,
check_os_version: #ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),) # $(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1; #endif
否则会报以下错误:
make[6]: Entering directory `/opt/openjdk/build-debug/hotspot/outputdir' >&2 echo "*** This OS is not supported:" `uname -a`; exit 1; *** This OS is not supported: Linux ThinkPad-Edge-E431 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
make sanity的时候,注意在 /etc/profile里配置ANT的bin目录
WARNING: LANG has been set to zh_CN.UTF-8, this can cause build failures. Try setting LANG to 'C'. ERROR: Your CLASSPATH environment variable is set. This will most likely cause the build to fail. Please unset it and start your build again. ERROR: Your JAVA_HOME environment variable is set. This will most likely cause the build to fail. Please unset it and start your build again. Exiting because of the above error(s). make: *** [post-sanity] 错误 1 root@ThinkPad-Edge-E431:/opt/openjdk# unset JAVA_HOME root@ThinkPad-Edge-E431:/opt/openjdk# unset CLASSPATH root@ThinkPad-Edge-E431:/opt/openjdk# make sanity
后来又碰到问题 还没解决:
Note: Recompile with -Xlint:unchecked for details. /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/hasher.jar /opt/openjdk/build/../build-debug/btclasses/hasher_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/hasher \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/hasher.jar ========================================================= BUILDTOOL: hasher PACKAGE: build.tools.hasher BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.hasher.Hasher BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/hasher.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/hasher_classes' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/jarreorder' /bin/echo -e "Main-Class: build.tools.jarreorder.JarReorder" > /opt/openjdk/build/../build-debug/btclasses/jarreorder_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/jarreorder/JarReorder.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/jarreorder.jar /opt/openjdk/build/../build-debug/btclasses/jarreorder_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/jarreorder \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/jarreorder.jar ========================================================= BUILDTOOL: jarreorder PACKAGE: build.tools.jarreorder BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.jarreorder.JarReorder BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/jarreorder.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/jarreorder' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/jarsplit' /bin/echo -e "Main-Class: build.tools.jarsplit.JarSplit" > /opt/openjdk/build/../build-debug/btclasses/jarsplit_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/jarsplit/JarSplit.java Note: ../../tools/src/build/tools/jarsplit/JarSplit.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/jarsplit.jar /opt/openjdk/build/../build-debug/btclasses/jarsplit_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/jarsplit \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/jarsplit.jar ========================================================= BUILDTOOL: jarsplit PACKAGE: build.tools.jarsplit BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.jarsplit.JarSplit BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/jarsplit.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/jarsplit' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/javazic' /bin/echo -e "Main-Class: build.tools.javazic.Main" > /opt/openjdk/build/../build-debug/btclasses/javazic_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/javazic/Main.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/javazic.jar /opt/openjdk/build/../build-debug/btclasses/javazic_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/javazic \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/javazic.jar ========================================================= BUILDTOOL: javazic PACKAGE: build.tools.javazic BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.javazic.Main BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/javazic.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/javazic' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/jdwpgen' /bin/echo -e "Main-Class: build.tools.jdwpgen.Main" > /opt/openjdk/build/../build-debug/btclasses/jdwpgen_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/jdwpgen/Main.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/jdwpgen.jar /opt/openjdk/build/../build-debug/btclasses/jdwpgen_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/jdwpgen \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/jdwpgen.jar ========================================================= BUILDTOOL: jdwpgen PACKAGE: build.tools.jdwpgen BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.jdwpgen.Main BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/jdwpgen.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/jdwpgen' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/makeclasslist' /bin/echo -e "Main-Class: build.tools.makeclasslist.MakeClasslist" > /opt/openjdk/build/../build-debug/btclasses/makeclasslist_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/makeclasslist/MakeClasslist.java Note: ../../tools/src/build/tools/makeclasslist/MakeClasslist.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/makeclasslist.jar /opt/openjdk/build/../build-debug/btclasses/makeclasslist_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/makeclasslist \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/makeclasslist.jar ========================================================= BUILDTOOL: makeclasslist PACKAGE: build.tools.makeclasslist BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.makeclasslist.MakeClasslist BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/makeclasslist.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/makeclasslist' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/strip_properties' /bin/echo -e "Main-Class: build.tools.stripproperties.StripProperties" > /opt/openjdk/build/../build-debug/btclasses/stripproperties_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/stripproperties/StripProperties.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/stripproperties.jar /opt/openjdk/build/../build-debug/btclasses/stripproperties_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/stripproperties \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/stripproperties.jar ========================================================= BUILDTOOL: stripproperties PACKAGE: build.tools.stripproperties BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.stripproperties.StripProperties BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/stripproperties.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/strip_properties' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/spp' /bin/echo -e "Main-Class: build.tools.spp.Spp" > /opt/openjdk/build/../build-debug/btclasses/spp_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/spp/Spp.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/spp.jar /opt/openjdk/build/../build-debug/btclasses/spp_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/spp \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/spp.jar ========================================================= BUILDTOOL: spp PACKAGE: build.tools.spp BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.spp.Spp BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/spp.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/spp' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/CharsetMapping' /bin/echo -e "Main-Class: build.tools.charsetmapping.Main" > /opt/openjdk/build/../build-debug/btclasses/charsetmapping_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/charsetmapping/Main.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/charsetmapping.jar /opt/openjdk/build/../build-debug/btclasses/charsetmapping_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/charsetmapping \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/charsetmapping.jar ========================================================= BUILDTOOL: charsetmapping PACKAGE: build.tools.charsetmapping BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.charsetmapping.Main BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/charsetmapping.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/CharsetMapping' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/tools/generate_nimbus' /bin/mkdir -p /opt/openjdk/build/../build-debug/btclasses/build/tools/generatenimbus/resources rm -f /opt/openjdk/build/../build-debug/btclasses/build/tools/generatenimbus/resources/Defaults.template /opt/openjdk/build/../build-debug/btclasses/build/tools/generatenimbus/resources/PainterImpl.template /opt/openjdk/build/../build-debug/btclasses/build/tools/generatenimbus/resources/StateImpl.template /bin/cp ../../../src/share/classes/javax/swing/plaf/nimbus/Defaults.template ../../../src/share/classes/javax/swing/plaf/nimbus/PainterImpl.template ../../../src/share/classes/javax/swing/plaf/nimbus/StateImpl.template /opt/openjdk/build/../build-debug/btclasses/build/tools/generatenimbus/resources /bin/echo -e "Main-Class: build.tools.generatenimbus.Generator" > /opt/openjdk/build/../build-debug/btclasses/generatenimbus_manifest.mf /usr/local/jdk1.6/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true -d /opt/openjdk/build/../build-debug/btclasses \ -sourcepath ../../tools/src ../../tools/src/build/tools/generatenimbus/Generator.java ../../tools/src/build/tools/generatenimbus/ObjectFactory.java ../../tools/src/build/tools/generatenimbus/Paint.java ../../tools/src/build/tools/generatenimbus/SynthModel.java ../../tools/src/build/tools/generatenimbus/UIDefault.java ../../tools/src/build/tools/generatenimbus/UIStyle.java /usr/local/jdk1.6/bin/jar cfm /opt/openjdk/build/../build-debug/btjars/generatenimbus.jar /opt/openjdk/build/../build-debug/btclasses/generatenimbus_manifest.mf \ -C /opt/openjdk/build/../build-debug/btclasses build/tools/generatenimbus \ -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m || rm -f /opt/openjdk/build/../build-debug/btjars/generatenimbus.jar ========================================================= BUILDTOOL: generatenimbus PACKAGE: build.tools.generatenimbus BUILDTOOL_SOURCE_ROOT: ../../tools/src BUILTTOOL_MAINCLASS: build.tools.generatenimbus.Generator BUILDTOOL_JAR_FILE: /opt/openjdk/build/../build-debug/btjars/generatenimbus.jar ========================================================= make[5]: Leaving directory `/opt/openjdk/jdk/make/tools/generate_nimbus' Done Processing SUBDIRS: addjsum buildmetaindex commentchecker compile_font_config compile_properties dir_diff dtdbuilder generate_break_iterator GenerateCharacter generatecurrencydata hasher_classes jarreorder jarsplit javazic jdwpgen makeclasslist strip_properties spp CharsetMapping generate_nimbus make[4]: Leaving directory `/opt/openjdk/jdk/make/tools' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[4]: Entering directory `/opt/openjdk/jdk/make/java' Begin Processing SUBDIRS: version jvm redist verify fdlibm java sun_nio jli main zip security math util text net nio jar jexec awt applet beans management npt java_crw_demo java_hprof_demo logging instrument invoke sql rmi INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/java/version' /bin/mkdir -p /opt/openjdk/build/../build-debug/gensrc/sun/misc rm -f /opt/openjdk/build/../build-debug/gensrc/sun/misc/Version.java rm -f /opt/openjdk/build/../build-debug/gensrc/sun/misc/Version.java.temp /bin/sed -e 's/@@launcher_name@@/openjdk/g' \ -e 's/@@java_version@@/1.7.0-internal-debug/g' \ -e 's/@@java_runtime_version@@/1.7.0-internal-debug-root_2017_10_22_12_28-b00/g' \ -e 's/@@java_runtime_name@@/OpenJDK Runtime Environment/g' \ ../../../src/share/classes/sun/misc/Version.java.template > /opt/openjdk/build/../build-debug/gensrc/sun/misc/Version.java.temp make[5]: Leaving directory `/opt/openjdk/jdk/make/java/version' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/java/jvm' /bin/mkdir -p /opt/openjdk/build/../build-debug/include rm -f /opt/openjdk/build/../build-debug/include/jni.h /bin/cp ../../../src/share/javavm/export/jni.h /opt/openjdk/build/../build-debug/include/jni.h /bin/mkdir -p /opt/openjdk/build/../build-debug/include/linux rm -f /opt/openjdk/build/../build-debug/include/linux/jni_md.h /bin/cp ../../../src/solaris/javavm/export/jni_md.h /opt/openjdk/build/../build-debug/include/linux/jni_md.h /bin/mkdir -p /opt/openjdk/build/../build-debug/include rm -f /opt/openjdk/build/../build-debug/include/jvmti.h /bin/cp ../../../src/share/javavm/export/jvmti.h /opt/openjdk/build/../build-debug/include/jvmti.h /bin/mkdir -p /opt/openjdk/build/../build-debug/include rm -f /opt/openjdk/build/../build-debug/include/jvmticmlr.h /bin/cp ../../../src/share/javavm/export/jvmticmlr.h /opt/openjdk/build/../build-debug/include/jvmticmlr.h /bin/mkdir -p /opt/openjdk/build/../build-debug/include rm -f /opt/openjdk/build/../build-debug/include/classfile_constants.h /bin/cp ../../../src/share/javavm/export/classfile_constants.h /opt/openjdk/build/../build-debug/include/classfile_constants.h /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64 rm -f /opt/openjdk/build/../build-debug/lib/amd64/jvm.cfg /bin/cp ../../../src/solaris/bin/amd64/jvm.cfg /opt/openjdk/build/../build-debug/lib/amd64/jvm.cfg make[5]: Leaving directory `/opt/openjdk/jdk/make/java/jvm' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/java/redist' Begin Processing SUBDIRS: fonts sajdi INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[6]: Entering directory `/opt/openjdk/jdk/make/java/redist/fonts' make[6]: Nothing to be done for `all'. make[6]: Leaving directory `/opt/openjdk/jdk/make/java/redist/fonts' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[6]: Entering directory `/opt/openjdk/jdk/make/java/redist/sajdi' ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/sa-jdi.jar /bin/mkdir -p /opt/openjdk/build/../build-debug/lib rm -f /opt/openjdk/build/../build-debug/lib/sa-jdi.jar /bin/cp /opt/openjdk/build-debug/hotspot/import/lib/sa-jdi.jar /opt/openjdk/build/../build-debug/lib/sa-jdi.jar ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/libsaproc.so /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64 rm -f /opt/openjdk/build/../build-debug/lib/amd64/libsaproc.so /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/libsaproc.so /opt/openjdk/build/../build-debug/lib/amd64/libsaproc.so ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/libsaproc.diz /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64 rm -f /opt/openjdk/build/../build-debug/lib/amd64/libsaproc.diz /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/libsaproc.diz /opt/openjdk/build/../build-debug/lib/amd64/libsaproc.diz make[6]: Leaving directory `/opt/openjdk/jdk/make/java/redist/sajdi' Done Processing SUBDIRS: fonts sajdi ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.so /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64/server rm -f /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.so /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/server/libjvm.so /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.so Checking for mapfile use in: /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.so Library loads for: /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.so linux-vdso.so.1 => (0x00002b7a633ad000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00002b7a6482f000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b7a64b35000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b7a64d3a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b7a64f58000) /lib64/ld-linux-x86-64.so.2 (0x000055919936c000) RUNPATH for: /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.so 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2] ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/server/Xusage.txt /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64/server rm -f /opt/openjdk/build/../build-debug/lib/amd64/server/Xusage.txt /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/server/Xusage.txt /opt/openjdk/build/../build-debug/lib/amd64/server/Xusage.txt ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.diz /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64/server rm -f /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.diz /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/server/libjvm.diz /opt/openjdk/build/../build-debug/lib/amd64/server/libjvm.diz ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64 rm -f /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/libjsig.so /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so Checking for mapfile use in: /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so INFO: File was not built with a mapfile: /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so Library loads for: /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so linux-vdso.so.1 => (0x00007fff20b81000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002aac3decb000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002aac3e0cf000) /lib64/ld-linux-x86-64.so.2 (0x000055a6f9082000) RUNPATH for: /opt/openjdk/build/../build-debug/lib/amd64/libjsig.so 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] ASSEMBLY_IMPORT: /opt/openjdk/build/../build-debug/lib/amd64/libjsig.diz /bin/mkdir -p /opt/openjdk/build/../build-debug/lib/amd64 rm -f /opt/openjdk/build/../build-debug/lib/amd64/libjsig.diz /bin/cp /opt/openjdk/build-debug/hotspot/import/jre/lib/amd64/libjsig.diz /opt/openjdk/build/../build-debug/lib/amd64/libjsig.diz /bin/ln -s ../libjsig.so /opt/openjdk/build/../build-debug/lib/amd64/server/libjsig.so /bin/ln -s ../libjsig.debuginfo /opt/openjdk/build/../build-debug/lib/amd64/server/libjsig.debuginfo ( cd /opt/openjdk/build/../build-debug/lib/amd64/server ; \ /usr/bin/zip -y libjsig.diz libjsig.debuginfo ; \ rm -f libjsig.debuginfo ; \ ) adding: libjsig.debuginfo (stored 0%) /usr/local/jdk1.6/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m -jar /opt/openjdk/build/../build-debug/btjars/addjsum.jar \ ../../tools/sharing/classlist.linux /opt/openjdk/build/../build-debug/lib/classlist.temp /bin/mv /opt/openjdk/build/../build-debug/lib/classlist.temp /opt/openjdk/build/../build-debug/lib/classlist if [ "" = "" ] ; then /bin/mkdir -p /opt/openjdk/build/../build-debug/lib ; ( cd /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64 && /bin/cp lib/orb.idl lib/ir.idl /opt/openjdk/build/../build-debug/lib ) ; fi /bin/sh: 1: cd: can't cd to /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64 make[5]: *** [/opt/openjdk/build/../build-debug/tmp/java/components_imported] Error 2 make[5]: Leaving directory `/opt/openjdk/jdk/make/java/redist' make[4]: *** [all] Error 1 make[4]: Leaving directory `/opt/openjdk/jdk/make/java' make[3]: *** [all] Error 1 make[3]: Leaving directory `/opt/openjdk/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/opt/openjdk' make[1]: *** [generic_debug_build] Error 2 make[1]: Leaving directory `/opt/openjdk' make: *** [build_debug_image] Error 2
观察make santity的结果:
root@ThinkPad-Edge-E431:/opt/openjdk# make sanity ( cd ./jdk/make && \ make sanity HOTSPOT_IMPORT_CHECK=false JDK_TOPDIR=/opt/openjdk/jdk JDK_MAKE_SHARED_DIR=/opt/openjdk/jdk/make/common/shared EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 TARGET_CLASS_VERSION=7 MILESTONE=internal BUILD_NUMBER=b00 JDK_BUILD_NUMBER=b00 FULL_VERSION=1.7.0-internal-root_2017_10_22_13_49-b00 PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0 ANT_HOME="/usr/local/ant1.9.4" ALT_OUTPUTDIR=/opt/openjdk/build/linux-amd64 ALT_LANGTOOLS_DIST=/opt/openjdk/build/linux-amd64/langtools/dist ALT_CORBA_DIST=/opt/openjdk/build/linux-amd64/corba/dist ALT_JAXP_DIST=/opt/openjdk/build/linux-amd64/jaxp/dist ALT_JAXWS_DIST=/opt/openjdk/build/linux-amd64/jaxws/dist ALT_HOTSPOT_IMPORT_PATH=/opt/openjdk/build/linux-amd64/hotspot/import BUILD_HOTSPOT=true ; ) INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 /bin/sh: 1: [: Illegal number: /bin/sh: /bin/sh: 1: [: Illegal number: /bin/sh: /bin/sh: 1: [: Illegal number: 1: /bin/sh: 1: [: Illegal number: 1: /bin/sh: 1: [: Illegal number: /NO_BOOTDIR/bin/java: /bin/sh: 1: [: Illegal number: /NO_BOOTDIR/bin/java: /bin/sh: 1: [: Illegal number: Error: /bin/sh: 1: [: Illegal number: Error: /bin/sh: 1: [: Illegal number: JAVA_HOME /bin/sh: 1: [: Illegal number: JAVA_HOME /bin/sh: 1: [: Illegal number: is /bin/sh: 1: [: Illegal number: is make[1]: 正在进入目录 `/opt/openjdk/jdk/make' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[1]:正在离开目录 `/opt/openjdk/jdk/make' Build Machine Information: build machine = ThinkPad-Edge-E431 Build Directory Structure: CWD = /opt/openjdk TOPDIR = . LANGTOOLS_TOPDIR = ./langtools JAXP_TOPDIR = ./jaxp JAXWS_TOPDIR = ./jaxws CORBA_TOPDIR = ./corba HOTSPOT_TOPDIR = ./hotspot JDK_TOPDIR = ./jdk Build Directives: BUILD_LANGTOOLS = true BUILD_JAXP = true BUILD_JAXWS = true BUILD_CORBA = true BUILD_HOTSPOT = true BUILD_JDK = true DEBUG_CLASSFILES = DEBUG_BINARIES = Hotspot Settings: HOTSPOT_BUILD_JOBS = HOTSPOT_OUTPUTDIR = /opt/openjdk/build/linux-amd64/hotspot/outputdir HOTSPOT_EXPORT_PATH = /opt/openjdk/build/linux-amd64/hotspot/import Bootstrap Settings: BOOTDIR = /NO_BOOTDIR ALT_BOOTDIR = BOOT_VER = /bin/sh: 1: /NO_BOOTDIR/bin/java: not found [requires at least 1.6] OUTPUTDIR = /opt/openjdk/build/linux-amd64 ALT_OUTPUTDIR = /opt/openjdk/build/linux-amd64 ABS_OUTPUTDIR = /opt/openjdk/build/linux-amd64 Build Tool Settings: SLASH_JAVA = /NOT-SET ALT_SLASH_JAVA = VARIANT = OPT JDK_DEVTOOLS_DIR = /NOT-SET/devtools ALT_JDK_DEVTOOLS_DIR = ANT_HOME = /usr/local/ant1.9.4 UNIXCOMMAND_PATH = /bin/ ALT_UNIXCOMMAND_PATH = COMPILER_PATH = /usr/bin/ ALT_COMPILER_PATH = DEVTOOLS_PATH = /usr/bin/ ALT_DEVTOOLS_PATH = UNIXCCS_PATH = /usr/ccs/bin/ ALT_UNIXCCS_PATH = USRBIN_PATH = /usr/bin/ ALT_USRBIN_PATH = COMPILER_NAME = GCC4 COMPILER_VERSION = GCC4 CC_VER = 4.8 [requires at least 4.3.0] ZIP_VER = 3.0 [requires at least 2.2] UNZIP_VER = 6.00 [requires at least 5.12] ANT_VER = Error: JAVA_HOME is not defined correctly. We cannot execute /NO_BOOTDIR/bin/java [requires at least 1.7.1] TEMPDIR = /opt/openjdk/build/linux-amd64/tmp Build Directives: OPENJDK = true USE_HOTSPOT_INTERPRETER_MODE = PEDANTIC = DEV_ONLY = NO_DOCS = NO_IMAGES = TOOLS_ONLY = INSANE = COMPILE_APPROACH = parallel PARALLEL_COMPILE_JOBS = 2 ALT_PARALLEL_COMPILE_JOBS = FASTDEBUG = COMPILER_WARNINGS_FATAL = false COMPILER_WARNING_LEVEL = SHOW_ALL_WARNINGS = INCREMENTAL_BUILD = false CC_HIGHEST_OPT = CC_HIGHER_OPT = CC_LOWER_OPT = CXXFLAGS = -O2 -fPIC -DCC_NOEX -W -Wall -Wno-unused -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN CFLAGS = -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN BOOT_JAVA_CMD = /NO_BOOTDIR/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m BOOT_JAVAC_CMD = /NO_BOOTDIR/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true BOOT_JAR_CMD = /NO_BOOTDIR/bin/jar BOOT_JARSIGNER_CMD = /NO_BOOTDIR/bin/jarsigner JAVAC_CMD = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javac -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -source 7 -target 7 -encoding ascii -Xbootclasspath:/opt/openjdk/build/linux-amd64/classes JAVAH_CMD = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javah -bootclasspath /opt/openjdk/build/linux-amd64/classes JAVADOC_CMD = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javadoc -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -bootclasspath /opt/openjdk/build/linux-amd64/classes Build Platform Settings: USER = root PLATFORM = linux ARCH = amd64 LIBARCH = amd64 ARCH_FAMILY = amd64 ARCH_DATA_MODEL = 64 ARCHPROP = amd64 ALSA_VERSION = 1.0.27.2 OS_VERSION = 4.4.0-31-generic [requires at least 2.6] OS_VARIANT_NAME = Ubuntu OS_VARIANT_VERSION = 14.04 MB_OF_MEMORY = 15618 GNU Make Settings: MAKE = make MAKE_VER = 3.81 [requires at least 3.81] MAKECMDGOALS = sanity MAKEFLAGS = w SHELL = /bin/sh Target Build Versions: JDK_VERSION = 1.7.0 MILESTONE = internal RELEASE = 1.7.0-internal FULL_VERSION = 1.7.0-internal-root_2017_10_22_13_49-b00 BUILD_NUMBER = b00 External File/Binary Locations: USRJDKINSTANCES_PATH = /opt/java BUILD_JDK_IMPORT_PATH = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries ALT_BUILD_JDK_IMPORT_PATH = JDK_IMPORT_PATH = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64 ALT_JDK_IMPORT_PATH = LANGTOOLS_DIST = ALT_LANGTOOLS_DIST = /opt/openjdk/build/linux-amd64/langtools/dist CORBA_DIST = ALT_CORBA_DIST = /opt/openjdk/build/linux-amd64/corba/dist JAXP_DIST = ALT_JAXP_DIST = /opt/openjdk/build/linux-amd64/jaxp/dist JAXWS_DIST = ALT_JAXWS_DIST = /opt/openjdk/build/linux-amd64/jaxws/dist HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR ALT_HOTSPOT_DOCS_IMPORT_PATH = HOTSPOT_IMPORT_PATH = /opt/openjdk/build/linux-amd64/hotspot/import ALT_HOTSPOT_IMPORT_PATH = /opt/openjdk/build/linux-amd64/hotspot/import HOTSPOT_SERVER_PATH = /opt/openjdk/build/linux-amd64/hotspot/import/jre/lib/amd64/server ALT_HOTSPOT_SERVER_PATH = CACERTS_FILE = ./../src/share/lib/security/cacerts ALT_CACERTS_FILE = CUPS_HEADERS_PATH = /usr/include ALT_CUPS_HEADERS_PATH = OpenJDK-specific settings: FREETYPE_HEADERS_PATH = /usr/include ALT_FREETYPE_HEADERS_PATH = FREETYPE_LIB_PATH = /usr/lib ALT_FREETYPE_LIB_PATH = Previous JDK Settings: PREVIOUS_RELEASE_PATH = ALT_PREVIOUS_RELEASE_PATH = PREVIOUS_JDK_VERSION = 1.6.0 ALT_PREVIOUS_JDK_VERSION = PREVIOUS_JDK_FILE = ALT_PREVIOUS_JDK_FILE = PREVIOUS_JRE_FILE = ALT_PREVIOUS_JRE_FILE = PREVIOUS_RELEASE_IMAGE = ALT_PREVIOUS_RELEASE_IMAGE = WARNING: LANG has been set to zh_CN.UTF-8, this can cause build failures. Try setting LANG to 'C'. Sanity check passed.
发现有些环境变量的值中存在NOT-SET关键词
对比这位兄弟写的build.sh
https://ayonel.me/index.php/2017/01/05/compile_openjdk/这位兄弟写的还不错
发现,自己这里少配了ALT_JDK_IMPORT_PATH这个环境变量,配上后,果然上述错误就没有了
但是又出现了一个新的错误:
省略。。。 j64_g/TimeZone_md.o /opt/openjdk/build/../build-debug/tmp/java/java.lang/java/obj64_g/FileSystemPreferences.o -L/opt/openjdk/build/../build-debug/lib/amd64/server -ljvm -lverify -ldl -L/opt/openjdk/build/../build-debug/tmp/java/java.lang/java/obj64_g/../../../fdlibm/obj64_g -lfdlibm.amd64 -lc Checking for mapfile use in: /opt/openjdk/build/../build-debug/lib/amd64/libjava.so INFO: File was not built with a mapfile: /opt/openjdk/build/../build-debug/lib/amd64/libjava.so Library loads for: /opt/openjdk/build/../build-debug/lib/amd64/libjava.so linux-vdso.so.1 => (0x00007ffe65aef000) libjvm.so => not found libverify.so => /opt/openjdk/build/../build-debug/lib/amd64/libverify.so (0x00002b39c5ce7000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b39c5efc000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b39c6100000) /lib64/ld-linux-x86-64.so.2 (0x000055f8102ad000) libjvm.so => not found RUNPATH for: /opt/openjdk/build/../build-debug/lib/amd64/libjava.so 0x0000000000000001 (NEEDED) Shared library: [libjvm.so] 0x0000000000000001 (NEEDED) Shared library: [libverify.so] 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN] /bin/mkdir -p /opt/openjdk/build/../build-debug/lib rm -f /opt/openjdk/build/../build-debug/lib/content-types.properties /bin/cp ../../../src/solaris/lib/content-types.properties /opt/openjdk/build/../build-debug/lib/content-types.properties /bin/mkdir -p /opt/openjdk/build/../build-debug/lib rm -f /opt/openjdk/build/../build-debug/lib/calendars.properties /bin/cp ../../../src/share/lib/calendars.properties /opt/openjdk/build/../build-debug/lib/calendars.properties rm -f /opt/openjdk/build/../build-debug/lib/currency.data /usr/local/jdk1.6/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m -jar /opt/openjdk/build/../build-debug/btjars/generatecurrencydata.jar -o /opt/openjdk/build/../build-debug/lib/currency.data.temp \ < ../../../src/share/classes/java/util/CurrencyData.properties Error: time is more than 10 years from present: 1136059200000 java.lang.RuntimeException: time is more than 10 years from present: 1136059200000 at build.tools.generatecurrencydata.GenerateCurrencyData.makeSpecialCaseEntry(GenerateCurrencyData.java:285) at build.tools.generatecurrencydata.GenerateCurrencyData.buildMainAndSpecialCaseTables(GenerateCurrencyData.java:225) at build.tools.generatecurrencydata.GenerateCurrencyData.main(GenerateCurrencyData.java:154) make[5]: *** [/opt/openjdk/build/../build-debug/lib/currency.data] Error 1 make[5]: Leaving directory `/opt/openjdk/jdk/make/java/java' make[4]: *** [all] Error 1 make[4]: Leaving directory `/opt/openjdk/jdk/make/java' make[3]: *** [all] Error 1 make[3]: Leaving directory `/opt/openjdk/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/opt/openjdk' make[1]: *** [generic_debug_build] Error 2 make[1]: Leaving directory `/opt/openjdk' make: *** [build_debug_image] Error 2
看到关键语句:
src/share/classes/java/util/CurrencyData.properties Error: time is more than 10 years from present: 1136059200000
解决办法:
修改CurrencyData.properties(路径:jdk/src/share/classes/java/util/CurrencyData.properties)
修改108行 AZ=AZM;2009-12-31-20-00-00;AZN 修改381行 MZ=MZM;2009-06-30-22-00-00;MZN 修改443行 RO=ROL;2009-06-30-21-00-00;RON 修改535行 TR=TRL;2009-12-31-22-00-00;TRY 修改561行 VE=VEB;2009-01-01-04-00-00;VEF
时间的问题解决了,重新执行./build.sh又发现了一个错误
INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[7]: Entering directory `/opt/openjdk/jdk/make/launchers' ========================================================= LAUNCHER: policytool MAIN_CLASS: sun.security.tools.policytool.PolicyTool ALL_ARGS: -J-ms8m sun.security.tools.policytool.PolicyTool ========================================================= /usr/bin/gcc -g -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -DDEBUG -DLOGGING -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0-internal-debug"' -DFULL_VERSION='"1.7.0-internal-debug-root_2017_10_22_14_06-b00"' -DJDK_MAJOR_VERSION='"1"' -DJDK_MINOR_VERSION='"7"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/opt/openjdk/build/../build-debug/tmp/sun/launcher/policytool/CClassHeaders -I../../src/solaris/javavm/export -I../../src/share/javavm/export -I../../src/share/bin -I../../src/solaris/bin -I../../src/share/native/java/util/zip/zlib-1.1.3 -DMAIN_CLASS='"sun.security.tools.policytool.PolicyTool"' -DJAVA_ARGS='{ "-J-ms8m", "sun.security.tools.policytool.PolicyTool", }' -DLAUNCHER_NAME='"openjdk"' -DPROGNAME='"policytool"' -c -o /opt/openjdk/build/../build-debug/tmp/sun/launcher/policytool/obj64_g/main.o \ -DRELEASE='"1.7.0-internal-debug"' -DFULL_VERSION='"1.7.0-internal-debug-root_2017_10_22_14_06-b00"' -DJDK_MAJOR_VERSION='"1"' -DJDK_MINOR_VERSION='"7"' ../../src/share/bin/main.c Rebuilding /opt/openjdk/build/../build-debug/bin/policytool because of /opt/openjdk/build/../build-debug/tmp/sun/launcher/policytool/obj64_g/main.o /usr/bin/gcc -o /opt/openjdk/build/../build-debug/bin/policytool -Xlinker -version-script=../java/main/java/mapfile-amd64 -Wl,--hash-style=both -Xlinker -z -Xlinker defs -L/opt/openjdk/build/../build-debug/lib/amd64 -Wl,-soname=lib.so -L /opt/openjdk/build/../build-debug/lib/amd64/jli -Wl,--allow-shlib-undefined -Wl,-rpath -Wl,\$ORIGIN/../lib/amd64/jli \ /opt/openjdk/build/../build-debug/tmp/sun/launcher/policytool/obj64_g/main.o -lpthread -L/usr/X11R6//lib64 -lX11 -ljli -ldl -lc /usr/bin/ld: cannot find -lX11 collect2: error: ld returned 1 exit status make[7]: *** [/opt/openjdk/build/../build-debug/bin/policytool] Error 1 make[7]: Leaving directory `/opt/openjdk/jdk/make/launchers' make[6]: *** [build] Error 2 make[6]: Leaving directory `/opt/openjdk/jdk/make/sun/security/tools' make[5]: *** [all] Error 1 make[5]: Leaving directory `/opt/openjdk/jdk/make/sun/security' make[4]: *** [all] Error 1 make[4]: Leaving directory `/opt/openjdk/jdk/make/sun' make[3]: *** [all] Error 1 make[3]: Leaving directory `/opt/openjdk/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/opt/openjdk' make[1]: *** [generic_debug_build] Error 2 make[1]: Leaving directory `/opt/openjdk' make: *** [build_debug_image] Error 2
然后按照缺啥补啥的策略,安装以下库
apt-get install libX11-dev
继续报错:
/src/solaris/native/sun/awt/../java2d -I../../../src/share/native/sun/awt/../java2d/loops -I../../../src/share/native/sun/awt/../java2d/pipe -I../../../src/share/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/x11 -I../../../src/share/native/sun/awt/../dc/doe -I../../../src/share/native/sun/awt/../dc/path -I../../../src/solaris/native/sun/awt/../jdga -I../../../src/solaris/native/sun/awt -c -o /opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/obj64_g/Region.o ../../../src/share/native/sun/awt/../java2d/pipe/Region.c /usr/bin/gcc -g -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES -DMLIB_NO_LIBSUNMATH -DDEBUG -DLOGGING -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0-internal-debug"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/X11R6//include -I/usr/X11R6//include/X11/extensions -I../../../src/solaris/native/sun/awt/font -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/../font -I../../../src/solaris/native/sun/awt/../font -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/shell -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/share/native/sun/awt/../java2d -I../../../src/solaris/native/sun/awt/../java2d -I../../../src/share/native/sun/awt/../java2d/loops -I../../../src/share/native/sun/awt/../java2d/pipe -I../../../src/share/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/x11 -I../../../src/share/native/sun/awt/../dc/doe -I../../../src/share/native/sun/awt/../dc/path -I../../../src/solaris/native/sun/awt/../jdga -I../../../src/solaris/native/sun/awt -c -o /opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/obj64_g/BufImgSurfaceData.o ../../../src/share/native/sun/awt/image/BufImgSurfaceData.c In file included from ../../../src/solaris/native/sun/awt/color.h:28:0, from ../../../src/solaris/native/sun/awt/img_util_md.h:26, from ../../../src/share/native/sun/awt/image/BufImgSurfaceData.c:31: ../../../src/solaris/native/sun/awt/awt.h:38:27: fatal error: X11/Intrinsic.h: No such file or directory #include <X11/Intrinsic.h> ^ compilation terminated. /usr/bin/gcc -g -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES -DMLIB_NO_LIBSUNMATH -DDEBUG -DLOGGING -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0-internal-debug"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/X11R6//include -I/usr/X11R6//include/X11/extensions -I../../../src/solaris/native/sun/awt/font -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/../font -I../../../src/solaris/native/sun/awt/../font -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/shell -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/share/native/sun/awt/../java2d -I../../../src/solaris/native/sun/awt/../java2d -I../../../src/share/native/sun/awt/../java2d/loops -I../../../src/share/native/sun/awt/../java2d/pipe -I../../../src/share/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/x11 -I../../../src/share/native/sun/awt/../dc/doe -I../../../src/share/native/sun/awt/../dc/path -I../../../src/solaris/native/sun/awt/../jdga -I../../../src/solaris/native/sun/awt -c -o /opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/obj64_g/Disposer.o ../../../src/share/native/sun/awt/../java2d/Disposer.c /usr/bin/gcc -g -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES -DMLIB_NO_LIBSUNMATH -DDEBUG -DLOGGING -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0-internal-debug"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/X11R6//include -I/usr/X11R6//include/X11/extensions -I../../../src/solaris/native/sun/awt/font -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/../font -I../../../src/solaris/native/sun/awt/../font -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/shell -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/share/native/sun/awt/../java2d -I../../../src/solaris/native/sun/awt/../java2d -I../../../src/share/native/sun/awt/../java2d/loops -I../../../src/share/native/sun/awt/../java2d/pipe -I../../../src/share/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/x11 -I../../../src/share/native/sun/awt/../dc/doe -I../../../src/share/native/sun/awt/../dc/path -I../../../src/solaris/native/sun/awt/../jdga -I../../../src/solaris/native/sun/awt -c -o /opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/obj64_g/Trace.o ../../../src/share/native/sun/awt/../java2d/Trace.c /usr/bin/gcc -g -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES -DMLIB_NO_LIBSUNMATH -DDEBUG -DLOGGING -DARCH='"amd64"' -Damd64 -DLINUX -DRELEASE='"1.7.0-internal-debug"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/sun/awt -I../../../src/solaris/native/sun/awt -I/usr/X11R6//include -I/usr/X11R6//include/X11/extensions -I../../../src/solaris/native/sun/awt/font -I../../../src/share/native/sun/awt/debug -I../../../src/share/native/sun/awt/../font -I../../../src/solaris/native/sun/awt/../font -I../../../src/share/native/sun/awt/image -I../../../src/share/native/sun/awt/image/cvutils -I../../../src/share/native/sun/awt/shell -I../../../src/share/native/sun/awt/medialib -I../../../src/solaris/native/sun/awt/medialib -I../../../src/share/native/sun/awt/../java2d -I../../../src/solaris/native/sun/awt/../java2d -I../../../src/share/native/sun/awt/../java2d/loops -I../../../src/share/native/sun/awt/../java2d/pipe -I../../../src/share/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/opengl -I../../../src/solaris/native/sun/awt/../java2d/x11 -I../../../src/share/native/sun/awt/../dc/doe -I../../../src/share/native/sun/awt/../dc/path -I../../../src/solaris/native/sun/awt/../jdga -I../../../src/solaris/native/sun/awt -c -o /opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/obj64_g/GraphicsPrimitiveMgr.o ../../../src/share/native/sun/awt/../java2d/loops/GraphicsPrimitiveMgr.c make[6]: *** [/opt/openjdk/build/../build-debug/tmp/sun/sun.awt/awt/obj64_g/BufImgSurfaceData.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[6]: Leaving directory `/opt/openjdk/jdk/make/sun/awt' make[5]: *** [library_parallel_compile] Error 2 make[5]: Leaving directory `/opt/openjdk/jdk/make/sun/awt' make[4]: *** [all] Error 1 make[4]: Leaving directory `/opt/openjdk/jdk/make/sun' make[3]: *** [all] Error 1 make[3]: Leaving directory `/opt/openjdk/jdk/make' make[2]: *** [jdk-build] Error 2 make[2]: Leaving directory `/opt/openjdk' make[1]: *** [generic_debug_build] Error 2 make[1]: Leaving directory `/opt/openjdk' make: *** [build_debug_image] Error 2 root@ThinkPad-Edge-E431:/opt/openjdk# sudo apt-get install libxt-dev
根据http://blog.caoxudong.info/blog/2014/01/21/build_openjdk_in_ubuntu文章所说,需要
sudo apt-get install libxt-dev
后续还发现一些头文件缺失,按照http://blog.caoxudong.info/blog/2014/01/21/build_openjdk_in_ubuntu继续安装,我这里就直接把文章引过来了
以上坑填完了,编译了差不多15分钟,又来一个报错,╮(╯▽╰)╭,这回感觉是翻遍整个网络都找不到答案了
省略。。。 # Running javac: /usr/local/jdk1.6/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m -Xbootclasspath/p:/opt/openjdk/build/langtools/dist/bootstrap/lib/javac.jar -jar /opt/openjdk/build/langtools/dist/bootstrap/lib/javac.jar -g -source 7 -target 7 -encoding ascii -Xbootclasspath:/opt/openjdk/build/classes -sourcepath /opt/openjdk/build/gensrc:../../../../../src/solaris/classes:../../../../../src/share/classes -d /opt/openjdk/build/classes @/opt/openjdk/build/tmp/sun/com.sun.net.httpserver/.classes.list.filtered make[5]: Leaving directory `/opt/openjdk/jdk/make/com/sun/net/httpserver' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=min_strip INFO: ZIP_DEBUGINFO_FILES=1 make[5]: Entering directory `/opt/openjdk/jdk/make/com/sun/jmx' /bin/mkdir -p /opt/openjdk/build/classes/javax/management/remote/rmi rm -f /opt/openjdk/build/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.class /opt/openjdk/build/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m -cp /opt/openjdk/build/classes sun.rmi.rmic.Main -classpath "/opt/openjdk/build/classes" \ -d /opt/openjdk/build/classes \ -v1.2 \ -keepgenerated \ javax.management.remote.rmi.RMIConnectionImpl /bin/mkdir -p /opt/openjdk/build/gensrc/javax/management/remote/rmi /bin/cp /opt/openjdk/build/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java \ /opt/openjdk/build/gensrc/javax/management/remote/rmi /opt/openjdk/build/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m -cp /opt/openjdk/build/classes sun.rmi.rmic.Main -classpath "/opt/openjdk/build/classes" \ -d /opt/openjdk/build/classes \ -iiop -v1.2 \ -emitPermissionCheck \ javax.management.remote.rmi.RMIConnectionImpl -emitPermissionCheck is an invalid option or argument. Usage: rmic <options> <class names> where <options> includes: -keep Do not delete intermediate generated source files -keepgenerated (same as "-keep") -v1.1 Create stubs/skeletons for 1.1 stub protocol version -vcompat Create stubs/skeletons compatible with both 1.1 and 1.2 stub protocol versions -v1.2 (default) Create stubs for 1.2 stub protocol version only -iiop Create stubs for IIOP. When present, <options> also includes: -always Create stubs even when they appear current -alwaysgenerate (same as "-always") -nolocalstubs Do not create stubs optimized for same process -idl Create IDL. When present, <options> also includes: -noValueMethods Do not generate methods for valuetypes -always Create IDL even when it appears current -alwaysgenerate (same as "-always") -g Generate debugging info -nowarn Generate no warnings -nowrite Do not write compiled classes to the file system -verbose Output messages about what the compiler is doing -classpath <path> Specify where to find input class files -bootclasspath <path> Override location of bootstrap class files -extdirs <path> Override location of installed extensions -d <directory> Specify where to place generated class files -J<runtime flag> Pass argument to the java interpreter make[5]: *** [/opt/openjdk/build/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.class] Error 1 make[5]: Leaving directory `/opt/openjdk/jdk/make/com/sun/jmx' make[4]: *** [all] Error 1 make[4]: Leaving directory `/opt/openjdk/jdk/make/com/sun' make[3]: *** [all] Error 1 make[3]: Leaving directory `/opt/openjdk/jdk/make/com' make[2]: *** [all] Error 1 make[2]: Leaving directory `/opt/openjdk/jdk/make' make[1]: *** [jdk-build] Error 2 make[1]: Leaving directory `/opt/openjdk' make: *** [build_product_image] Error 2
一直卡在这个问题上,也不是办法,换了个源码版本
wget http://download.java.net/openjdk/jdk7u40/promoted/b43/openjdk-7u40-fcs-src-b43-26_aug_2013.zip
,再编译下,还是用的那个build.sh脚步,编译成功了,有时间给社区去提下这个问题
RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/jstat 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/javap Library loads for: /opt/openjdk/build/j2sdk-image/bin/javap linux-vdso.so.1 => (0x00007ffcc9df9000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002ab6e9613000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002ab6e9847000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002ab6e9c0c000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002ab6e9e10000) /lib64/ld-linux-x86-64.so.2 (0x000055e4bc09a000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/javap 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/jhat Library loads for: /opt/openjdk/build/j2sdk-image/bin/jhat linux-vdso.so.1 => (0x00007ffe017d5000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b30c4438000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b30c466c000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b30c4a31000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b30c4c35000) /lib64/ld-linux-x86-64.so.2 (0x00005563b6ba1000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/jhat 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/apt Library loads for: /opt/openjdk/build/j2sdk-image/bin/apt linux-vdso.so.1 => (0x00007fffe1d34000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b905cf25000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b905d159000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b905d51e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b905d722000) /lib64/ld-linux-x86-64.so.2 (0x000056405d275000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/apt 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/wsimport Library loads for: /opt/openjdk/build/j2sdk-image/bin/wsimport linux-vdso.so.1 => (0x00007ffec19ea000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b277340b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b277363f000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b2773a04000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b2773c08000) /lib64/ld-linux-x86-64.so.2 (0x0000559c16d3f000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/wsimport 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/rmid Library loads for: /opt/openjdk/build/j2sdk-image/bin/rmid linux-vdso.so.1 => (0x00007ffcabd98000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b3e22052000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b3e22286000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b3e2264b000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b3e2284f000) /lib64/ld-linux-x86-64.so.2 (0x0000560f9eeff000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/rmid 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/orbd Library loads for: /opt/openjdk/build/j2sdk-image/bin/orbd linux-vdso.so.1 => (0x00007ffd241fa000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b72883a3000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b72885d7000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b728899c000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b7288ba0000) /lib64/ld-linux-x86-64.so.2 (0x0000564ad1272000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/orbd 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/jar Library loads for: /opt/openjdk/build/j2sdk-image/bin/jar linux-vdso.so.1 => (0x00007ffd2f7fb000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002ad66df97000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002ad66e1cb000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002ad66e590000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002ad66e794000) /lib64/ld-linux-x86-64.so.2 (0x0000563d9fc07000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/jar 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/rmiregistry Library loads for: /opt/openjdk/build/j2sdk-image/bin/rmiregistry linux-vdso.so.1 => (0x00007fffb113e000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b8c0825f000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b8c08493000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b8c08858000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b8c08a5c000) /lib64/ld-linux-x86-64.so.2 (0x0000562096ee5000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/rmiregistry 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/idlj Library loads for: /opt/openjdk/build/j2sdk-image/bin/idlj linux-vdso.so.1 => (0x00007fffbd3cd000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002af17f710000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002af17f944000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002af17fd09000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002af17ff0d000) /lib64/ld-linux-x86-64.so.2 (0x0000556b7e19f000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/idlj 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/policytool Library loads for: /opt/openjdk/build/j2sdk-image/bin/policytool linux-vdso.so.1 => (0x00007ffdeedf3000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002b8c25b1f000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b8c25d53000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b8c26118000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002b8c2631c000) /lib64/ld-linux-x86-64.so.2 (0x0000557ced20b000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/policytool 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] Checking for mapfile use in: /opt/openjdk/build/j2sdk-image/bin/jcmd Library loads for: /opt/openjdk/build/j2sdk-image/bin/jcmd linux-vdso.so.1 => (0x00007fffee516000) libjli.so => /opt/openjdk/build/j2sdk-image/bin/../jre/lib/amd64/jli/libjli.so (0x00002ac277084000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002ac2772b8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002ac27767d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00002ac277881000) /lib64/ld-linux-x86-64.so.2 (0x000056337d75b000) RUNPATH for: /opt/openjdk/build/j2sdk-image/bin/jcmd 0x0000000000000001 (NEEDED) Shared library: [libjli.so] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli] rm -f /opt/openjdk/build/tmp/jdk-bin-files.list >>>Making sec-files @ Sun Oct 22 20:42:51 CST 2017 ... /bin/mkdir -p . rm -f sec-files rm -f /opt/openjdk/build/tmp/sec-bin.zip cd /opt/openjdk/build && \ /usr/bin/zip -rq9 /opt/openjdk/build/tmp/sec-bin.zip classes/javax/net classes/javax/security/cert classes/com/sun/net/ssl classes/com/sun/security/cert classes/sun/net/www/protocol/https classes/sun/security/pkcs12 classes/sun/security/ssl classes/sun/security/krb5/*.class classes/sun/security/krb5/internal/*.class classes/sun/security/krb5/internal/ccache classes/sun/security/krb5/internal/crypto classes/sun/security/krb5/internal/ktab classes/sun/security/krb5/internal/rcache classes/sun/security/krb5/internal/util classes/sun/security/jgss/spi/GSSContextSpi.class >>>Making sec-files-win @ Sun Oct 22 20:42:51 CST 2017 ... >>>Making jgss-files @ Sun Oct 22 20:42:51 CST 2017 ... >>>Making server-jdk-image @ Sun Oct 22 20:42:51 CST 2017 ... rm -f -r /opt/openjdk/build/j2sdk-server-image /bin/cp -r /opt/openjdk/build/j2sdk-image /opt/openjdk/build/j2sdk-server-image rm -f -r /opt/openjdk/build/j2sdk-server-image/demo rm -f -r /opt/openjdk/build/j2sdk-server-image/sample rm -f /opt/openjdk/build/j2sdk-server-image/bin/jcontrol rm -f /opt/openjdk/build/j2sdk-server-image/jre/bin/jcontrol rm -f /opt/openjdk/build/j2sdk-server-image/man/ja_JP.UTF-8/man1/javaws.1 rm -f /opt/openjdk/build/j2sdk-server-image/man/man1/javaws.1 >>>Finished making images @ Sun Oct 22 20:42:51 CST 2017 ... make[2]: Leaving directory `/opt/openjdk/jdk/make' ######################################################################## ##### Leaving jdk for target(s) sanity all images ##### ######################################################################## ##### Build time 00:06:21 jdk for target(s) sanity all images ##### ######################################################################## #-- Build times ---------- Target debug_build Start 2017-10-22 20:30:29 End 2017-10-22 20:42:51 00:05:26 hotspot 00:06:21 jdk 00:00:35 langtools 00:12:22 TOTAL ------------------------- make[1]: Leaving directory `/opt/openjdk'
对于debug版,可以用下面的命令来查看编绎出来的java示持哪些JVM的配置项:
./java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version
/opt/openjdk/build-debug/bin/java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version
如果是非debug,则可以使用下面的命令来输出可用的JVM配置项:
./java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
可以了
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word". (gdb) file /opt/openjdk/build build/ build-debug/ build.sh (gdb) file /opt/openjdk/build/ ^A� bundles/ gensrc/ j2sdk-server-image/ sanityCheckWarnings.txt bin/ classes/ hotspot/ langtools/ source-bundles/ btbins/ demo/ impsrc/ lib/ source_tips btclasses/ democlasses/ include/ linux-amd64/ symbols/ btjars/ demos-bundles/ j2re-image/ sample/ tmp/ build.log gennativesrc/ j2sdk-image/ sanityCheckMessages.txt (gdb) file /opt/openjdk/build/hotspot/ import/ outputdir/ (gdb) file /opt/openjdk/build/hotspot/outputdir/linux_amd64_ linux_amd64_compiler2/ linux_amd64_docs/ (gdb) file /opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/ debug/ fastdebug/ generated/ jvmg/ optimized/ product/ profiled/ shared_dirs.lst (gdb) file /opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/gamma Reading symbols from /opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/gamma...done. (gdb) en enable end (gdb) set args A 1987 (gdb) break main Breakpoint 1 at 0x402ff3: file /opt/openjdk/hotspot/src/share/tools/launcher/java.c, line 228. (gdb) run Starting program: /opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/gamma A 1987 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Breakpoint 1, main (argc=3, argv=0x7fffffffdc58) at /opt/openjdk/hotspot/src/share/tools/launcher/java.c:228 228 { (gdb)
后来吧/etc/profile改了下:
#export JAVA_HOME=/usr/local/jdk1.8 export JAVA_HOME=/opt/openjdk/build/j2sdk-image export ANT_HOME=/usr/local/ant1.9.4 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ANT_HOME/bin:$PATH
还有是把/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/目录下的env.sh改了下,
注意/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/gamma的运行依赖/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/libjvm.so
# Generated by /opt/openjdk/hotspot/make/linux/makefiles/buildtree.make : ${JAVA_HOME:=/usr/local/jdk1.6} CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/jre/lib/i18n.jar HOTSPOT_BUILD_USER="root in hotspot" export JAVA_HOME CLASSPATH HOTSPOT_BUILD_USER LD_LIBRARY_PATH=/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg:$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/native_threads export LD_LIBARAY_PATH ~
打印jvmpath值 $4 = "/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/libjvm.so", '\000' <repeats 751 times>...
(gdb) set environment LD_LIBRARY_PATH=/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg:$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/native_threads
(gdb) 281 ifn.GetDefaultJavaVMInitArgs = 0; (gdb) 283 if (_launcher_debug) (gdb) 285 if (!LoadJavaVM(jvmpath, &ifn)) { (gdb) 288 if (_launcher_debug) { (gdb) 300 progname = *argv; (gdb) 301 if ((s = strrchr(progname, FILE_SEPARATOR)) != 0) { (gdb) 302 progname = s + 1; (gdb) 306 ++argv; (gdb) 307 --argc; (gdb) 318 if ((s = getenv("CLASSPATH")) == 0) { (gdb) 322 SetClassPath(s); (gdb) 329 if (!ParseArguments(&argc, &argv, &jarfile, &classname, &ret, jvmpath)) { (gdb) 334 if (jarfile != 0) { (gdb) 339 SetJavaCommandLineProp(classname, jarfile, argc, argv); (gdb) 342 SetJavaLauncherProp(); (gdb) p *jarfile Cannot access memory at address 0x0 (gdb) p jarfile $1 = 0x0 (gdb) p classname $2 = 0x7fffffffe037 "A" (gdb) p ret $3 = 1 (gdb) p jvmpath $4 = "/opt/openjdk/build/hotspot/outputdir/linux_amd64_compiler2/jvmg/libjvm.so", '\000' <repeats 751 times>...
本机环境如下:
[henry@henry-ubuntu:~/program/java/oracle_jdk/jdk1.7.0_51]$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)
[henry@henry-ubuntu:~/workspace/openjdk/openjdk-7u40-fcs-src-b43-26_aug_2013/openjdk]$ uname -a
Linux henry-ubuntu 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux
默认全部编译
主要参考文档:README-builds.html,在源代码目录就有。
过程:
-
安装mercurial
-
下载某个repository(repository与project的区别,参见http://openjdk.java.net/guide/repositories.html)
-
执行脚本get_source.sh以获取源代码。
-
设置基本环境变量。
export LANG=C export ALT_BOOTDIR=$JAVA_HOME export JAVA_HOME= export CLASSPATH=
-
相关依赖库
5.1 安装CUPs,如果安装的时候制定了自定义目录,则还需要配置环境变量
ALT_CUPS_HEADERS_PATH
sudo apt-get install cups-common sudo apt-get install libcups2-dev
5.2 安装FreeType,需要2.3以上的版本。如果安装的时候制定了自定义目录,则还需要配置环境变量
ALT_FREETYPE_LIB_PATH
和ALT_FREETYPE_HEADERS_PATH
sudo apt-get install libfreetype6 sudo apt-get install libfreetype6-dev
5.3 安装ALSA,这个就不要自定义安装了
sudo apt-get alsa-base sudo apt-get alsa-utils sudo apt-get install libclalsadrv2 sudo apt-get install libclalsadrv-dev
-
至此make sanity应该可以通过了,然后make。
-
make时的错误
-
找不到gawk
sudo apt-get install gawk
-
找不到X11库,执行
sudo apt-get install libx11-dev
-
fatal error: X11/extensions/shape.h: No such file or directory,执行
sudo apt-get install libxext-dev
-
fatal error: X11/extensions/Xrender.h: No such file or directory,执行
sudo apt-get install libxrender-dev
-
fatal error: X11/extensions/XTest.h: No such file or directory,执行
sudo apt-get install libxtst-dev
-
fatal error: X11/Intrinsic.h: No such file or directory,执行
sudo apt-get install libxt-dev
如果还有缺少库的情况,可以到这里http://packages.ubuntu.com/搜索。
-
-
继续make时的错误
-
权限错误
/home/henry/program/java/oracle_jdk/jdk1.7.0_51/bin/javac -g -encoding ascii -source 6 -target 6 -classpath /home/henry/program/java/oracle_jdk/jdk1.7.0_51/lib/tools.jar -sourcepath /media/sf_win7_e_drive/workspace/openjdk/openjdk-7u6-fcs-src-b24-28_aug_2012/openjdk/hotspot/agent/src/share/classes -d /media/sf_win7_e_drive/workspace/openjdk/openjdk-7u6-fcs-src-b24-28_aug_2012/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/saclasses @/media/sf_win7_e_drive/workspace/openjdk/openjdk-7u6-fcs-src-b24-28_aug_2012/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/agent.classes.list warning: [options] bootstrap class path not set in conjunction with -source 1.6 /media/sf_win7_e_drive/workspace/openjdk/openjdk-7u6-fcs-src-b24-28_aug_2012/openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFFileParser.java:333: error: error while writing COFFFileParser.COFFFileImpl.COFFHeaderImpl.OptionalHeaderWindowsSpecificFieldsImpl: /media/sf_win7_e_drive/workspace/openjdk/openjdk-7u6-fcs-src-b24-28_aug_2012/openjdk/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/../generated/saclasses/sun/jvm/hotspot/debugger/win32/coff/COFFFileParser$COFFFileImpl$COFFHeaderImpl$OptionalHeaderWindowsSpecificFieldsImpl.class (Operation not permitted) class OptionalHeaderWindowsSpecificFieldsImpl implements OptionalHeaderWindowsSpecificFields { ^ Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
没找到具体原因,猜测是与使用了virtualbox,并将编译编译结果输出到windows的共享目录相关。
变通方法,设置
ALT_OUTPUTDIR
变量,将编译结果输出到virtualbox的虚拟硬盘中,重新make。 -
找不到类
cd linux_i486_compiler2/product && ./test_gamma Using java runtime at: /home/henry/program/java/oracle_jdk/jdk1.7.0_51/jre Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/invoke/AdapterMethodHandle
在classpath中确实没找到AdapterMethodHandle这个类,从下面两个邮件列表中的问题看,应该是新旧两个虚拟机不兼容,所以重新下载源码(openjdk-7u40-fcs-src-b43-26_aug_2013)再编译
-
-
make成功
32bit
#-- Build times ---------- Target all_product_build Start 2014-01-21 19:50:53 End 2014-01-21 20:31:48 00:00:20 corba 00:01:26 hotspot 00:01:08 jaxp 00:01:48 jaxws 00:35:25 jdk 00:00:48 langtools 00:40:55 TOTAL
64bit
#-- Build times ---------- Target all_product_build Start 2014-01-26 14:36:02 End 2014-01-26 16:31:03 00:07:00 corba 00:37:02 hotspot 00:02:48 jaxp 00:04:15 jaxws 01:01:14 jdk 00:02:41 langtools 01:55:01 TOTAL
电脑矬真是苦逼,时间长的令人发指。
-
运行一下
32bit
[henry@henry-ubuntu:~/program/java/openjdk/openjdk-7u40-fcs-src-b43-26_aug_2013/bin]$ ./java -version
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-henry_2014_01_21_09_17-b00)
OpenJDK Client VM (build 24.0-b56, mixed mode)
64bit
[henry@ubuntu:~/program/java/open_jdk/jdk7u40]$ bin/java -version
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-henry_2014_01_26_14_35-b00)
OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
定制化编译
//TODO: 定制化编译openjdk的某个部分
相关推荐
本资料夹包含的内容是关于在Linux环境下编译OpenJDK7的完整过程及可能遇到的问题解决方法。 首先,要编译OpenJDK7,你需要一个Linux环境,因为OpenJDK主要是为类Unix系统设计的。推荐使用Ubuntu或Debian这样的基于...
内含1.apache-ant-1.9.13-bin.zip 2.jdk-6u45-linux-x64.bin 3.openjdk-7u6-fcs-src-b24-28_aug_2012.zip 4.freetype-2.3.12.tar.gz
在介绍如何在Windows 7环境下编译OpenJDK 8源代码之前,有必要了解一些基础知识和前提条件。OpenJDK是Java平台的开源实现,其中包括JVM(Java虚拟机)和Java类库。OpenJDK的源代码使用C和C++编写,支持跨平台编译。...
通过解压"openjdk7-master.zip",你可以自行编译OpenJDK7,了解其内部机制,并进行自定义优化或扩展。这对于Java开发者来说,是提高技能、深入学习Java底层原理的绝佳途径。你可以学习到如何配置和构建OpenJDK,如何...
为了在CentOS 7上使用JDK 1.7编译OpenJDK 1.8,你需要遵循以下步骤: 1. **安装依赖**:确保系统已安装了必要的编译工具,如GCC、make等,并安装OpenJDK 1.7作为构建环境。 2. **下载源码**:获取到`jdk7u-dev-b...
OPENJDK-7 windows编译之后版本
由于编译 OpenJDK 需要一个现有的 JDK 环境作为引导(bootstrap),因此首先需要下载 JDK 7 并安装。 - **下载地址**: 通过指定的链接下载 JDK 7。 - **步骤**: 完成下载后,解压缩文件 `tar -zxvf jdk-7u80-linux-...
### Ubuntu 16.04.5 LTS 下编译 openjdk-7u75 的详细步骤 #### 一、概述 在 Linux 环境下,尤其是 Ubuntu 系统上,有时我们需要从源码编译特定版本的 JDK 来满足项目需求或进行深入的研究与学习。本文将详细介绍...
在本资料中,我们重点关注的是 OpenJDK 7 的源码,特别是一个名为 "Openjdk7master.zip" 的压缩包。这个压缩包包含了 OpenJDK 7 主分支的所有源代码,供开发者在 Ubuntu 系统上学习和研究。Ubuntu 是一款基于 Debian...
例如,编译OpenJDK 8时,需要JDK 7u7以上的版本,但不能是JDK 8。你可以通过Ubuntu的软件中心或官网下载对应的Bootstrap JDK并安装。 然后,我们需要下载OpenJDK的源代码。在终端中输入`sudo hg clone ...
本文将深入探讨如何编译OpenJDK源码,以及涉及到的相关工具和步骤。 首先,我们关注到"CLion-2021.1.tar.gz",这是JetBrains公司开发的C++和Python等语言的跨平台集成开发环境(IDE)。虽然OpenJDK主要用C++和Java...
已编译好的java.net官网的windows版的openjdk7下载 part2 请下载共2part以后放在同一个文件夹里面解压(推荐360压缩,我是用这个加压的) 所有下载链接: http://blog.csdn.net/qgmzzn1/article/details/16918153
openJDK7源码下载 ...cd jdk7u-dev chmod 755 get_source.sh ./get_source.sh 之后需要下载corba、hotspot、jaxp、...另外提一句,最好还是编译openJDK8吧,编译openJDK7实在是太痛苦了,各种相关软件支持整得人一头包
标题中的"openjdk7Andjdk7.7z"表明这是一个关于OpenJDK 7的压缩文件,其中可能包含了OpenJDK 7的源代码以及一个特定版本的Boot JDK。描述中提到,这是在CentOS系统上编译OpenJDK时会用到的资源,具体包括了OpenJDk 7...
在Ubuntu中,使用OpenJDK-7进行Java开发,开发者可以利用各种IDE(如IntelliJ IDEA、Eclipse)或命令行工具编写、编译和运行Java程序。此外,还可以通过`update-alternatives`命令来设置默认的Java版本,以便在多个...
本资源包包含了与这个主题相关的关键元素:OpenJDK8和OpenJDK7的源码,以及make 3.81的源码,这些都是构建和调试JVM的重要工具。 首先,OpenJDK是Java Development Kit的开源实现,它提供了Java运行环境和开发工具...
《深入剖析OpenJDK7的LangTools源码》 OpenJDK7是Java开发的一个开源实现,它提供了Java运行环境的基础构建块。LangTools作为OpenJDK7的一部分,扮演着至关重要的角色,它是Java语言工具集的核心,包含了编译器、...
总之,OpenJDK 19为Windows用户提供了完整的Java开发和运行环境,它包括了编译、运行、调试和打包Java应用程序所需的所有工具。通过解压安装包并正确配置环境变量,你可以开始享受Java 19带来的新特性和性能提升。...
openjdk6 源代码,分开也上传一份,省得太大了。
CentOS 7 安装 OpenJDK 1.7 需要经过多个步骤,包括安装编译库、下载 OpenJDK 源代码、安装 Boot JDK、配置环境变量、解压 OpenJDK 压缩文件、编译 OpenJDK 等。下面是详细的安装步骤: 安装编译库 在 CentOS 7 中...