I’m trying to build some binaries for several platforms using BinaryBuilder
. The wizard runs nicely, and I get no errors. Yet, when I finish the wizard, the binaries are not save anywhere, it seems.
The build_tarballs.jl
file is then stored locally, and from what I understood from the docs, I can create the binaries locally using:
julia --project build_tarballs.jl --deploy="local"`
However, this command errors with:
% julia --project build_tarballs.jl --deploy="local"
[ Info: Building and deploying version 1.0.0+0 to /home/leandro/.julia/dev/protein_stride_jll
[ Info: Building for aarch64-apple-darwin, aarch64-linux-gnu, aarch64-linux-musl, armv6l-linux-gnueabihf, armv6l-linux-musleabihf, armv7l-linux-gnueabihf, armv7l-linux-musleabihf, i686-linux-gnu, i686-linux-musl, i686-w64-mingw32, powerpc64le-linux-gnu, x86_64-apple-darwin, x86_64-linux-gnu, x86_64-linux-musl, x86_64-unknown-freebsd, x86_64-w64-mingw32
[ Info: ["stride"] does not exist, reporting unsatisfied
┌ Error: Built protein_stride but stride_run still unsatisfied:
└ @ BinaryBuilder ~/.julia/packages/BinaryBuilder/0CUml/src/AutoBuild.jl:909
ERROR: LoadError: Cannot continue with unsatisfied build products!
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] autobuild(dir::AbstractString, src_name::AbstractString, src_version::VersionNumber, sources::Vector{<:BinaryBuilderBase.AbstractSource}, script::AbstractString, platforms::Vector, products::Vector{<:Product}, dependencies::Vector{<:BinaryBuilderBase.AbstractDependency}; verbose::Bool, debug::Bool, skip_audit::Bool, ignore_audit_errors::Bool, autofix::Bool, code_dir::Union{Nothing, String}, require_license::Bool, kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ BinaryBuilder ~/.julia/packages/BinaryBuilder/0CUml/src/AutoBuild.jl:914
[3] build_tarballs(ARGS::Any, src_name::Any, src_version::Any, sources::Any, script::Any, platforms::Any, products::Any, dependencies::Any; julia_compat::String, kwargs::Base.Pairs{Symbol, V, Tuple{Vararg{Symbol, N}}, NamedTuple{names, T}} where {V, N, names, T<:Tuple{Vararg{Any, N}}})
@ BinaryBuilder ~/.julia/packages/BinaryBuilder/0CUml/src/AutoBuild.jl:347
[4] top-level scope
@ ~/Downloads/stride/build_tarballs.jl:36
in expression starting at /home/leandro/Downloads/stride/build_tarballs.jl:36
I didn’t change anything in the script, which is this one:
# Note that this script can accept some limited command-line arguments, run
# `julia build_tarballs.jl --help` to see a usage message.
using BinaryBuilder, Pkg
name = "protein_stride"
version = v"1.0.0"
# Collection of sources required to complete build
sources = [
GitSource("https://github.com/MDAnalysis/stride.git", "867a5eb0f2479cb16615512a53ee472c54649505"
)
]
# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir
cd stride/src
make
cp ./stride $prefix
exit
"""
# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
platforms = supported_platforms()
# The products that we will ensure are always built
products = [
ExecutableProduct("stride", :stride_run)
]
# Dependencies that must be installed before this package can be built
dependencies = Dependency[
]
# Build the tarballs, and possibly a `build.jl` as well.
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat
="1.6")
Any ideas?