CentOS 编译 openjdk
1. 概述
<<深入理解Java虚拟机--JVM高级特性与最佳实践>>第一章就谈到自己编译jdk,来吧。
2. 编译环境
VMware12
CentOS-7-x86_64-Everything-1611
3. 软件准备
Bootstrap JDK: jdk-7u79-linux-x64.tar.gz
OpenJDK: https://jdk7.java.net/source.html
4. 编译依赖
4.1 安装alsa软件包
yum -y install alsa-lib-devel
4.2 安装 cups-devel
yum -y install cups-devel
4.3 安装lib相关库
yum -y install libX*
4.4 安装gcc
yum -y install gcc gcc-c++
4.5 安装freetype
4.5.1 下载 http://rpm.pbone.net/index.php3/stat/4/idpl/26641422/dir/centos_7/com/freetype-2.4.11-9.el7.x86_64.rpm.htm
4.5.2 安装 rpm -ivh freetype-2.4.11-9.el7.x86_64.rpm
4.6 安装ant
yum -y install ant
说明: 这时会将openjdk作为依赖进行安装; 安装完, java -version| ant -version看看
&& 使用ant.tar.gz解压方式安装 不要安装配置jdk依赖
4.7 安装libstdc++
yum -y install libstdc++-static
说明: 此安装为解决编译时出错 ERROR: Cannot chcon libjvm.so
5. 环境变量配置 vim /etc/profile
export CLASSPATH
export JAVA_HOME
export LANG=C
export ALT_BOOTDIR=/usr/java/jdk1.7.0_76
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export ARCH_DATA_MODEL=64
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
export ALT_OUTPUTDIR=/usr/java/openjdk/build
6. 编译检查
make sanity
若输出结果为:Sanity check passed
,表示设置正确
7. 执行编译
make
8. 编译时可能出现的其他问题
8.1 ./gamma: relocation error: /usr/java/jdk1.7.0_76/jre/lib/amd64/libjava.so:
删除 /usr/java/openjdk/hotspot/make/linux/Makefile文件中 所有test_gamma
(vim Makefile-> /test_gamma查找->:%s/&& \.\/test_gamma//g替换所有)
8.2 Error: time is more than 10 years from present:
/usr/java/openjdk/jdk/src/share/classes/java/util/CurrencyDate.properties文件中所有时间改为近期
vim 指令 /20..-搜索-> i 修改 -> esc退出i -> n下一个位置 -> i 直到全部改完
8.3 其他
make clean 可以清一下之前编译
9. 结果图
10. debug版jdk
/usr/java/openjdk/build-debug/j2sdk-image下的内容为debug版jdk
删除原有jdk,配置环境变量JAVA_HOME CLASSPATH PATH
查看jdk版本
转载于:https://www.cnblogs.com/rocky-fang/p/6677921.html
CentOS 编译 openjdk相关推荐
- mysql 4.0.27 下载,CentOS编译Mysql 4.0.27数据库问题解决
CentOS编译Mysql 4.0.27数据库问题解决以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 现在好多人都用起了 ...
- centos 编译安装mysql
centos 编译安装mysql,请看附件 转载于:https://blog.51cto.com/3131854/1883713
- 深入理解JVM(一)编译openJDK
此文总结的很不错:https://www.cnblogs.com/ACFLOOD/p/5528035.html 准备openJDK源码和环境 1.在linux和macOS上编译openJDK更加友好, ...
- 编译安装php apache,CentOS编译安装Apache2.4+PHP5.6
CentOS下YUM安装PHP和Apache是比较简单的,可是一般默认情况下的PHP版本是5.3,Apache版本是2.2.因为考虑到PHP版本和Apache版本越高性能越好,就打算在CentOS下编 ...
- 走进JVM之一 自己编译openjdk源码
想要深入了解JVM,就必须了解其实现机制.了解JVM实现的最好方法便是自己动手编译JDK.好了,让我们开始吧! 1. 准备工作 获取OpenJDK源码 本次编译选择的是OpenJDK7u,官方源码包 ...
- CENTOS编译安装APACHE 2.4.6笔记
之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 2014 年结束,apache 2.4 都不一定会出现在 Centos 中,我是不打算等了,编译安装吧. ...
- Centos编译安装Apache 2.4.6笔记 配置
转载链接:http://www.onepx.com/centos-apache-246.html 之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 201 ...
- 使用rust编译linux,在 Ubuntu 上为 CentOS 编译 Rust 程序,
在 Ubuntu 上为 CentOS 编译 Rust 程序, 现在 CentOS 8 还没出来,最新的是 CentOS 7.6,上面搭载的 glibc 版本是 2.17,都已经是 2012 年那时候的 ...
- 菜鸟编译OPenJDK全过程记录
2019独角兽企业重金招聘Python工程师标准>>> 最近在看周志明的<深入理解java虚拟机>,其中第一章就是讲如何自己编译OpenJDK,根据书中介绍步骤,结合网上 ...
最新文章
- PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析
- 微软AI要参加IMO竞赛!小目标:数学金牌
- 洛谷——P3807 【模板】卢卡斯定理
- matplotlib.pyplot_Matplotlib Pyplot教程
- vpr文件转换flac_关于便携播放器音频格式转换的问题
- Leet Code OJ 7. Reverse Integer [Difficulty: Easy]
- 94年的博士后又拿到了这个金奖!原来是他的学弟
- Ubuntu 装机必备设置与软件安装
- 无法连接iphone软件更新服务器_上海腾科教育今日分享——提示“无法连接到服务器”的解决办法...
- Git基础操作及常见命令——详解
- 【转】JMeter学习(二十八)内存溢出解决方法
- java 下一代_Java 下一代: 混入和特征
- OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法
- mysql主从 副本集,MongoDB的主从、副本集模式
- Delphi运行期错误
- Python读写Excel实现大量数据处理
- 解决mac休眠睡眠异常耗电方法
- 《激活个体》读书笔记
- matlab中欠定方程组超定方程组_生辰八字中天干与地支是什么
- 《痞子衡嵌入式半月刊》 第 21 期
热门文章
- Python-Numpy(3)矩阵基本操作
- Input.GetTouch 获取触摸
- nginx怎么部署php项目,nginx怎么正确部署前端项目
- 机器人 瓷砖墙面清洗_瓷砖铺贴注意事项有哪些?
- mysql事务的4大特性
- 纯内存linux,7、内存知识和Linux基本原则
- SpringBoot如何使用策略模式干掉if else
- mysql的count报错_mysql的floor()报错注入方法详细分析
- android区块链 钱包_区块链研究实验室|从Android调用区块链智能合约
- 真厉害用python只要50行代码爬取黑丝美眉纯欲高清图