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

[Prefix] Fix installation of packages in nightly #227

Merged
merged 2 commits into from
Mar 1, 2022

Conversation

giordano
Copy link
Member

@giordano giordano commented Mar 1, 2022

With Julia v1.9 we have to use Pkg.respect_sysimage_versions(false) to install
stdlib JLLs in our projects.

Opening as draft because tests are failing anyway for me even with this change, but I don't have the time to debug now.

@giordano giordano marked this pull request as draft March 1, 2022 02:45
@giordano
Copy link
Member Author

giordano commented Mar 1, 2022

Failure is

Setup: Test Failed at /home/runner/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/test/dependencies.jl:160
  Expression: readdir(joinpath(destdir(dir, platform), "logs")) == []
   Evaluated: ["LibCURL", "LibSSH2", "MbedTLS"] == Any[]
Stacktrace:
 [1] macro expansion
   @ /opt/hostedtoolcache/julia/nightly/x64/share/julia/stdlib/v1.9/Test/src/Test.jl:464 [inlined]
 [2] (::var"#37#59")(dir::String)
   @ Main ~/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/test/dependencies.jl:160

It's the cleanup that is failing, very weird...

With Julia v1.9 we have to use `Pkg.respect_sysimage_versions(false)` to install
stdlib JLLs in our projects.
Changes in the new tarballs of LibCURL and other packages means that
`cleanup_dependencies` can't remove all directories.  This is similar to the
problem we have already inside `${includedir}`.
@giordano
Copy link
Member Author

giordano commented Mar 1, 2022

The new builds of LibCURL and other related stdlib JLLs used in Julia v1.9 have logs in subdirectories of ${prefix}/logs, rather than directly inside this directory. So, I believe the failure is related to the broken test

# This shuld be empty, but the `curl/` directory is left here, empty
@test_broken readdir(joinpath(destdir(dir, platform), "include")) == []
which boils down to the fact we can remove only symlinked directories in cleanup_dependencies
# Unsymlink all symlinked directories, non-symlink directories will be culled in audit.
but non-symlinked directories have to be removed later.

@giordano giordano marked this pull request as ready for review March 1, 2022 12:17
@giordano
Copy link
Member Author

giordano commented Mar 1, 2022

The only thing I don't understand is this: this job was successful and it used

Julia Version 1.9.0-DEV.92
Commit 2e2c16a446 (2022-02-25 17:18 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: 2 × Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

which was already after JuliaLang/julia#43250 was merged, so now I'm not sure why that one worked at it's failing only now with

Julia Version 1.9.0-DEV.98
Commit 2338f5d304 (2022-02-28 01:32 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: 2 × Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

@giordano giordano merged commit c3a4012 into JuliaPackaging:master Mar 1, 2022
@giordano giordano deleted the mg/nightly-install-stdlibs branch March 1, 2022 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant