最近研究虚拟机,于是琢磨着编译一下jdk的源码,参考网上的资料,编译了OpenJdk10源码。原来以为坑很多,没想到基本上还算顺利,这里记录一下

主要步骤

参考了这2篇文章
https://blog.csdn.net/asahinokawa/article/details/82226093
https://blog.csdn.net/wd2014610/article/details/81664062
我的macOS是10.14.6

java -version
java version "11.0.4" 2019-07-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)

遇到的问题

  1. 没有安装autoconf
    解决办法 brew install autoconf
  2. xcodebuild相关的错误。可能还是与之前升级了系统有关。其详细的错误信息&解决过程如下:

configure: error: No xcodebuild tool and no system framework headers found, use –with-sysroot or –with-sdk-name to provide a path to a valid SDK
于是运行了一下xcodebuild,错误信息如下:
xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory ‘/Library/Developer/CommandLineTools’ is a command line tools instance
解决方案:
sudo xcode-select –switch /Applications/Xcode.app/Contents/Developer

  • 3. make images 报错No CONF given, but more than one configuration found in自己编译了不同版本。解决办法有两个:

到build目录下删除不想要的。
指定构建版本
make images CONF=windows-x86_64-normal-server-slowdebug