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

[AutoBuild] Always require JLLWrappers v1.7.0 #1357

Merged
merged 3 commits into from
Dec 24, 2024
Merged

Conversation

giordano
Copy link
Member

This is necessary to include JuliaPackaging/JLLWrappers.jl#74, which allows loading JLL packages with unknown platforms.

This will be mildly disruptive because compat bounds will change and CI checks in the General registry won't like them, I suggest we resolve conflicts in the General registry (users installing such packages will likely upgrade to JLLWrappers v1.7 anyway). I considered the option of changing the compat bound only if riscv64 is among the architectures of the platforms in the new build, but

  • the list of platforms isn't currently passed to register_jll, we could change that, but it's a a bit of a churn
  • doing that wouldn't even be sufficient to avoid all issues in the registry, as we'll still likely publish new builds for many packages for the riscv64 architecture, without changing the x.y.z version numbers, so that a good amount of work in the General registry will be necessary in any case

@giordano giordano force-pushed the mg/jllwrappers-compat branch from 78b8040 to bd62de3 Compare December 24, 2024 11:31
@giordano giordano mentioned this pull request Dec 24, 2024
@giordano
Copy link
Member Author

cc -o /tmp/testsuite/riscv64-linux-gnu/fortran/hello_world/hello_world -g -O2 /tmp/testsuite/riscv64-linux-gnu/fortran/hello_world/hello_world.o -lgfortran -lm -lquadmath
/opt/riscv64-linux-gnu/bin/../lib/gcc/riscv64-linux-gnu/12.1.0/../../../../riscv64-linux-gnu/bin/ld: cannot find -lquadmath: No such file or directory
collect2: error: ld returned 1 exit status

@giordano
Copy link
Member Author

Ok, can workaround locally with CFLDFLAGS="-lgfortran -lm"

% julia +1.7 -e 'using BinaryBuilderBase; BinaryBuilderBase.runshell(Platform("riscv64", "linux"); compilers=[:c, :go])'
[ Info: Running privileged container via `sudo`, may ask for your password:
 Downloading artifact: Go.v1.23.0.x86_64-linux-musl.squashfs
[ Info: No hash cache found
[ Info: Calculated hash 2bd9cf759bea40da8b4c2296916975acfe4c88b5cfc9cb05e21ac50f819ebf17 for file /tmp/jl_rvmyZg-download.gz
  Downloaded artifact: Go.v1.23.0.x86_64-linux-musl.squashfs
sandbox:${WORKSPACE} # make -j${nproc} -sC /usr/share/testsuite install CFLDFLAGS="-lgfortran -lm"
cc -o /tmp/testsuite/riscv64-linux-gnu/c/hello_world/hello_world -g -O2 hello_world.c
cc -shared -o /tmp/testsuite/riscv64-linux-gnu/c/dyn_link/libfoo/libfoo.so -fPIC -g -O2 -lm libfoo/libfoo.c
gcc -o /tmp/testsuite/riscv64-linux-gnu/c/openmp/openmp -g -O2 -fopenmp openmp.c
cc -o /tmp/testsuite/riscv64-linux-gnu/c/dyn_link/dyn_link -I/usr/share/testsuite/c/dyn_link/libfoo -fPIC -g -O2 -Wl,-z,origin -Wl,-rpath,$ORIGIN/libfoo -L/tmp/testsuite/riscv64-linux-gnu/c/dyn_link/libfoo -lfoo dyn_link.c
c++ -o /tmp/testsuite/riscv64-linux-gnu/cxx/hello_world/hello_world -g -O2 hello_world.cc
c++ -shared -o /tmp/testsuite/riscv64-linux-gnu/cxx/dyn_link/librepeater/librepeater.so -fPIC -g -O2 -lm librepeater/librepeater.cc
gfortran -o /tmp/testsuite/riscv64-linux-gnu/fortran/hello_world/hello_world.o -c hello_world.f
cc -o /tmp/testsuite/riscv64-linux-gnu/fortran/hello_world/hello_world -g -O2 /tmp/testsuite/riscv64-linux-gnu/fortran/hello_world/hello_world.o -lgfortran -lm
gfortran -o /tmp/testsuite/riscv64-linux-gnu/fortran/hello_world/hello_world hello_world.f
go build -o /tmp/testsuite/riscv64-linux-gnu/go/float_abi/float_abi float_abi.go
c++ -o /tmp/testsuite/riscv64-linux-gnu/cxx/dyn_link/dyn_link -I/usr/share/testsuite/cxx/dyn_link/librepeater -fPIC -g -O2 -Wl,-z,origin -Wl,-rpath,$ORIGIN/librepeater -L/tmp/testsuite/riscv64-linux-gnu/cxx/dyn_link/librepeater -lrepeater dyn_link.cc
go build -o /tmp/testsuite/riscv64-linux-gnu/go/hello_world/hello_world hello_world.go

@giordano giordano merged commit 44b5ef7 into master Dec 24, 2024
9 of 10 checks passed
@giordano giordano deleted the mg/jllwrappers-compat branch December 24, 2024 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant