deepin下编译openjdk8
程序员文章站
2022-07-12 20:30:00
...
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的版本),具体步骤如下
- 配置新的apt源
笔者本人的deepin默认的apt找不到低版本的gcc,所以配置了一个新的源。如果小伙伴们使用的apt可以直接安装低版本gcc,则可以忽略该步骤。具体配置方法可以参考: apt源配置参考 - 安装gcc5
sudo apt-get install -y gcc-5
sudo apt-get install -y g++-5
- 修改软链接
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-5 gcc
sudo rm g++
sudo ln -s g++-5 g++
- 验证
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
- 配置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
- 设置忽略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
推荐阅读
-
Centos下编译Linux内核的具体实现方法
-
Linux下查看nginx apache mysql php的编译参数
-
Windows下编译PHP和memcache扩展教程
-
Linux 6下安装编译安装Nginx的步骤
-
nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264_streaming-2.2.7)
-
c#下将.cs文件编译成dll
-
CentOS 6.4系统下编译安装LNMP和配置PHP环境具体步骤
-
Ubuntu 17.04系统下源码编译安装opencv的步骤详解
-
linux下将编译安装的服务设置为开机启动
-
deepin 2014系统下安装mysql数据库的方法步骤