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

[DONOTMERGE] Switch llvm source build to v20 #57658

Closed
wants to merge 34 commits into from

Conversation

Zentrik
Copy link
Member

@Zentrik Zentrik commented Mar 6, 2025

This is for testing with pkgeval before we have built on yggdrasil

@nanosoldier runtests(configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1", "USE_BINARYBUILDER_LLVM=0"],), vs_configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

@Zentrik Zentrik added DO NOT MERGE Do not merge this PR! external dependencies Involves LLVM, OpenBLAS, or other linked libraries labels Mar 6, 2025
@maleadt
Copy link
Member

maleadt commented Mar 9, 2025

PkgEval got restarted:

@nanosoldier runtests(configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1", "USE_BINARYBUILDER_LLVM=0"],), vs_configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

Only one job ahead of this, so it should report within 2 days.

@maleadt
Copy link
Member

maleadt commented Mar 10, 2025

The build failed:

CMake 3.20.0 or higher is required.  You are running version 3.18.4

PkgEval is currently using the latest rootfs, https://github.com/JuliaCI/rootfs-images/releases/tag/v7.10. I guess we'll need to upgrade from bullseye to bookworm, https://github.com/JuliaCI/rootfs-images/blob/e7be8086ff1285b0f333ca72884977d01aed0e1f/src/build_img/debian.jl#L17.

@giordano
Copy link
Contributor

giordano commented Mar 10, 2025

You can download cmake with contrib/download_cmake.sh, but no idea how do that for pkgeval invocations (if doable at all). But maybe the Makefile here can be hacked to force that.

@nanosoldier
Copy link
Collaborator

Your job failed. Consult the server logs for more details (cc @maleadt).

@Zentrik
Copy link
Member Author

Zentrik commented Mar 10, 2025

I forgot we added an invocation to the download cmake script for the source build, JuliaCI/julia-buildkite@552037b.

@Zentrik
Copy link
Member Author

Zentrik commented Mar 10, 2025

@maleadt would it be easy to get this fixed otherwise I'll start the llvm yggy build?

@giordano
Copy link
Contributor

Can't you run the download cmake script as part of the build script in this PR? This is just for testing anyway.

@Zentrik
Copy link
Member Author

Zentrik commented Mar 10, 2025

Can't you run the download cmake script as part of the build script in this PR? This is just for testing anyway.

Yep, ignore me then tim, I'll do that.

@Zentrik
Copy link
Member Author

Zentrik commented Mar 10, 2025

Let's see if this works

@nanosoldier runtests(configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1", "USE_BINARYBUILDER_LLVM=0"],), vs_configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

@nanosoldier
Copy link
Collaborator

Your job failed. Consult the server logs for more details (cc @maleadt).

@Zentrik
Copy link
Member Author

Zentrik commented Mar 12, 2025

I suspect it's missing some package, the source build uses the llvm-passes rootfs image.

@maleadt
Copy link
Member

maleadt commented Mar 12, 2025

/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: warning: libz.so.1, needed by ../../lib/libLLVM.so.20.1jl, not found (try using -rpath or -rpath-link)
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `compress2'
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `crc32'
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `compressBound@ZLIB_1.2.0'
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `uncompress'
collect2: error: ld returned 1 exit status

@Zentrik
Copy link
Member Author

Zentrik commented Mar 12, 2025

Hmm, this just seems like a llvm bug where it's not specifying the path to zlib when linking with libLLVM.

@Zentrik Zentrik force-pushed the llvm-20-test-pkgeval branch 2 times, most recently from ea8c8b5 to 3d11791 Compare March 13, 2025 14:54
@Zentrik
Copy link
Member Author

Zentrik commented Mar 13, 2025

Let's try this one more time

@nanosoldier runtests(configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1", "USE_BINARYBUILDER_LLVM=0"],), vs_configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

Report summary

❗ Packages that crashed

2 packages crashed only on the current version.

  • A segmentation fault happened: 2 packages

✖ Packages that failed

7 packages failed only on the current version.

  • Package fails to precompile: 1 packages
  • Package has test failures: 3 packages
  • Test duration exceeded the time limit: 2 packages
  • Test log exceeded the size limit: 1 packages

673 packages failed on the previous version too.

✔ Packages that passed tests

10 packages passed tests only on the current version.

  • Other: 10 packages

3665 packages passed tests on the previous version too.

~ Packages that at least loaded

1 packages successfully loaded only on the current version.

  • Other: 1 packages

1987 packages successfully loaded on the previous version too.

➖ Packages that were skipped altogether

4034 packages were skipped on the previous version too.

@giordano
Copy link
Contributor

That's remarkably few new failures.

@Zentrik Zentrik force-pushed the llvm-20-test-pkgeval branch from 3d11791 to f12db52 Compare March 14, 2025 15:52
@Zentrik
Copy link
Member Author

Zentrik commented Mar 14, 2025

All looked good, but let's confirm on the newer commit from our llvm fork.

@nanosoldier runtests(configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1", "USE_BINARYBUILDER_LLVM=0"],), vs_configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

Report summary

❗ Packages that crashed

2 packages crashed only on the current version.

  • A segmentation fault happened: 2 packages

✖ Packages that failed

7 packages failed only on the current version.

  • Package has test failures: 4 packages
  • Networking-related issues were detected: 1 packages
  • Test duration exceeded the time limit: 2 packages

606 packages failed on the previous version too.

✔ Packages that passed tests

4 packages passed tests only on the current version.

  • Other: 4 packages

3334 packages passed tests on the previous version too.

~ Packages that at least loaded

1737 packages successfully loaded on the previous version too.

➖ Packages that were skipped altogether

4691 packages were skipped on the previous version too.

@benlorenz
Copy link
Contributor

Might make sense to re-run PkgEval once #57785 is merged?
Because currently 4691 packages were skipped compared to 1357 two weeks ago (when the PkgEval package installation issue was originally introduced).

@IanButterworth
Copy link
Member

Good to rerun now

@Zentrik Zentrik force-pushed the llvm-20-test-pkgeval branch from 1b962d6 to 48fdcdb Compare March 15, 2025 22:45
@Zentrik
Copy link
Member Author

Zentrik commented Mar 16, 2025

@nanosoldier runtests(configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1", "USE_BINARYBUILDER_LLVM=0"],), vs_configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

@Zentrik
Copy link
Member Author

Zentrik commented Mar 16, 2025

Hmm, this x86 darwin failure looks real given it doesn't occur on #57792.

 clang++ -mmacosx-version-min=10.14 -m64  -shared -fPIC -L[buildroot]/usr/lib/julia -L[buildroot]/usr/lib -L[buildroot]/usr/lib -o [buildroot]/usr/lib/julia/sysbase.dylib -Xlinker -all_load [buildroot]/usr/lib/julia/sysbase-o.a  -ljulia-internal -ljulia $([ Darwin = WINNT ] && echo '' -lopenlibm -lssp --disable-auto-import --disable-runtime-pseudo-reloc)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#1.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#1.o)
duplicate symbol '___truncdfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#1.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#2.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#2.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#3.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#3.o)
duplicate symbol '___truncdfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#3.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#4.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#4.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#5.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#5.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#6.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#6.o)
duplicate symbol '___truncdfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#6.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#7.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#7.o)
duplicate symbol '___truncdfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#7.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#8.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#8.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#9.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#9.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#10.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#10.o)
duplicate symbol '___extendhfsf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#11.o)
duplicate symbol '___truncsfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#11.o)
duplicate symbol '___truncdfhf2' in:
    [buildroot]/usr/lib/julia/sysbase-o.a(text#0.o)
    [buildroot]/usr/lib/julia/sysbase-o.a(text#11.o)
ld: 27 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [[buildroot]/usr/lib/julia/sysbase.dylib] Error 1

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

Report summary

❗ Packages that crashed

2 packages crashed only on the current version.

  • An internal error was encountered: 1 packages
  • A segmentation fault happened: 1 packages

1 packages crashed on the previous version too.

✖ Packages that failed

19 packages failed only on the current version.

  • Package has test failures: 6 packages
  • Package tests unexpectedly errored: 1 packages
  • Test duration exceeded the time limit: 11 packages
  • Test log exceeded the size limit: 1 packages

1449 packages failed on the previous version too.

✔ Packages that passed tests

20 packages passed tests only on the current version.

  • Other: 20 packages

5049 packages passed tests on the previous version too.

~ Packages that at least loaded

16 packages successfully loaded only on the current version.

  • Other: 16 packages

2923 packages successfully loaded on the previous version too.

➖ Packages that were skipped altogether

1 packages were skipped only on the current version.

  • Package could not be installed: 1 packages

905 packages were skipped on the previous version too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DO NOT MERGE Do not merge this PR! external dependencies Involves LLVM, OpenBLAS, or other linked libraries
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants