当前位置: 首页 > 后端技术 > Java

在maxosx-aarch64上编译JDK源码

时间:2023-04-01 23:30:57 Java

尝试直接编译JDK8(这部分可以直接跳过)准备工作在jdk.java.net上下载JDK8源码build.html文件,不同的JDK版本,不同的位置相同的。编译JDK需要仔细阅读BootJDK,需要之前版本的JDK,所以这里需要安装JDK7(brewinstall--caskhomebrew/cask-versions/zulu7)configurebashconfigure--with-debug-level=slowdebug--with-jvm-variants=server--enable-dtrace--disable-warnings-as-errorsmake在make中可能会遇到各种依赖安装。总结新版macbookpro使用的是m1芯片,所以旧版不支持编译。如果是Intel芯片的MACOS,应该问题不大。在Linux(mintos)上编译JDK,我选择了JDK12的源码,并根据build.html安装了JDK11。根据bashconfigure中的提示,安装缺失文件的过程很简单,没有问题Compilingonmacosx-aarch64目前只能在macosx-aarch64上安装JDK18的JDK17、18、19版本。有关详细信息,请参阅支持构建平台。因为JDK17是稳定版,编译JDK18GA。遇到的问题error:parameter'SizeOfTag'setbutnotused此问题已在JDK-8283221中发现。目前优先级不是很高。有一个解决方法--disable-warnings-as-errorguarantee(val<(1ULL<0,"mustbe");断言(nbits>0,“必须是”);assert(count*nbits<=64,"必须是");//特殊情况nbits==64,因为使用该nbits值向下移动会导致未定义的行为。如果(nbits==64){返回位;}//----------------------uint64_t结果=0;uint64_tmask=ones(nbits);编译configurebashconfigure--with-debug-level=slowdebug--with-jvm-variants=server--enable-dtrace--disable-warnings-as-errorsmake如果遇到各种依赖安装,可以用brew安装。结果java-vopenjdk18-internal2022-03-22OpenJDKRuntimeEnvironment(slowdebugbuild18-internal+0-adhoc.chenpei.jdk-jdk-18-ga)OpenJDK64-BitServerVM(slowdebugbuild18-internal+0-adhoc.chenpei.jdk-jdk-18-ga,mixedmode)总结目前对macosx-aarch64的支持还不错,以后的版本在macos中应该会更容易。