mac环境构建openjdk10

mac环境构建openjdk10

先把openjdk代码拉取下来,估计几个小时吧。或者下载,也很慢。

github:https://github.com/dmlloyd/openjdk

baiduyun:https://pan.baidu.com/s/1skVhHlN

如果没有安装xcode command line tools,还需要执行以下命令

xcode-select --install

还需要安装freetype,执行

brew install freetype

最后确认一下,有没有安装jdk,为啥编译jdk还需要先安装jdk,可以看看编译原理

openjdk git:(jdk10/master) ✗ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

下面开始jdk编译配置:

bash configure --with-jvm-variants=server  --with-target-bits=64 --enable-debug   --disable-warnings-as-errors

需要其他配置可以执行以下命令查看,不需要就过

bash configure -h

或者也可以查看doc目录里的building.html或building.md

配置成功大抵是下面这样

Configuration summary:
* Debug level:    fastdebug
* HS debug level: fastdebug
* JDK variant:    normal
* JVM variants:   server
* OpenJDK target: OS: macosx, CPU architecture: x86, address length: 64
* Version string: 10-internal+0-adhoc.xxx.openjdk (10-internal)

Tools summary:
* Boot JDK:       java version "9.0.1" Java(TM) SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)  (at /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home)
* Toolchain:      clang (clang/LLVM)
* C Compiler:     Version 9.0.0 (at /usr/bin/clang)
* C++ Compiler:   Version 9.0.0 (at /usr/bin/clang++)

下面开始构建:

make

构建日志:

Building target 'default (exploded-image)' in configuration 'macosx-x86_64-normal-server-fastdebug'
Compiling 8 files for BUILD_TOOLS_LANGTOOLS
Creating support/modules_libs/java.base/libjsig.dylib from 1 file(s)
Creating hotspot/variant-server/tools/adlc/adlc from 13 file(s)
Compiling 2 files for BUILD_JVMTI_TOOLS
Warning: No mercurial configuration present and no .src-rev
Parsing 1 properties into enum-like class for jdk.compiler
Compiling 13 properties into resource bundles for jdk.javadoc
Compiling 12 properties into resource bundles for jdk.jdeps
Compiling 20 properties into resource bundles for jdk.compiler
Compiling 7 properties into resource bundles for jdk.jshell
Compiling 117 files for BUILD_INTERIM_java.compiler
Compiling 397 files for BUILD_INTERIM_jdk.compiler
...
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
Compiling 4 files for BUILD_JIGSAW_TOOLS
Stopping sjavac server
Finished building target 'default (exploded-image)' in configuration 'macosx-x86_64-normal-server-fastdebug'

构建成功,在MacBook Pro 10.13上编译大概需要十几分钟左右

验证一下:

cd build/macosx-x86_64-normal-server-fastdebug/jdk/bin
bin git:(jdk10/master) ✗ ./java -version
openjdk version "10-internal"
OpenJDK Runtime Environment (fastdebug build 10-internal+0-adhoc.xxx.openjdk)
OpenJDK 64-Bit Server VM (fastdebug build 10-internal+0-adhoc.xxx.openjdk, mixed mode)

本来要构建jdk9,结果失败了,但是jdk10成功了,那就先这样了。
下次再来好好研究9的构建。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,329评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,205评论 25 709
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,052评论 6 342
  • “芹、荠、母子草、繁缕、佛之座、菘、萝卜,是为七草”。三寒四暖、春霞霭霭的时候,便有花梗从荠的根部抽出,顶端开满细...
    乐活的世界阅读 4,421评论 1 7
  • 这是一篇负能量满满的文章,介意者慎读。 我今年大三,嗯,一位老学姐了,今天想吐槽我的室友,我所说的一切并不代表我有...
    凉城未凉阅读 4,818评论 12 8