-
Notifications
You must be signed in to change notification settings - Fork 556
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
Error in call to get_addable_spec
#4503
Error in call to get_addable_spec
#4503
Comments
I am building via Julia 1.7, with these package installed:
|
I guess that's JuliaLang/Pkg.jl#2942. See Yggdrasil/L/libcxxwrap_julia/build_tarballs.jl Lines 5 to 8 in d8235f7
|
I assume that your comment is just a description of the cause of the error... Or is this a suggestion for a work-around? |
That was a suggestion for a workaround, any package requiring libjulia has the same problem. |
I tried it, and it didn't work. The error message doesn't change. Do I need to use a particular version of Julia to run this, or particular version of BinaryBuilder, or generated code for a particular version of Julia? I'm running with Julia 1.7, building for Julia 1.7, and am using the newest released BinaryBuilder. |
Uhm, building the current
actually works for me even without the hack mentioned above. Environment:
Perhaps make sure to use latest version of Yggdrasil? |
After some more experiment I find:
For example, when I replace the dependency on Dependency(PackageSpec(name="MPItrampoline_jll", path="/Users/eschnett/.julia/dev/MPItrampoline_jll")), then I receive the respective error message. (I created the respective package via BinaryBuilder and the |
I managed to work around this by manually specifying the |
Yes, at least as far is I understand it |
In the meantime I've got a simpler reproducer which would be a good base for a test once we find a fix: using BinaryBuilderBase: Dependency, HostPlatform, Prefix, cached_git_clone, getpkg, setup_dependencies
using Pkg: PackageSpec
using LibGit2
mktempdir() do prefix_dir
mktempdir() do pkgdir
verbose = true
prefix = Prefix(prefix_dir)
cache_dir = cached_git_clone("https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl"; verbose)
LibGit2.with(LibGit2.clone(cache_dir, pkgdir)) do repo
LibGit2.checkout!(repo, "c7f2e95d9c04e218931c14954ecd31ebde72cca5")
end
dependencies = [PackageSpec(; name="HelloWorldC_jll", uuid="dca1746e-5efc-54fc-8249-22745bc95a49", path=pkgdir)]
setup_dependencies(prefix, dependencies, HostPlatform())
end
end |
When I build
openPMD_api
, I receive this error message:My build command is
~/julia-1.7/bin/julia --color=yes build_tarballs.jl --debug --verbose --deploy=local x86_64-apple-darwin-julia_version+1.7.0
I am currently building things locally, with some local changes (updated packages versions), before opening a pull request. Since I am building multiple packages I install them locally, and I'm modifying my dependencies to point to these versions. In particular, the
ADIOS2
dependency now iswhich points to the result of a previous
build_tarballs.jl
.Through trial and error I found that the problem is caused by this
ADIOS2
dependency. When I omit this dependency, the error goes away (but obviously the created package would be missing ADIOS2 support).Looking at the error message, the problem might be that I built
ADIOS2
for the architecturex86_64-apple-darwin
(without an explicit Julia version number), whileopenPMD_api
is being built forx86_64-apple-darwin-julia_version+1.7.0
, with an explicit version number.The text was updated successfully, but these errors were encountered: