自己编译 GraalVM

这是视频对应的文字版
大家好,今天我来稍微录制一个视频,来讲一下如何自己编译一个 GraalVM JDK
由于我打字太慢,所以就先把主要内容先打好了

首先,需要这几个网站(放在简介中)
克隆时使用 depth=1
会稍微快一点
labs-openjdk(用于作为 boot jdk,看你所需版本,17+)
https://github.com/graalvm/labs-openjdk-20
从 release 下载合适的版本和架构
graal(源代码)
https://github.com/oracle/graal
在 vm 的 readme 中有一定的 build 指导,不过不太够
mx(编译工具)
https://github.com/graalvm/mx
可以好好看看 readme
graaljs (必要的依赖)
https://github.com/oracle/graaljs

第二步,准备一个编译目录,把这几个仓库克隆下来

第三步,配置 JAVA_HOME
和 PATH
export JAVA_HOME=$PWD/jvm
export PATH=$PATH:$PWD/mx
其中,jvm 是 jdk 重命名后的名字,自己更改

第四步,开始编译(建议编译 ce
,ce-complete
内容太多,不合适)
先 cd 到 源代码(graal)的 vm 目录下,测试一下 mx 是否可以使用
然后看看 mx 可以编译的 env,在 graal/vm/mx.vm 下
我们就编译 ce 足够了,后续可以使用 gu 工具下载其他组件
编译指令: mx --env ce build,
之后就是枯燥的等待编译的时候了

编译好后,可以在目录下找到对应文件
编译好的 GraalVM 的 JDK 版本和 boot jdk 版本一样
顺便,Mathematica是可以自己换 jdk 版本的,新版默认是 openjdk17
默认路径是安装路径下的 SystemFiles/Java