Temurin-build: 执行 docker build 时,我没有被引导到我获得生成的二进制文件的位置

创建于 2020-05-15  ·  6评论  ·  资料来源: adoptium/temurin-build

在 Mac OS X 10.15.4 上使用最新的 Mac Docker 客户端。

我跑:

./makejdk-any-platform.sh -c --docker --sudo --jdk-boot-dir /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/ jdk8u

它成功构建并在最后声明:

Archiving the build OpenJDK image and compressing with gzip
OpenJDK JDK path will be jdk8u262-b02. JRE path will be jdk8u262-b02-jre
Archiving the build OpenJDK image and compressing with gzip
Your final archive was created at /openjdk/build/src/build/linux-x86_64-normal-server-release/images/OpenJDK.tar.gz
Moving the artifact to /openjdk//target/
Archiving the build OpenJDK image and compressing with gzip
Your final archive was created at /openjdk/build/src/build/linux-x86_64-normal-server-release/images/OpenJDK.tar.gz
Moving the artifact to /openjdk//target/
All done!
Removing container jdk8-hotspot

目前尚不清楚/openjdk//target/是在容器内还是在主机上。 Mac OS X 10.15.4 不允许将目录写入/ ,因此如果它试图在那里写入它,那么它应该会失败。 如果这是在 docker 容器内,我想要一些有关如何将其取出的指导。

最有用的评论

@M-Davies 在打开问题和您的回复之间,我们已经开始生成 dockerfile,目前存在一些初期问题。 PR 应该在今天晚些时候让它工作:) 感谢您发现上述问题

@karanna至于生成的二进制文件在哪里:
https://github.com/AdoptOpenJDK/openjdk-build/blob/851fe1b72b53eb99b173498a6611a4327142063f/docker-build.sh#L183
/openjdk/target指的是在容器上,但上面这行实际上就像一个共享文件夹,因此您应该在主机系统上的openjdk-build/workspace/target/找到二进制文件,其中openjdk-build是其中的任何一个您在makejdk-any-platform.sh上运行的目录:-)
我将在上面提到的 PR 中包含一条注释,说明主机系统在哪里,以使其更清楚。

所有6条评论

尝试在我的机器 (Mac 10.15.5) 上运行时,我得到一个文件未找到。 提出 => https://github.com/AdoptOpenJDK/openjdk-build/issues/1909

➜  openjdk-build git:(master) ✗ ./makejdk-any-platform.sh -c --docker --sudo --jdk-boot-dir /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/ jdk8u
Starting ./makejdk-any-platform.sh to configure, build (Adopt)OpenJDK binary
Parsing opt: -c
Possible opt arg: --docker
Parsing opt: --docker
Possible opt arg: --sudo
Parsing opt: --sudo
Possible opt arg: --jdk-boot-dir
Parsing opt: --jdk-boot-dir
Possible opt arg: /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
Working dir is ./build/
[debug] COPY_MACOSX_FREE_FONT_LIB_FOR_JDK_FLAG=true
[debug] COPY_MACOSX_FREE_FONT_LIB_FOR_JRE_FLAG=true
JDK Image folder name: j2sdk-bundle/jdk*.jdk
JRE Image folder name: j2re-bundle/jre*.jre
Overriding JDK_BOOT_DIR, set to /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
Boot dir set to /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
/Users/[email protected]/Documents/Repos/openjdk-build/docker-build.sh: line 86: docker/dockerfile_generator.sh: No such file or directory

@M-Davies 在打开问题和您的回复之间,我们已经开始生成 dockerfile,目前存在一些初期问题。 PR 应该在今天晚些时候让它工作:) 感谢您发现上述问题

@karanna至于生成的二进制文件在哪里:
https://github.com/AdoptOpenJDK/openjdk-build/blob/851fe1b72b53eb99b173498a6611a4327142063f/docker-build.sh#L183
/openjdk/target指的是在容器上,但上面这行实际上就像一个共享文件夹,因此您应该在主机系统上的openjdk-build/workspace/target/找到二进制文件,其中openjdk-build是其中的任何一个您在makejdk-any-platform.sh上运行的目录:-)
我将在上面提到的 PR 中包含一条注释,说明主机系统在哪里,以使其更清楚。

我将在上面提到的 PR 中包含一条注释,说明主机系统在哪里,以使其更清楚。

@Willsparker你指的是什么公关?

我指的是我想在周五加入的公关:

公关应该在今天晚些时候让它工作:)

不幸的是,我没有考虑它,因为DockerfileCheck工作有一些无法预料的头痛。 它_应该_在今天。 我会把fixes标签放入其中,以便在此处链接:-)

@karanna你能再试一次吗? https://github.com/AdoptOpenJDK/openjdk-build/pull/1912已合并

它构建但仅供参考 - 它被暂停:

Successfully configured OpenJDK with the FreeType library (libfreetype)!
Relocating freetype headers
Checking and download CaCerts dependency
Retrieving cacerts file if needed
Initialized empty Git repository in /openjdk/build/cacerts_area/.git/
Updating origin
From https://github.com/AdoptOpenJDK/openjdk-build
 * [new branch]      douph1-1834      -> origin/douph1-1834
 * [new branch]      filter_artifacts -> origin/filter_artifacts
 * [new branch]      fix-j9-freetype-on-windows -> origin/fix-j9-freetype-on-windows
 * [new branch]      gdams-patch-1    -> origin/gdams-patch-1
 * [new branch]      hggit            -> origin/hggit
 * [new branch]      installer        -> origin/installer
 * [new branch]      installer_filter -> origin/installer_filter
 * [new branch]      jdk10u           -> origin/jdk10u
 * [new branch]      jitserver        -> origin/jitserver
 * [new branch]      master           -> origin/master
 * [new branch]      revert-1668-fix-checksum -> origin/revert-1668-fix-checksum
 * [new branch]      tellison-patch-1 -> origin/tellison-patch-1
 * [new tag]         v1.0.0           -> v1.0.0
 * [new tag]         v1.0.1           -> v1.0.1
 * [new tag]         v2.0.0           -> v2.0.0
From https://github.com/AdoptOpenJDK/openjdk-build
 * branch            master     -> FETCH_HEAD
Didn't find any existing openjdk repository at /openjdk/build/./build/ so cloning the source to openjdk
git clone --depth=1 https://github.com/adoptopenjdk/openjdk-jdk8u.git /openjdk//./build//src
Cloning into '/openjdk//./build//src'...
Checking out files: 100% (46062/46062), done.
checkoutRequiredCodeToBuild:
  workspace = /openjdk//./build//src
  BUILD_VARIANT = hotspot
  TAG =
  BRANCH = dev

我们需要在那里添加一个警告,说这可能需要 30 多分钟。 最后我得到:

...
Your final archive was created at /openjdk/build/src/build/linux-x86_64-normal-server-release/images/OpenJDK.tar.gz
Moving the artifact to /openjdk//target/
All done!
The finished image can be found in /Users/karianna/Documents/workspace/adoptopenjdk/openjdk-build/workspace/target on the host system
Removing container jdk8-hotspot
Password:
xargs: sudo docker: No such file or directory

所以看起来它做了正确的事情:-)

此页面是否有帮助?
0 / 5 - 0 等级