32位ubuntu14下编译openjdk7

网上很多人都是在64位机器下进行编译,32位的很少。

1. 从官网下载源码包openjdk-7u40-fcs-src-b43-26_aug_2013.zip

2. 安装依赖包

gcc、g++、make等是安装好系统之后就安装的。


编译用的脚本:

**********************************************************************

#!/bin/bash


#语言选项,必须设置。
export LANG=C


#Bootstrap JDK的安装路径。必须设置。
#export ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-i386
#export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk-i386/
export ALT_BOOTDIR=/home/scorpius/Softwares/jdk1.7.0_45


#允许自动下载信赖
export ALLOW_DOWNLOADS=true


#并行编译的线程数,设置为和CPU内核数量一致。
export HOTSPOT_BUILD_JOBS=2
export ALT_PARALLEL_COMPILE_JOBS=2


#
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=true
export BUILD_HOSTPOT=true
export BUILD_JDK=true


#要编译的版本
#export SKIP_DEBUG_BUILD=false
#export SKIP_FASTDEBUG_BUILD=true
#export DEBUG_NAME=all_fastdebug


#把它设置为false可以避开javaws和浏览器Java插件之类的部分的build
BUILD_DEPLOY=false


#把它设置为false就不会build出安装包。因为安装包里有些奇怪的信赖,
#但即便不build出它也已经能得到完整的JDK映像,所以还是别build它好了。
BUILD_INSTALL=false


#编译结果所存放的路径
#export ALT_OUTPUTDIR=/home/scorpius/Softwares/openjdk/build


unset JAVA_HOME
#unset CLASSPATH
unset LD_LIBRARY_PATH


#source jdk/make/jdk_generic_profile.sh
make 2>&1 | tee build.log 
#make sanity


**********************************************************************


编译过程中遇到的主要问题:

缺少类库的问题就不列出来了,缺什么补什么好啦。

1. 编译hotspot的时候会遇到warnings being treated as errors之类的提示信息,可以直接在

/hotspot/make/linux/makefiles/gcc.make中把WARNINGS_ARE_ERRORS = -Werror这行注掉

2. Unable to load native library: libjvm.so: cannot open shared object file: No such file or directory

之前用的是openjdk7,尝试了网上的各种办法,都没有解决。

怀疑可能是jdk的问题,换了Oracle的JDK7,同时在脚本里又加了一句“unset LD_LIBRARY_PATH”,竟然一路顺风,编译成功。

不知道能不能省略其中之一,没有验证过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值