Ubuntu17.10下编译Openjdk8u
一开始笔者用的系统和软件版本都是最新的,导致编译了好几次都失败,最后找到解决的办法,现在记录一下编译及解决的方法
避免以后忘记
所用操作系统 Ubuntu17.10
所用软件及版本 make 3.8.1 gcc,g++ 4.8.0
操作步骤全是在root权限下执行
步骤一:
首先检查这几个软件的版本,低了也不行,太高也不行,版本号请对照上面说的,我就是因为版本号太高,而失败了好几次
make -v
gcc -v
g++ -v
版本太高的自己降级
make 降级方法:
百度下载 make3.8.1.tar.gz
解压
tar -zxvf make3.8.1.tar.gz
cd make3.8.1
./configure
make
make install
export PATH=/usr/local/bin/make:$PATH
source /etc/profile
make -v
按上述步骤,逐步执行
gcc降级方法:
apt install gcc-4.8
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
gcc -v
g++同上,把gcc换成g++就行了
步骤二:
然后下载Openjdk的源码 可以使用 Mercurial 拉取
apt install Mercurial
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u
然后进去拉取的源码的目录
cd jdk8u
bash ./get_source.sh
等待执行完毕,再执行
bash ./configure --with-debug-level=slowdebug
执行这个的过程中,需要什么依赖,会提示你,把所有依赖装完就好了
执行完毕后,继续执行
make all
然后不报错的话就编译成功了

只要所有的依赖的软件的版本正确的话,报错也无非就是两种,
第一种:
make:*** [check_os_vesion]
这句话的意思是 当前的Openjdk不支持当前的系统版本
解决方法:
在拉取的源码的根目录下执行下面的命令,如果没有vim编辑器请自行装载一个 apt install vim
vi hotspot/make/linux/Makefile
在里面找到下面这句话 添加上 4% 就行了,Openjdk8的话是在 228 行,其他的版本请自行查找
SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
然后回到源码的根目录重新执行
make all
第二种:
cc1plus: all warnings being treated as errors
这句话的意思是把所有的警告全部当成错误处理.
解决方法:
也是在源码的根目录下执行
vi hotspot/make/linux/makefile/gcc.make
把207行的删除或者注释掉就行了,也就是下面这一句
WARNINGS_ARE_ERRORS = -Werror
然后回到源码的根目录重新执行
make all
至此,编译Openjdk到此结束,有问题的可以给我留言,看到会尽快回复!
Ubuntu17.10下编译Openjdk8u的更多相关文章
- ubuntu15.10下编译安装wine1.8 rc4
ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...
- Ubuntu17.10 下配置caffe 仅CPU i386可以直接apt install caffe-cpu,但是怎么运行mnist代码我懵逼了
Ubuntu16.04下配置caffe(仅CPU) 参考:http://blog.csdn.net/zt_1995/article/details/56283249 第二次配置caffe环境,依 ...
- Ubuntu 14.10 下编译Hadoop2.4.0
在http://www.aboutyun.com/thread-8130-1-1.html 这里看到到,安装过程遇到了上面说的问题,所以将此文转载过来,以备不时之需,感谢此作者. 问题导读: 1.如果 ...
- Ubuntu17.10下启动Rancher
1.安装Docker: 获取最新的docker安装包 wget -qO- https://get.docker.com/ | sh 2.启动docker后台服务: service docker sta ...
- ubuntu12.10下OpenFoam的编译
最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...
- Solaris 10下Qt编译Oracle 10g驱动
上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...
- 【转】ubuntu 11.10(32位系统)下编译android源码
原文网址:http://www.cnblogs.com/dwayne/archive/2011/11/16/2251734.html 本文介绍在ubuntu 11.10系统下编译android 2.3 ...
- Ubuntu 11.10下GRUB 2 1.99版编译安装笔记
Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
随机推荐
- Ubuntu16.04实用python脚本 - 启动nautilus(Gnome的文件管理器)!
nautilus是Gnome的图形的文件管理器,可以很方便管理各种文件,但是通常我们不是在root用户下,如果想在root下使用,必须在shell里面输入命令: sudo nautilus 这样做固然 ...
- leetcode 33 Search in Rotated Sorted Array JAVA
题目: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这个 ...
- iOS检测项目图片资源是否包含P3图片
1.问题描述 我们需要知道的是在iOS9.3以下系统上,.ipa包内如果含有p3图片,将会导致严重的闪退问题,具体原因还请google,非本文的重点. 2.问题解决 拿到的如果是ipa包(不是则跳过) ...
- HashMap源码解析 非原创
Stack过时的类,使用Deque重新实现. HashCode和equals的关系 HashCode为hash码,用于散列数组中的存储时HashMap进行散列映射. equals方法适用于比较两个对象 ...
- lua 5.3 英文手册 自己收集整理版
/* ** state manipulation */ LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);//创建lua虚拟机 LUA ...
- 洛谷P4705 玩游戏(生成函数+多项式运算)
题面 传送门 题解 妈呀这辣鸡题目调了我整整三天--最后发现竟然是因为分治\(NTT\)之后的多项式长度不是\(2\)的幂导致把多项式的值存下来的时候发生了一些玄学错误--玄学到了我\(WA\)的点全 ...
- iOS核心动画之anchorpoint
anchorpoint是什么 All geometric manipulations to the view occur about the specified point 就是说所有的动画参考点都是 ...
- Hibernate 自动创建表bug问题解决
我在hibernate.cfg.xml配置文件中添加了自动创建表的的属性:(这样当数据库中没有此表是,hibernate就会自动帮我们创建一张表) <property name="hb ...
- 关于云主机Thinkphp框架Session跨页失效的问题
在网站部署到云主机之后,前台一直能够正常显示,后台确登录不上去,验证码也无法显示,研究半天,才确定是Session跨页传递失效的问题.找网上各种解决方法,都是关于Php.ini文件的设置,可又解决不了 ...
- [原创]VMware Workstation 14.1.3 Pro安装CentOS_7.6.1810
前言 Linux作为最主流的服务器操作系统,在市场上的使用占比保持着领先对位.其中CentOS作为基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本,在企业的服务器中,也 ...