В 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 не позволяет записывать каталоги в /
, поэтому, если он попытается записать его туда, он должен потерпеть неудачу. Если он находится внутри контейнера докеров, мне нужны инструкции, как его достать.
Я получаю сообщение "Файл не найден" при попытке запустить его на моем компьютере (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
Так что, похоже, он поступил правильно :-)
Самый полезный комментарий
@ 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, упомянутый выше, комментарий, в котором указано, где находится хост-система, чтобы было понятнее.