`
weigang.gao
  • 浏览: 494079 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ubuntu12.04编译openJDK7

 
阅读更多

linux内核:uname -r 查看linux内核,我的是 3.11.0-15-generic

1.下载openjdk7源码

a.openJDK7源码地址:http://download.java.net/openjdk/jdk7/

另外openJDK8源码地址:http://download.java.net/openjdk/jdk8/

 

2.安装编译openJDK所需到依赖:

sudo aptitude build-dep openjdk-6 --安装编译openjdk-6所需到环境,里面包含了很多工具

sudo aptitude install openjdk-6-jdk  --安装openjdk,编译openjdk源码中到java部分

 

3.设置编译openJDK的环境变量:

export LANG=C

#设置本机上安装好到openjdk来编译源码,用java -ersion可以查看到本机jdk到版本信息

export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk 

#允许在编译的时候自动进行下载依赖的东西
export ALLOW_DOWNLOADS=true

#使用预编译头文件,不是用这个会编译慢些
export USE_PRECOMPILED_HEADER=true

#设置编译好的openjdk 输出位置
export ALT_OUTPUTDIR=/users/openjdkbuild

#The default hotspot-build is all_product. Setting DEBUG_NAME would change the target.

export DEBUG_NAME=debug

unset JAVA_HOME
unset CLASSPATH

 

4.使用cd命令进入openjdk源码目录下

 

5.make sanity 测试一下

如果出现:Sanity check passed.则表示测试编译通过了,不过也别开心得太早,真正make的时候不保证一定没问题

 

6.make

 

FQA:

1. ERROR: error: "__LEAF" redefined [-Werror]

这个是已知的bug(http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev /a6eef545f1a2), 在hopspot下打入该patch(http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot /raw-rev/a6eef545f1a2)即可

或者:从http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot /raw-rev/a6eef545f1a2 这个页面下载zip替换openjdk7源码中到hotspot文件夹(注意将下载的文件夹名改为hotspot)

2. ERROR: echo "*** This OS is not supported:" 'uname -a'; exit 1;
这是由于内核版本太高了,两种方式解决:
方法一:

lichengwu@s4:~/bin$ uname -r
#查看当前的内核版本:
3.2.0-20-generic
修改文件/home/thebye85/jdk7/hotspot/make/linux/Makefile
#在这行最后加上当前的内核版本3.2%,如下:
lichengwu@s4:~/bin$ SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7% 3.2%

方法二:

gedit 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

3.sound错误

修改jdk/make/javax/sound/jsoundalsa/下的Makefile文件,将

LDFLAGS += -lasound

改成
EXTRA_LIBS += -lasound
否则编译出错

 

4.make[5]: *** [/home/ubuntu/openjdkbuild/lib/i386/libjsoundalsa.so] Error 1
解决:(注意openjdkbuild是编译的jdk输出路径)

ln -s lib/i386/libjsound.so lib/i386/libjsoundalsa.so

如果ln不行 就用cp

分享到:
评论

相关推荐

    Android_Build_Environment_on_Ubuntu_12.04_64-bit_Installation_SOP.pdf

    本篇文档名为《Android_Build_Environment_on_Ubuntu_12.04_64-bit_Installation_SOP.pdf》,是一份标准操作程序(SOP),专为在Ubuntu 12.04 64位系统上安装Android 5.0之前的编译环境而设计。此文档特别以MTK...

    Ubuntu 12.04 搭建Android开发环境.rar

    在Ubuntu 12.04上,可以通过命令行来安装OpenJDK 7: ``` sudo apt-get update sudo apt-get install openjdk-7-jdk ``` 安装完成后,验证Java是否已经正确安装: ``` java -version ``` 2. 获取Android...

    java-8-openjdk-amd64.tar.gz

    在Ubuntu 12.04(代号 Precise Pangolin)这样的Linux发行版上,安装这个压缩包可以为开发者提供一个完整的Java开发环境,尤其是对于那些需要在Android平台上编译应用的开发者来说。由于Android主要基于Java语言,...

    mtk_mt6572_android开发环境搭建

    操作系统方面,Ubuntu 12.04 64位版本是文档中推荐的系统。考虑到MTK MT6572设备的特性,选择64位操作系统是为了确保有足够的内存地址空间,以及可以支持最新的开发工具链。 内存和磁盘空间对于Android开发环境来说...

    安卓系统源码编译-(非常珍贵)

    - **依赖包**:根据Ubuntu的不同版本,如10.04、11.10和12.04,安装相应的依赖包,例如`sudo apt-get install libx11-dev:i386`等。 2. **调试工具**:安装如Valgrind这样的调试工具,有助于查找和修复编译过程中...

    CCNxTomcat:第一个基于CApache的实用Web服务器,基于开源Apache Tomcat和CCNx库,以原生支持基于CCN的Web应用程序

    CCNxTomcat的环境要求Ubuntu 12.04操作系统或更新版本。 CCNx 0.8.0库或更新的版本。 (请注意,OpenJDK应将CCNx库作为必需的发行说明进行编译)Oracle JDK 1.7.0或更新的版本。 (由于Apache Tomcat是由Oracle JDK...

    java6.0源码-P2pChatGtk:一个安全的点对点聊天应用程序(GTK)

    已编译的类文件在代码存储库中提供。 您可以通过启动run脚本直接运行 P2pChatGtk: ./run 此应用程序的两个实例需要并行运行,以便它们可以相互连接。 在同一台机器上运行这两个实例是可能的,但此应用程序的目的是...

    Ngxin+双tomcat负载+mem做session共享

    本示例是在两台服务器(Server1和Server2)上进行,操作系统均为Ubuntu 12.04 amd64,IP地址分别为192.168.60.71和192.168.60.72。Nginx版本为1.4.1,JDK版本为1.7.0_21-b11。 二、安装JDK 首先,我们需要在两台...

Global site tag (gtag.js) - Google Analytics