Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update linux_repro_build_compare.sh to build just from the SBOM #3425

Closed
andrew-m-leonard opened this issue Jul 11, 2023 · 10 comments
Closed
Assignees
Labels
enhancement Issues that enhance the code or documentation of the repo in any way reproducible-build Sbom issue relate to work of sbom x-linux Issues that affect or relate to the x64/x32 LINUX OS

Comments

@andrew-m-leonard
Copy link
Contributor

With the update to add gcc, glibc and bootjdk to the SBOM: #3385
The build from SBOM scripts on Linux: https://github.com/adoptium/temurin-build/blob/master/tooling/linux_repro_build_compare.sh
Needs updating to just use the SBOM.

@andrew-m-leonard andrew-m-leonard added enhancement Issues that enhance the code or documentation of the repo in any way reproducible-build Sbom issue relate to work of sbom labels Jul 11, 2023
@github-actions github-actions bot added x-linux Issues that affect or relate to the x64/x32 LINUX OS labels Jul 11, 2023
@sophia-guo sophia-guo self-assigned this Nov 27, 2023
@sophia-guo
Copy link
Contributor

With the PR https://github.com/adoptium/temurin-build/pull/3546/files correctly setup the build parameters I'm getting the error message

checking for version string... 21.0.1+12-LTS
configure: Found potential Boot JDK using configure arguments
configure: Potential Boot JDK found at /usr/lib/jvm/jdk-20.0.2+9 is not a working JDK; ignoring
configure: Output from java -version was: /usr/lib/jvm/jdk-20.0.2+9/bin/java: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib/jvm/jdk-20.0.2+9/bin/../lib/libjli.so)
configure: error: The path given by --with-boot-jdk does not contain a valid Boot JDK
configure exiting with result code 1
Error: No configurations found for /home/git/temurin-build/tooling/temurin-build/workspace/build/src.
Please run 'bash configure' to create a configuration.

/home/git/temurin-build/tooling/temurin-build/workspace/build/src/make/Init.gmk:124: *** Cannot continue.  Stop.
OpenJDK make failed, archiving make failed logs
Archiving and compressing with pigz

Feels like it's an environment issue. I'm using the mac m1 with docker - image of adoptopenjdk/centos6_build_image. gcc - https://ci.adoptium.net/userContent/gcc/gcc112.aarch64.tar.xz.

@sophia-guo
Copy link
Contributor

Also tried with Mac intel with docker got the same error.

@sophia-guo
Copy link
Contributor

I noticed that for jdk21 jenkins build is using adoptopenjdk/centos7_build_image, trying centos7 see if there is still this problem

@sophia-guo
Copy link
Contributor

Yes, change to centos7_build_image I can rebuild released jdk21 successfully.

@sophia-guo
Copy link
Contributor

Diff ( host - mac x64, adoptopenjdk/centos7 )
JDK

./linux_repro_build_compare.sh https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12/OpenJDK21U-sbom_x64_linux_hotspot_21.0.1_12.json https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12/OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz
Binary files jdk-21.0.1+12/jmods/java.base.jmod and compare.31/jdk-21.0.1+12/jmods/java.base.jmod differ
diff -r jdk-21.0.1+12/lib/classlist compare.31/jdk-21.0.1+12/lib/classlist
355d354
< java/net/DefaultInterface
358,360d356
< java/net/Inet6Address
< java/net/Inet6Address$Inet6AddressHolder
< java/net/Inet6AddressImpl
366,367d361
< java/net/InterfaceAddress
< java/net/NetworkInterface
Binary files jdk-21.0.1+12/lib/modules and compare.31/jdk-21.0.1+12/lib/modules differ
Binary files jdk-21.0.1+12/lib/server/classes.jsa and compare.31/jdk-21.0.1+12/lib/server/classes.jsa differ
Binary files jdk-21.0.1+12/lib/server/classes_nocoops.jsa and compare.31/jdk-21.0.1+12/lib/server/classes_nocoops.jsa differ
diff -r jdk-21.0.1+12/release compare.31/jdk-21.0.1+12/release
12c12
< BUILD_SOURCE_REPO="https://github.com/adoptium/temurin-build.git"
---
> BUILD_SOURCE_REPO="https://github.com/adoptium/temurin-build"

@andrew-m-leonard
Copy link
Contributor Author

andrew-m-leonard commented Nov 29, 2023

@sophia-guo the ipv6 difference is a known problem: #3429
If you can, disable ipv6 in your VM ?

@andrew-m-leonard
Copy link
Contributor Author

Yes, change to centos7_build_image I can rebuild released jdk21 successfully.

Yes, jdk17 and above require Centos7

@sophia-guo
Copy link
Contributor

@sophia-guo the ipv6 difference is a known problem: #3429 If you can, disable ipv6 in your VM ?

I'm using the adoptopenjdk/centos7_build_image

@andrew-m-leonard
Copy link
Contributor Author

@sophia-guo the ipv6 difference is a known problem: #3429 If you can, disable ipv6 in your VM ?

I'm using the adoptopenjdk/centos7_build_image

ah ok, which host? it's probably the host that would need ipv6 disabling

@sophia-guo
Copy link
Contributor

Closed by #3546

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issues that enhance the code or documentation of the repo in any way reproducible-build Sbom issue relate to work of sbom x-linux Issues that affect or relate to the x64/x32 LINUX OS
Projects
No open projects
Status: Done
Development

No branches or pull requests

3 participants
@sophia-guo @andrew-m-leonard and others