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》,是一份标准操作程序(SOP),专为在Ubuntu 12.04 64位系统上安装Android 5.0之前的编译环境而设计。此文档特别以MTK...
在Ubuntu 12.04上,可以通过命令行来安装OpenJDK 7: ``` sudo apt-get update sudo apt-get install openjdk-7-jdk ``` 安装完成后,验证Java是否已经正确安装: ``` java -version ``` 2. 获取Android...
在Ubuntu 12.04(代号 Precise Pangolin)这样的Linux发行版上,安装这个压缩包可以为开发者提供一个完整的Java开发环境,尤其是对于那些需要在Android平台上编译应用的开发者来说。由于Android主要基于Java语言,...
操作系统方面,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的环境要求Ubuntu 12.04操作系统或更新版本。 CCNx 0.8.0库或更新的版本。 (请注意,OpenJDK应将CCNx库作为必需的发行说明进行编译)Oracle JDK 1.7.0或更新的版本。 (由于Apache Tomcat是由Oracle JDK...
已编译的类文件在代码存储库中提供。 您可以通过启动run脚本直接运行 P2pChatGtk: ./run 此应用程序的两个实例需要并行运行,以便它们可以相互连接。 在同一台机器上运行这两个实例是可能的,但此应用程序的目的是...
本示例是在两台服务器(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 首先,我们需要在两台...