在centos上编译jdk 问题大全

为了解决博客Jstack -F 参数在低版本的问题,必须重新编译自己的jdk,按着java里面自带的build的文档,基本就傻眼了,没想到作为开源之首的java,编译自己的jdk的文档尽然如此陈旧,不得已还是自己摸石子过河吧。

1. 下载源码 ,直接去oracle 的官方网站:http://download.java.net/jdk6/source/

注意你要下载2个jar

JDK 6u23 Source under the JRL license jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar,136.53 MB (MD5 Checksum) (or) Subversion(respository (read-only) | Readme) JDK 6u23 Readme and Build Instructions JDK Binaries for Source Build 6u23 jdk-6u23-fcs-bin-b05-jrl-12_nov_2010.jar, 2.02 MB (MD5 Checksum)
运行将2个jar 解开源文件合并在一起。


2.jdk1.6 README-builds.html 里说要jdk1.5作为Bootstrap,这是错的,必须需要jdk1.6的版本,需要安装一个jdk1.6的版本。


3. 环境变量的几个重要参数,你也可以在make 里设置环境参数
ALT_BOOTDIR=jdk1.6.0_22 --》就是你bootstrap jdk1.6的版本的安装目录
ALT_DEVTOOLS_PATH=/usr/bin

DEVTOOLS_PATH=/usr/bin

4. cups 安装
yum install cups*

5. centos X11的包,在编译中是需要linux x11的包,在编译前最好全部安装完

6.如果你是bit64位(amd64)的架构,修改\sourcepath\j2se\make\sun\jdbc\Makefile 在编译的脚本里添加 -fPIC参数

$(TEMPDIR) $(CC) -shared -fPIC -o $@ $< $(TEMPDIR)/libodbc.so: dummyodbc.c $(TEMPDIR) $(CC) -shared -fPIC -o $@ $<


7. 将/usr/share/X11 目录全部拷贝到/usr/X11R6/lib目录下

8. 到目录 /sourcepath/control/make/ 下运行

make dev-sanity BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true ALT_BOOTDIR=jdk1.6.0_22 ALT_DEVTOOLS_PATH=/usr/bin HOTSPOT_BUILD_JOBS=2

检查一遍

然后在运行

make dev BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true ALT_BOOTDIR=jdk1.6.0_22 ALT_DEVTOOLS_PATH=/usr/bin HOTSPOT_BUILD_JOBS=

编译正式的包


编译过程的错误

1如果编译过程中出现错误:

/usr/bin/ld: cannot find -lxxxx

一般都是系统缺乏对应的库文件,或者版本不对

解决办法

yum install libxxxx*

下面的例子是我的系统所缺的包

yum install libXext* yum install libXi* yum install libXmu*

2. 错误

`/usr/X11R6/lib/X11/config/Imake.tmpl', needed by `xmkmf'. Stop.解决办法 :
yum install imake

同时把/usr/share/X11 拷贝到目录 /usr/X11R6/lib/X11


万能的yum可以基本帮你解决缺包和库的问题,如果你还有什么问题,可以ping我。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值