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

Test using Julia v1.11 in Yggdrasil #10524

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

giordano
Copy link
Member

@fingolfin @benlorenz @barche would you mind checking everything is in order? libjulia is usually the package which causes us most troubles.

@giordano giordano marked this pull request as draft February 13, 2025 15:43
@giordano
Copy link
Member Author

Ok, well, I don't know how to adapt

# HACK HACK HACK: modify Pkg.jl in Julia 1.7 to allow us to install stdlib JLLs
# different from what was bundled with the Julia running this script.
# If/when we upgrade Yggdrasil to a newer version of Julia, this hack must be
# adjusted (ideally, with a new Pkg.jl it could be removed)
@assert v"1.7" <= VERSION < v"1.8"
function Pkg.Types.is_stdlib(uuid::Base.UUID, julia_version::VersionNumber)
# Only use the cache if we are asking for stdlibs in a custom Julia version
if julia_version == VERSION
return Pkg.Types.is_stdlib(uuid)
end
# If this UUID is known to be unregistered, always return `true`
if haskey(Pkg.Types.UNREGISTERED_STDLIBS, uuid)
return true
end
last_stdlibs = Pkg.Types.get_last_stdlibs(julia_version)
# BEGIN HACK
if haskey(last_stdlibs, uuid)
name, _ = last_stdlibs[uuid]
return !endswith(name, "_jll")
end
# END HACK
# Note that if the user asks for something like `julia_version = 0.7.0`, we'll
# fall through with an empty `last_stdlibs`, which will always return `false`.
return false
end

@giordano giordano closed this Feb 13, 2025
@giordano
Copy link
Member Author

giordano commented Feb 13, 2025

Wut, I didn't close it (not voluntarily at least) 😳

@giordano giordano reopened this Feb 13, 2025
@giordano

This comment was marked as resolved.

@giordano
Copy link
Member Author

giordano commented Feb 13, 2025

Ok, very much broken still: https://buildkite.com/julialang/yggdrasil/builds/17664#01950024-8567-4a3a-8638-207c1cbaf1b5/681-2449

ERROR: LoadError: MethodError: no method matching abspath(::Nothing)
The function `abspath` exists, but no method is defined for this combination of argument types.
Closest candidates are:
  abspath(::String)
   @ Base path.jl:448
  abspath(::AbstractString)
   @ Base path.jl:614
  abspath(::AbstractString, AbstractString...)
   @ Base path.jl:468
Stacktrace:
  [1] fixup_ext!(env::Pkg.Types.EnvCache)
    @ Pkg.Operations /cache/julia-buildkite-plugin/julia_installs/bin/linux/x64/1.11/julia-1.11.3-linux-x86_64/share/julia/stdlib/v1.11/Pkg/src/Operations.jl:18
5
  [2] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; allow_autoprecomp::Bool, preserve::Pkg.Types.PreserveLevel, plat
form::Platform, target::Symbol)
    @ Pkg.Operations /cache/julia-buildkite-plugin/julia_installs/bin/linux/x64/1.11/julia-1.11.3-linux-x86_64/share/julia/stdlib/v1.11/Pkg/src/Operations.jl:14
45
  [3] add
    @ /cache/julia-buildkite-plugin/julia_installs/bin/linux/x64/1.11/julia-1.11.3-linux-x86_64/share/julia/stdlib/v1.11/Pkg/src/Operations.jl:1414 [inlined]
  [4] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Platform, target::Symbol, allow_autoprecomp:
