learn and grow up

mac下编译openjdk14u36

字数统计: 700阅读时长: 2 min
2020/08/09 Share

写在前面

​ 年初自己在windows上编译了openjdk8,花费了好几天才成功。前几个月换到mac上,所有的东西都不能用,感到很可惜,所以自己只能重新编译一次。

​ 幸好mac上编译openjdk相对于windows方便很多。不需要安装那么多插件,建议大家在Mac可以直接按照doc/build.md里的指引进行操作即可,唯一需要注意的就是各个工具版本就好。

​ 本机各项环境配置如下:ideaConfig

​ ps:如果想编译旧版本的openjdk,前几天尝试了下,会报 找不到#include 头文件,查了很久,是因为链接时会找不到libstdc++,因为xcode 10以后删除了libstdc++,只需要把xcode9中/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++和/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libstdc++.*复制到xcode10相同的目录即可,但是我一直没找到相应文件,遂采用最新版本的openjdk。

过程

1、安装git、brew、gun bash等基础组件,网上很多教程,忽略

2、安装Xcode,为了方便操作,虽说不需要xcode ide,但是很多lib都需要,所以直接去App Store下载xcode即可。

3、安装 Command Line Tools
在终端机里输入指令:

1
xcode-select --install

在终端机输入:

1
xcode-select -p

显示出: /Applications/Xcode.app/Contents/Developer
即是成功安装!
什么是Command Line Tools?
一种可以编译程序的软件。但我们不会直接使用它,你可以把它想成是电脑执行编程需要的软体工具跟套件之一就可以了。

4、xcodebuild检查和配置

​ 在shell里输入xcodebuild看是否找不到路径等错误,如有此种错误需要进行xcodebuild路径确认,命令如下

1
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

5、安装其他必须的组件

1
2
3
4
brew install mercurial 
brew install autoconf
brew install freetype
brew install ccache

6、下载源码

​ 源码地址网上很多,大致分为官网、github、mercurial三种方式,国内访问可能会比较慢,可以直接去gitee下载其他热心群众上传好的即可

7、configure

​ 下载好后就到openjdk的包含configure下执行命令

1
bash configure  --with-target-bits=64 --with-debug-level=slowdebug --disable-warnings-as-errors

之所以没有加build.md上的加:–with-freetype。是因为加了后提示freetype error :system and bundle,所以索性去掉,就没问题了~最后没有提示error级别信息说明configure成功啦

8、make

​ 终于到了最终的编译环节。可以使用如下命令进行make,方便查看日志

1
make LOG=trace all

我比较幸运,所有配置都没问题,过了20几分钟,编译成功!

ideaConfig

9、测试

​ 进入编译好的如下目录:/build/macosx-x86_64-server-slowdebug/jdk/bin进行测试~

ideaConfig

CATALOG
  1. 1. 写在前面
  2. 2. 过程