centos7编译openjdk1.7过程及报错解决

来源:互联网 发布:unity3d 2d人物移动 编辑:程序博客网 时间:2024/06/08 16:26

1.准备工作
a. 下载openjdk 7 源代码 http://www.java.net/download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip (粘贴链接,迅雷可下)

b. 安装依赖项
我比较懒,没有去找相关内容,参考了https://www.cnblogs.com/zxfdream/p/5411511.html的内容,其介绍的依赖项中,gawk、m4、openjdk-6-jdk、binutil安装了,然后就开始安装了。在centos下面,请用yum search openjdk命令,查找具体的安装方式。

在ubuntu中有apt-get install build-essential这样的命令,可以在centos7下使用yum groupinstall “Development Tools”进行安装相包。依赖项请参看http://blog.csdn.net/qq_18750427/article/details/52038322

c. 环境变量设置

export LANG=Cexport ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk.x86_64export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-1.6.0-openjdk.x86_64export ALLOW_DOWNLOADS=trueexport HOST_BUILD_JOBS=4export USE_PRECOMPILED_HEADER=trueexport BUILD_LANGTOOLS=trueexport BUILD_JAXP=trueexport BUILD_JAXWS=trueexport BUILD_CORBA=trueexport BUILD_HOTSPOT=trueexport BUILD_JDK=trueexport BUILD_INSTALL=falseexport ALT_OUTPUTDIR=/home/cheung/workspace/java/openjdk/buildunset JAVA_HOMEunset CLASSPATHexport WARNINGS_ARE_ERRORS=falseexport SKIP_DEBUG_BUILD=falseexport SKIP_FASTDEBUG_BUILD=trueexport DEBUG_NAME=debug

ALT_OUTPUTDIR=*,修改成你的openjdk7所在的路径的

ALT_BOOTDIR=,ALT_JDK_IMPORT_PATH=是java6的路径,看位置修改

2.编译过程

make sanity #检查
make DEBUG_BINARIES=true #编译
编译后 build和build-debug目录里面的东西就是了

3.报错分析

问题1:centos awt.h:38:27: fatal error: X11/Intrinsic.h: No such file or
解决办法:yum install libXt-devel

问题2:fatal error: X11/extensions/XTest.h: No such file or directory
解决办法:yum install libXtst-devel

问题3:do not have access to valid Cups header file
解决办法:yum install cups-devel.x86_64

问题4:Error:./gamma: relocation error:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/libjava.so: symbol JVM_FindClassFromCaller, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference
解决办法:第一步:修改文件hotspot/make/linux/Makefile ,去掉文件中所有的test_gamma即可; 第二步:通过vim find / -name ‘CurrencyData.properties‘ 把里面的时间改在10年之内就可以了

问题5:ERROR: FreeType version 2.3.0 or higher is required.
解决方法:yum install freetype-devel.x86_64

问题6:Linking vm… /usr/bin/ld: cannot find -lstdc++
解决方法:yum install libstdc++-static

问题7:fatal error: X11/extensions/Xrender.h: No such file or directory
解决方法:yum install libXrender-devel.x86_64

更多问题解决方案,请参考http://caoxudong818.iteye.com/blog/1748869

原创粉丝点击