:Bool, kwargs::@Kwargs{io::Base.TTY})
    @ Pkg.API /cache/julia-buildkite-plugin/julia_installs/bin/linux/x64/1.11/julia-1.11.3-linux-x86_64/share/julia/stdlib/v1.11/Pkg/src/API.jl:312
  [5] Pkg_add(::Pkg.Types.Context, ::Vararg{Any}; kwargs::@Kwargs{platform::Platform, io::Base.TTY})
    @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/S5gjt/src/Prefix.jl:611
  [6] (::BinaryBuilderBase.var"#95#101"{Bool, Prefix, Vector{Pkg.Types.PackageSpec}, Platform, Vector{String}, Vector{String}})()
    @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/S5gjt/src/Prefix.jl:679
  [7] activate(f::BinaryBuilderBase.var"#95#101"{Bool, Prefix, Vector{Pkg.Types.PackageSpec}, Platform, Vector{String}, Vector{String}}, new_project::String)
    @ Pkg.API /cache/julia-buildkite-plugin/julia_installs/bin/linux/x64/1.11/julia-1.11.3-linux-x86_64/share/julia/stdlib/v1.11/Pkg/src/API.jl:1379
  [8] setup_dependencies(prefix::Prefix, dependencies::Vector{Pkg.Types.PackageSpec}, platform::Platform; verbose::Bool)
    @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/S5gjt/src/Prefix.jl:670
  [9] setup_dependencies
    @ /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/S5gjt/src/Prefix.jl:640 [inlined]
 [10] (::BinaryBuilder.var"#setup_deps#25")(f::typeof(BinaryBuilderBase.is_host_dependency), prefix::Prefix, dependencies::Vector{BinaryBuilderBase.AbstractDepe
ndency}, platform::Platform, verbose::Bool)
    @ BinaryBuilder /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:832
 [11] autobuild(dir::AbstractString, src_name::AbstractString, src_version::VersionNumber, sources::Vector{<:BinaryBuilderBase.AbstractSource}, script::Abstract
String, platforms::Vector, products::Vector{<:Product}, dependencies::Vector{<:BinaryBuilderBase.AbstractDependency}; verbose::Bool, debug::Bool, skip_audit::Bo
ol, ignore_audit_errors::Bool, autofix::Bool, code_dir::Union{Nothing, String}, require_license::Bool, dont_dlopen::Bool, kwargs...)
    @ BinaryBuilder /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:834
 [12] build_tarballs(ARGS::Any, src_name::Any, src_version::Any, sources::Any, script::Any, platforms::Any, products::Any, dependencies::Any; julia_compat::Stri
ng, validate_name::Bool, kwargs...)
    @ BinaryBuilder /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:367
 [13] build_tarballs
    @ /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:182 [inlined]
 [14] build_julia(ARGS::Vector{String}, version::VersionNumber; jllversion::VersionNumber)
    @ Main /cache/build/yggy-amdci7-4/julialang/yggdrasil/L/libjulia/common.jl:481
 [15] top-level scope
    @ /cache/build/yggy-amdci7-4/julialang/yggdrasil/L/libjulia/build_tarballs.jl:36
in expression starting at /cache/build/yggy-amdci7-4/julialang/yggdrasil/L/libjulia/build_tarballs.jl:35

@fingolfin
Copy link
Member

Regarding the Pkg.Types.is_stdlib hack, is this perhaps unnecessary if we load HistoricalStdlibVersions.jl ? At least I see hooks in Pkg.jl accessing STDLIBS_BY_VERSION which is set by HSV

@giordano
Copy link
Member Author

Same error message without the hack, so maybe that's unnecessary now, yes.

@giordano
Copy link
Member Author

@IanButterworth https://buildkite.com/julialang/yggdrasil/builds/17762#019509df-ca6c-452a-a90b-8e2620f38598/808-2574

   Resolving package versions...
ERROR: LoadError: could not find source path for package CMake_jll based on manifest /cache/build/yggy-amdci7-10/julialang/yggdrasil/L/libjulia/build/i686-linux
-gnu-julia_version+1.10.0/njacXbaQ/x86_64-linux-musl-cxx11/.project/Manifest.toml
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /cache/julia-buildkite-plugin/julia_installs/bin/linux/x86_64/julia-latest-linux-x86_64/share/julia/stdlib/v1.13/Pkg/src/Types.jl:68
  [2] fixups_from_projectfile!(ctx::Pkg.Types.Context)
    @ Pkg.Operations /cache/julia-buildkite-plugin/julia_installs/bin/linux/x86_64/julia-latest-linux-x86_64/share/julia/stdlib/v1.13/Pkg/src/Operations.jl:247
  [3] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; allow_autoprecomp::Bool, preserve::Pkg.Types.PreserveLevel, plat
