Temurin-build: Beim Ausführen eines Docker-Builds werde ich nicht dahin geführt, wo ich die resultierende Binärdatei bekomme

Erstellt am 15. Mai 2020  ·  6Kommentare  ·  Quelle: adoptium/temurin-build

Unter Mac OS X 10.15.4 mit dem neuesten Docker-Client für Mac.

Ich renne:

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

Es baut erfolgreich auf und gegen Ende heißt es:

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

Es ist nicht klar, ob sich /openjdk//target/ im Container oder auf dem Host befindet. Mac OS X 10.15.4 lässt das Schreiben von Verzeichnissen in / . Wenn es also versucht hat, es dort zu schreiben, sollte es fehlschlagen. Wenn sich dies im Docker-Container befindet, hätte ich gerne eine Anleitung, wie Sie es herausbekommen.

bug

Hilfreichster Kommentar

@M-Davies Zwischen dem Öffnen des Problems und Ihrer Antwort sind wir dazu übergegangen, die Dockerfiles zu generieren, bei denen derzeit einige Kinderkrankheiten auftreten. Eine PR sollte später heute reinkommen, damit es funktioniert :) Danke, dass du das obige Problem entdeckt hast

@karianna Wo die resultierende Binärdatei ist:
https://github.com/AdoptOpenJDK/openjdk-build/blob/851fe1b72b53eb99b173498a6611a4327142063f/docker-build.sh#L183
/openjdk/target bezieht sich auf den Container, aber die obige Zeile ist effektiv wie ein freigegebener Ordner, daher sollten Sie die Binärdatei in openjdk-build/workspace/target/ auf Ihrem Hostsystem finden, wobei openjdk-build was auch immer ist Verzeichnis, in dem Sie makejdk-any-platform.sh :-)
Ich werde in die oben erwähnte PR einen Kommentar einfügen, der sagt, wo es das Host-System ist, um es klarer zu machen.

Alle 6 Kommentare

Ich erhalte eine Datei nicht gefunden, wenn ich versuche, diese auf meinem Computer auszuführen (Mac 10.15.5). Angehoben => 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 Zwischen dem Öffnen des Problems und Ihrer Antwort sind wir dazu übergegangen, die Dockerfiles zu generieren, bei denen derzeit einige Kinderkrankheiten auftreten. Eine PR sollte später heute reinkommen, damit es funktioniert :) Danke, dass du das obige Problem entdeckt hast

@karianna Wo die resultierende Binärdatei ist:
https://github.com/AdoptOpenJDK/openjdk-build/blob/851fe1b72b53eb99b173498a6611a4327142063f/docker-build.sh#L183
/openjdk/target bezieht sich auf den Container, aber die obige Zeile ist effektiv wie ein freigegebener Ordner, daher sollten Sie die Binärdatei in openjdk-build/workspace/target/ auf Ihrem Hostsystem finden, wobei openjdk-build was auch immer ist Verzeichnis, in dem Sie makejdk-any-platform.sh :-)
Ich werde in die oben erwähnte PR einen Kommentar einfügen, der sagt, wo es das Host-System ist, um es klarer zu machen.

Ich werde in die oben erwähnte PR einen Kommentar einfügen, der sagt, wo es das Host-System ist, um es klarer zu machen.

@Willsparker Welche PR

Ich bezog mich auf eine PR, die ich am Freitag machen wollte:

Eine PR sollte später heute reinkommen, damit es funktioniert :)

Leider bin ich nicht dazu gekommen, da es bei dem DockerfileCheck Job einige unvorhergesehene Kopfschmerzen gibt. Es _sollte_ heute sein. Ich werde das fixes Tag einfügen, sobald es drin ist, damit es hier verlinkt ist :-)

@kariana Kannst du es noch einmal versuchen? https://github.com/AdoptOpenJDK/openjdk-build/pull/1912 wurde zusammengeführt

Es baut auf, aber zu Ihrer Information - es wirkt wie angehalten:

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

Wir müssen dort eine Warnung hinzufügen, die besagt, dass dies mehr als 30 Minuten dauern kann. Am Ende bekam ich:

...
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

Scheint also das Richtige getan zu haben :-)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen