deepin下编译openjdk8

deepin下编译openjdk8

经过半天的努力终于在deepin下成功编译了OpenJDK8,现将实现步骤记录下来。如有错误欢迎各位大佬指正。由于本人水平有限,各位小伙伴如果有问题的化,就请自行解决吧。

环境准备

Deppin:15.11
Bootstrap JDK:1.7
openJDK:1.8
gcc:5.4.0

安装依赖
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfreetype6-dev libasound2-dev ccache
gcc降级

由于deepin默认gcc版本较高,会导致编译失败。所以需要将gcc版本将到5(笔者使用了gcc5.4.0的版本),具体步骤如下

  1. 配置新的apt源
    笔者本人的deepin默认的apt找不到低版本的gcc,所以配置了一个新的源。如果小伙伴们使用的apt可以直接安装低版本gcc,则可以忽略该步骤。具体配置方法可以参考: apt源配置参考
  2. 安装gcc5
sudo apt-get install -y gcc-5
sudo apt-get install -y g++-5
  1. 修改软链接
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-5 gcc
sudo rm g++
sudo ln -s g++-5 g++
  1. 验证
gcc -v
g++ -v
安装Bootstrap JDK

由于OpenJDK部分代码是使用Java语言实现,所以编译这些Java代码的时候需要一个编译时可以使用的JDK来支持,此JDK极为Bootstrap JDK。此处直接将下载的JDK1.7解压当做Bootstrap JDK使用即可。本文以 [BootJDK] 来表示bootstrap jdk的解压目录。

解压OpenJDK

将要编译的OpenJDK解压到指定的目录,本文以 [OpenJDK] 来表示要编译的OpenJDK解压目录

配置OpenJDK
  1. 配置OpenJDK
    注意此处 [BootJDK] 表示bootstrap jdk的解压目录
sudo ./configure --with-target-bits=64 --with-boot-jdk=[BootJDK] --with-debug-level=slowdebug  --enable-debug-symbols ZIP_DEBUGINFO_FILES=0
  1. 设置忽略waring信息
    不设置的话,会出现将一些waring作为error抛出导致无法继续编译。此处笔者忽略掉了全部的waring,有其他需要的小伙伴可以自行学习了解。
    修改配置文件[OpenJDK]/hotspot/make/linux/makefiles/gcc.make文件

WARNINGS_ARE_ERRORS = -Wno-all # 207行
WARNINGS_FLAGS = -Wno-all # 224行

编译OpenJDK
sudo make all DISABLE_HOTSPOT_OS_VERSION_CHECK=OK ZIP_DEBUGINFO_FILES=0

见到下图所示内容代表编译成功

测试编译是否成功

[OpenJDK]/build/linux-x86_64-normal-server-slowdebug/jdk/bin下执行./java -version

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值