Hi – I’m using the BinaryBuilder CLI to create a JLL for the liquid-dsp github repo. The build is failing during the audit as unable to find the shared library – appears to be looking in the wrong build directories? My build script is below, the CLI command, and so on. Any help would be appreciated!
using BinaryBuilder
name = "libliquid"
version = v"1.7.0"
sources = [
GitSource("https://github.com/jgaeddert/liquid-dsp.git", "a8cc94a6f1f4386c294f5609dc2a373806cafd9c"),
DirectorySource("./bundled"),
]
script = raw"""
cd ${WORKSPACE}/srcdir/liquid-dsp
mkdir build
cd build
cmake ..
make
make install
install_license ${WORKSPACE}/srcdir/liquid-dsp/LICENSE
"""
platforms = filter(x->contains(triplet(x), "x86_64-linux-gnu"), supported_platforms(experimental=false))
products = [
LibraryProduct("libliquid", :libliquid),
]
dependencies = [
Dependency("FFTW_jll"),
]
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies, julia_compat="1.7")
Output from running BinaryBuilder via CLI :
$:~/projects/tmp2$ julia +1.7 --project=./ --color=yes build_tarballs.jl
[ Info: Building for x86_64-linux-gnu
┌ Warning: Unable to run unprivileged containers on this system! This may be because your kernel does not support mounting overlay filesystems within user namespaces. To work around this, we will switch to using privileged containers. This requires the use of sudo. To choose this automatically, set the BINARYBUILDER_RUNNER environment variable to "privileged" before starting Julia.
└ @ BinaryBuilderBase ~/.julia/packages/BinaryBuilderBase/yt9V4/src/UserNSRunner.jl:97
[ Info: Running privileged container via `sudo`, may ask for your password:
[ Info: Found a valid dl path libfftw3.so while looking for libliquid
[ Info: Found a valid dl path libfftw3.so.3 while looking for libliquid
[ Info: Found a valid dl path libfftw3.so.3.6.10 while looking for libliquid
[ Info: Found a valid dl path libfftw3f.so while looking for libliquid
[ Info: Found a valid dl path libfftw3f.so.3 while looking for libliquid
[ Info: Found a valid dl path libfftw3f.so.3.6.10 while looking for libliquid
[ Info: Could not locate libliquid inside ["/home/XXXX/projects/tmp2/build/x86_64-linux-gnu/TgI3iTLB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/lib64", "/home/XXXX/projects/tmp2/build/x86_64-linux-gnu/TgI3iTLB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/lib"]
┌ Error: Built libliquid but libliquid still unsatisfied:
└ @ BinaryBuilder ~/.julia/packages/BinaryBuilder/3eUfg/src/AutoBuild.jl:987
ERROR: LoadError: Cannot continue with unsatisfied build products!
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[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, dont_dlopen::Bool, compression_format::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/3eUfg/src/AutoBuild.jl:992
[3] build_tarballs(ARGS::Any, src_name::Any, src_version::Any, sources::Any, script::Any, platforms::Any, products::Any, dependencies::Any; julia_compat::String, validate_name::Bool, compression_format::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/3eUfg/src/AutoBuild.jl:380
[4] top-level scope
@ ~/projects/tmp2/build_tarballs.jl:35
in expression starting at /home/XXXX/projects/tmp2/build_tarballs.jl:35
Using the find command to confirm shared library does exist:
$:~/projects/tmp2$ find . -name *libliquid.so* -print
./build/x86_64-linux-gnu/TgI3iTLB/srcdir/liquid-dsp/build/libliquid.so
./build/x86_64-linux-gnu/TgI3iTLB/srcdir/liquid-dsp/build/libliquid.so.1.7.0
./build/x86_64-linux-gnu/TgI3iTLB/srcdir/liquid-dsp/build/libliquid.so.1