form::Platform, target::Symbol)
    @ Pkg.Operations /cache/julia-buildkite-plugin/julia_installs/bin/linux/x86_64/julia-latest-linux-x86_64/share/julia/stdlib/v1.13/Pkg/src/Operations.jl:1682
  [4] add
    @ /cache/julia-buildkite-plugin/julia_installs/bin/linux/x86_64/julia-latest-linux-x86_64/share/julia/stdlib/v1.13/Pkg/src/Operations.jl:1652 [inlined]
  [5] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Platform, target::Symbol, allow_autoprecomp:
:Bool, kwargs::@Kwargs{io::Base.TTY})
    @ Pkg.API /cache/julia-buildkite-plugin/julia_installs/bin/linux/x86_64/julia-latest-linux-x86_64/share/julia/stdlib/v1.13/Pkg/src/API.jl:317
  [6] Pkg_add(::Pkg.Types.Context, ::Vararg{Any}; kwargs::@Kwargs{platform::Platform, io::Base.TTY})
    @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/4Q6Ff/src/Prefix.jl:611
  [7] (::BinaryBuilderBase.var"#98#99"{Bool, Prefix, Vector{Pkg.Types.PackageSpec}, Platform, Vector{String}, Vector{String}})()
    @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/4Q6Ff/src/Prefix.jl:679
  [8] activate(f::BinaryBuilderBase.var"#98#99"{Bool, Prefix, Vector{Pkg.Types.PackageSpec}, Platform, Vector{String}, Vector{String}}, new_project::String)
    @ Pkg.API /cache/julia-buildkite-plugin/julia_installs/bin/linux/x86_64/julia-latest-linux-x86_64/share/julia/stdlib/v1.13/Pkg/src/API.jl:1389
  [9] setup_dependencies(prefix::Prefix, dependencies::Vector{Pkg.Types.PackageSpec}, platform::Platform; verbose::Bool)
    @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/4Q6Ff/src/Prefix.jl:670
 [10] setup_dependencies
    @ /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/4Q6Ff/src/Prefix.jl:640 [inlined]
 [11] (::BinaryBuilder.var"#setup_deps#21")(f::typeof(BinaryBuilderBase.is_host_dependency), prefix::Prefix, dependencies::Vector{BinaryBuilderBase.AbstractDepe
ndency}, platform::Platform, verbose::Bool)
    @ BinaryBuilder /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:832
 [12] autobuild(dir::AbstractString, src_name::AbstractString, src_version::VersionNumber, sources::Vector{<:BinaryBuilderBase.AbstractSource}, script::Abstract
String, platforms::Vector, products::Vector{<:Product}, dependencies::Vector{<:BinaryBuilderBase.AbstractDependency}; verbose::Bool, debug::Bool, skip_audit::Bo
ol, ignore_audit_errors::Bool, autofix::Bool, code_dir::Union{Nothing, String}, require_license::Bool, dont_dlopen::Bool, kwargs...)
    @ BinaryBuilder /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:834
 [13] build_tarballs(ARGS::Any, src_name::Any, src_version::Any, sources::Any, script::Any, platforms::Any, products::Any, dependencies::Any; julia_compat::Stri
ng, validate_name::Bool, kwargs...)
    @ BinaryBuilder /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:367
 [14] build_tarballs
    @ /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilder/R0c37/src/AutoBuild.jl:182 [inlined]
 [15] build_julia(ARGS::Vector{String}, version::VersionNumber; jllversion::VersionNumber)
    @ Main /cache/build/yggy-amdci7-10/julialang/yggdrasil/L/libjulia/common.jl:481
 [16] top-level scope
    @ /cache/build/yggy-amdci7-10/julialang/yggdrasil/L/libjulia/build_tarballs.jl:38
 [17] include(mod::Module, _path::String)
    @ Base ./Base.jl:307
 [18] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:328
 [19] _start()
    @ Base ./client.jl:556

This looks like a step back 🫠

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.

2 participants