Temurin-build: При выполнении сборки докера я не ориентируюсь на то, где я получаю результирующий двоичный файл

Созданный на 15 мая 2020  ·  6Комментарии  ·  Источник: adoptium/temurin-build

В Mac OS X 10.15.4 с последней версией клиента Docker для Mac.

Я бегу:

./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 не позволяет записывать каталоги в / , поэтому, если он попытается записать его туда, он должен потерпеть неудачу. Если он находится внутри контейнера докеров, мне нужны инструкции, как его достать.

Самый полезный комментарий

@ M-Davies Между открытием проблемы и вашим ответом мы перешли к созданию файлов докеров, которые в настоящее время вызывают несколько проблем. PR должен быть позже сегодня, чтобы он заработал :) Спасибо, что заметили вышеупомянутую проблему.

@karianna Что касается того, где находится результирующий двоичный файл:
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 Между открытием проблемы и вашим ответом мы перешли к созданию файлов докеров, которые в настоящее время вызывают несколько проблем. PR должен быть позже сегодня, чтобы он заработал :) Спасибо, что заметили вышеупомянутую проблему.

@karianna Что касается того, где находится результирующий двоичный файл:
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 Какой пиар вы имеете в виду?

Я имел в виду PR, который хотел провести в пятницу:

PR должен быть позже сегодня, чтобы все заработало :)

К сожалению, до этого я не дошел, так как с заданием DockerfileCheck возникают непредвиденные головные боли. Это должно быть сегодня. Я вставлю в него тег fixes как только он будет вставлен, чтобы он был связан здесь :-)

@karianna Можете ли вы попробовать еще раз? 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 рейтинги