dragonwell-project / dragonwell8

Alibaba Dragonwell8 JDK
http://dragonwell-jdk.io
GNU General Public License v2.0
4.18k stars 492 forks source link

为何源码编译失败 #590

Closed qdcrash closed 1 year ago

qdcrash commented 1 year ago

Description bash ./configure --with-debug-level=release --with-native-debug-symbols=internal

make images dragonwell8/make && /usr/bin/gmake -s VERBOSE="-s" LOG_LEVEL="warn" -R -I shequ/dragonwell8/make/common "SPEC=/home/wangmengqi/shequ/dragonwell8/build/linux-aarch64-normal-server-release/spec.gmk" -j16 -f SourceRevision.gmk create-source-revision-tracker) Building OpenJDK for target 'images' in configuration 'linux-aarch64-normal-server-release'

Starting langtools

Compiling 2 files for BUILD_TOOLS shequ/dragonwell8/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java:28: error: package com.alibaba.tenant does not exist import com.alibaba.tenant.TenantContainer; ^ shequ/dragonwell8/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java:29: error: package com.alibaba.tenant does not exist import com.alibaba.tenant.TenantGlobals; ^ shequ/dragonwell8/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java:53: error: cannot find symbol if (TenantGlobals.isDataIsolationEnabled() && TenantContainer.current() != null) { ^ symbol: variable TenantGlobals location: class ZipFileIndexCache dragonwell8/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java:53: error: cannot find symbol if (TenantGlobals.isDataIsolationEnabled() && TenantContainer.current() != null) { ^ symbol: variable TenantContainer location: class ZipFileIndexCache dragonwell8/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java:54: error: cannot find symbol return TenantContainer.current() ^ symbol: variable TenantContainer location: class ZipFileIndexCache 5 errors gmake[1]: *** No rule to make target 'all', needed by 'default'. Stop.

为何编译需要com.alibaba.tenant 等相关包,如何才能编译通过,谢谢

sendaoYan commented 1 year ago

dragonwell8 master分支构建方法(以anolis8操作系统为例):

1、拉取dragonwell8代码:https://github.com/dragonwell-project/dragonwell8/
2、下载bootjdk:https://github.com/dragonwell-project/dragonwell8/releases/download/dragonwell-extended-8.16.17_jdk8u382-ga/Alibaba_Dragonwell_Extended_8.16.17_x64_linux.tar.gz
3、解开bootjdk,并配置JAVA_HOME
4、安装构建依赖:sudo yum groupinstall -y 'Development tools' && sudo yum install -y alsa-lib-devel cups-devel fontconfig-devel libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel
5、执行构建:bash configure --prefix=$PWD/install --with-debug-level=fastdebug && make all && make install
qdcrash commented 1 year ago

试过不行了,我在aarch64环境上 cat /etc/os-release NAME="EulerOS" VERSION="2.0 (SP8)" ID="euleros" ID_LIKE="rhel fedora centos" VERSION_ID="2.0" PRETTY_NAME="EulerOS 2.0 (SP8)" ANSI_COLOR="0;31"

sendaoYan commented 1 year ago
https://github.com/dragonwell-project/dragonwell8/releases/download/dragonwell-extended-8.16.17_jdk8u382-ga/Alibaba_Dragonwell_Extended_8.16.17_x64_linux.tar.gz

aarch64平台上,需要使用dragonwell8 aarch64作为bootjdk:https://github.com/dragonwell-project/dragonwell8/releases/download/dragonwell-extended-8.16.17_jdk8u382-ga/Alibaba_Dragonwell_Extended_8.16.17_aarch64_linux.tar.gz

启动构建之前,确保java -version打印字符包含:“Dragonwell Extended Edition”

image

qdcrash commented 1 year ago

感谢可以了,我之前用的是standard版本作为bootjdk,改用extend版本ok了,谢谢了