# BinaryBuilder: ERROR: LoadError: Cannot continue with unsatisfied build products!

**URL:** https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992
**Category:** General Usage
**Created:** [June 29, 2023, 7:27pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992 "2023-06-29T19:27:48Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 7:27pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/1 "2023-06-29T19:27:48Z")

</div>

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
julia --project build_tarballs.jl --deploy="local"`

```

However, this command errors with:

```julia
% 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:

```julia
# 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?

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 29, 2023, 7:51pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/2 "2023-06-29T19:51:47Z")

</div>

> [@lmiq](#):
>
> `cp ./stride $prefix`

Should be

```julia
install -Dvm 755 "stripe${exeext}" "${bindir}/stripe/${exeext}"

```

because executables should go into the executables directory, that is bindir. With your command you created a file with path `${prefix}`, not even a file _inside_ that directory, which doesn’t exist (and would be wrong anyway).

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 29, 2023, 7:57pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/3 "2023-06-29T19:57:12Z")

</div>

Side note, that package has an overly restrictive license which doesn’t allow us to freely redistribute it. I’m not very comfortable accepting it.

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 8:00pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/4 "2023-06-29T20:00:48Z")

</div>

> [@giordano](#):
>
> Side note, that package has an overly restrictive license which doesn’t freely allow us redistribution. I’m not very comfortable accepting it.

Yes, I noticed that. I’m not sure what I’ll be doing with the binaries yet. For the moment the package that I’m building just instructs the user to compile it by themselves. I thought about having a repository of binaries to help, not necessarily having this distributed automatically.

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 8:10pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/5 "2023-06-29T20:10:57Z")

</div>

edit:

I tried this script now, and it didn’t work either:

```julia
# 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 = "run_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
install -Dvm 755 "stride" "${bindir}/run_stride"
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("run_stride", :run_stride)
]

# 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")

```

error:

```julia
% julia --project build_tarballs.jl --deploy="local"
[ Info: Building and deploying version 1.0.0+0 to /home/leandro/.julia/dev/run_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: ["run_stride"] does not exist, reporting unsatisfied
┌ Error: Built run_stride but run_stride 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

```

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 8:49pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/6 "2023-06-29T20:49:30Z")

</div>

If the problem is the not finding the executable, I’m out of ideas. I tried providing the path to the `ExecutableProduct` constructor explicitly, but nothing I tried worked. Last try was just to point it to where the executable is build:

```julia
# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir
cd stride/src
make
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", :run_stride, "/workspace/srcdir/stride/src")
]

```

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 29, 2023, 9:15pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/7 "2023-06-29T21:15:09Z")

</div>

What platform is that? Use the verbose mode as suggested also in the docs: [Home · BinaryBuilder.jl](https://docs.binarybuilder.org/stable/#Manually-create-or-edit-build_tarballs.jl)

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 9:25pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/8 "2023-06-29T21:25:20Z")

</div>

I’m on a standard x86\_64 laptop, with Mint 21.

I’ve tried `--debug --verbose`, but in what concerns the error, the output is identical:

```julia
[18:22:50] gcc -O2 stride.o splitstr.o rdpdb.o initchn.o geometry.o thr2one.o one2thr.o filename.o tolostr.o strutil.o place_h.o hbenergy.o memory.o helix.o sheet.o rdmap.o phipsi.o command.o molscr.o die.o hydrbond.o mergepat.o fillasn.o escape.o p_jrnl.o p_rem.o p_atom.o p_helix.o p_sheet.o p_turn.o p_ssbond.o p_expdta.o p_model.o p_compnd.o report.o nsc.o area.o ssbond.o chk_res.o chk_atom.o turn.o pdbasn.o dssp.o outseq.o chkchain.o elem.o measure.o asngener.o p_endmdl.o stred.o contact_order.o contact_map.o -lm -o ./stride
[18:22:50] ---> exit
[18:22:50] ---> source "$_script"
[18:22:50] ---> source "$_script"
[18:22:50] Installing license file "/workspace/srcdir/stride/LICENSE" to "/workspace/destdir/share/licenses/run_stride/LICENSE"...
[18:22:50] Child Process exited, exit code 0
[ Info: Beginning audit of /home/leandro/Downloads/stride/build/aarch64-apple-darwin/bqDF24AG/aarch64-apple-darwin20-libgfortran5-cxx11/destdir
[ Info: Checking license file
[ Info: Found license file(s): LICENSE
[Info: ["stride"] does not exist, reporting unsatisfied
┌ Error: Built run_stride but run_stride 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:35
in expression starting at /home/leandro/Downloads/stride/build_tarballs.jl:35

```

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 29, 2023, 9:46pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/9 "2023-06-29T21:46:56Z")

</div>

> [@lmiq](#):
>
> ```julia
> [18:22:50] gcc -O2 stride.o splitstr.o rdpdb.o initchn.o geometry.o thr2one.o one2thr.o filename.o tolostr.o strutil.o place_h.o hbenergy.o memory.o helix.o sheet.o rdmap.o phipsi.o command.o molscr.o die.o hydrbond.o mergepat.o fillasn.o escape.o p_jrnl.o p_rem.o p_atom.o p_helix.o p_sheet.o p_turn.o p_ssbond.o p_expdta.o p_model.o p_compnd.o report.o nsc.o area.o ssbond.o chk_res.o chk_atom.o turn.o pdbasn.o dssp.o outseq.o chkchain.o elem.o measure.o asngener.o p_endmdl.o stred.o contact_order.o contact_map.o -lm -o ./stride
> [18:22:50] ---> exit
> [18:22:50] ---> source "$_script"
> [18:22:50] ---> source "$_script"
> [18:22:50] Installing license file "/workspace/srcdir/stride/LICENSE" to "/workspace/destdir/share/licenses/run_stride/LICENSE"...
> [18:22:50] Child Process exited, exit code 0
> 
> ```

I don’t see the file being installed in `bindir`?

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 10:38pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/10 "2023-06-29T22:38:42Z")

</div>

Using this script:

> **script**
>
> ```julia
> # 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 = "run_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
> install -Dvm 755 "stride" "${bindir}/run_stride"
> 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("run_stride", :run_stride)
> ]
> 
> # 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")
> 
> ```

The build process seems to work in some platforms, but at the end I get the same error, and nothing is deployed:

> **complete log**
>
> ```julia
> % julia --project build_tarballs.jl --deploy="local" --debug --verbose
> [ Info: Building and deploying version 1.0.0+0 to /home/leandro/.julia/dev/run_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: Using cached git repository
> │ url = "https://github.com/MDAnalysis/stride.git"
> └ repo_path = "/home/leandro/.julia/packages/BinaryBuilderBase/ASUzv/deps/downloads/clones/stride.git-b3feac09b3a32be409f069f2864e8bd50d4556cdbbcc11ba41d59f222b83fa1a"
> [ Info: Checking stride.git-b3feac09b3a32be409f069f2864e8bd50d4556cdbbcc11ba41d59f222b83fa1a out to stride...
> 
> LOTS OF STUFF... 
> 
> [19:26:38] --> workspacing /tmp/jl_rHftxo to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/bin
> [19:26:38] --> workspacing /home/leandro/Downloads/stride/build/i686-linux-musl/IcYIVxmL/metadir to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/meta
> [19:26:38] --> workspacing /home/leandro/Downloads/stride/build/i686-linux-musl/IcYIVxmL to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/workspace
> [19:26:38] --> Mounting procfs at /proc
> [19:26:38] About to run `/bin/bash` `-l` `-c` `# Stop if we hit any errors.
> [19:26:38] set -e
> [19:26:38] 
> [19:26:38] # If we're running as `bash`, then use the `DEBUG` and `ERR` traps
> [19:26:38] if [$(basename $0) = "bash"]; then
> [19:26:38] trap "RET=\$?; \
> [19:26:38] trap - DEBUG INT TERM ERR EXIT; \
> [19:26:38] set +e +x; \
> [19:26:38] auto_install_license; \
> [19:26:38] save_env; \
> [19:26:38] exit \$RET" \
> [19:26:38] EXIT
> [19:26:38] 
> [19:26:38] trap "RET=\$?; \
> [19:26:38] trap - DEBUG INT TERM ERR EXIT; \
> [19:26:38] set +e +x; \
> [19:26:38] echo Previous command \$! exited with \$RET >&2; \
> [19:26:38] save_env; \
> [19:26:38] exit \$RET" \
> [19:26:38] INT TERM ERR
> [19:26:38] 
> [19:26:38] # Start saving everything into our history
> [19:26:38] trap save_history DEBUG
> [19:26:38] else
> [19:26:38] # If we're running in `sh` or something like that, we need a
> [19:26:38] # slightly slimmer set of traps. :(
> [19:26:38] trap "RET=\$?; \
> [19:26:38] echo Previous command exited with \$RET >&2; \
> [19:26:38] set +e +x; \
> [19:26:38] save_env; \
> [19:26:38] exit \$RET" \
> [19:26:38] EXIT INT TERM
> [19:26:38] fi
> [19:26:38] 
> [19:26:38] cd $WORKSPACE/srcdir
> [19:26:38] cd stride/src
> [19:26:38] make
> [19:26:38] install -Dvm 755 "stride" "${bindir}/run_stride"
> [19:26:38] exit
> [19:26:38] 
> [19:26:38] ` 
> [19:26:38] ---> cd $WORKSPACE/srcdir
> [19:26:38] ---> cd stride/src
> [19:26:38] ---> make
> [19:26:38] gcc -O2 -c stride.c -o stride.o
> [19:26:38] gcc -O2 -c splitstr.c -o splitstr.o
> [19:26:38] gcc -O2 -c rdpdb.c -o rdpdb.o
> [19:26:38] gcc -O2 -c initchn.c -o initchn.o
> [19:26:38] gcc -O2 -c geometry.c -o geometry.o
> [19:26:38] gcc -O2 -c thr2one.c -o thr2one.o
> [19:26:38] gcc -O2 -c one2thr.c -o one2thr.o
> [19:26:38] gcc -O2 -c filename.c -o filename.o
> [19:26:38] gcc -O2 -c tolostr.c -o tolostr.o
> [19:26:38] gcc -O2 -c strutil.c -o strutil.o
> [19:26:39] gcc -O2 -c place_h.c -o place_h.o
> [19:26:39] gcc -O2 -c hbenergy.c -o hbenergy.o
> [19:26:39] gcc -O2 -c memory.c -o memory.o
> [19:26:39] gcc -O2 -c helix.c -o helix.o
> [19:26:39] gcc -O2 -c sheet.c -o sheet.o
> [19:26:39] gcc -O2 -c rdmap.c -o rdmap.o
> [19:26:39] gcc -O2 -c phipsi.c -o phipsi.o
> [19:26:39] gcc -O2 -c command.c -o command.o
> [19:26:39] gcc -O2 -c molscr.c -o molscr.o
> [19:26:39] gcc -O2 -c die.c -o die.o
> [19:26:39] gcc -O2 -c hydrbond.c -o hydrbond.o
> [19:26:39] gcc -O2 -c mergepat.c -o mergepat.o
> [19:26:40] gcc -O2 -c fillasn.c -o fillasn.o
> [19:26:40] gcc -O2 -c escape.c -o escape.o
> [19:26:40] gcc -O2 -c p_jrnl.c -o p_jrnl.o
> [19:26:40] gcc -O2 -c p_rem.c -o p_rem.o
> [19:26:40] gcc -O2 -c p_atom.c -o p_atom.o
> [19:26:40] gcc -O2 -c p_helix.c -o p_helix.o
> [19:26:40] gcc -O2 -c p_sheet.c -o p_sheet.o
> [19:26:40] gcc -O2 -c p_turn.c -o p_turn.o
> [19:26:40] gcc -O2 -c p_ssbond.c -o p_ssbond.o
> [19:26:40] gcc -O2 -c p_expdta.c -o p_expdta.o
> [19:26:40] gcc -O2 -c p_model.c -o p_model.o
> [19:26:40] gcc -O2 -c p_compnd.c -o p_compnd.o
> [19:26:40] gcc -O2 -c report.c -o report.o
> [19:26:41] gcc -O2 -c nsc.c -o nsc.o
> [19:26:41] gcc -O2 -c area.c -o area.o
> [19:26:41] gcc -O2 -c ssbond.c -o ssbond.o
> [19:26:41] gcc -O2 -c chk_res.c -o chk_res.o
> [19:26:41] gcc -O2 -c chk_atom.c -o chk_atom.o
> [19:26:41] gcc -O2 -c turn.c -o turn.o
> [19:26:41] gcc -O2 -c pdbasn.c -o pdbasn.o
> [19:26:41] gcc -O2 -c dssp.c -o dssp.o
> [19:26:41] gcc -O2 -c outseq.c -o outseq.o
> [19:26:41] gcc -O2 -c chkchain.c -o chkchain.o
> [19:26:41] gcc -O2 -c elem.c -o elem.o
> [19:26:42] gcc -O2 -c measure.c -o measure.o
> [19:26:42] gcc -O2 -c asngener.c -o asngener.o
> [19:26:42] gcc -O2 -c p_endmdl.c -o p_endmdl.o
> [19:26:42] gcc -O2 -c stred.c -o stred.o
> [19:26:42] gcc -O2 -c contact_order.c -o contact_order.o
> [19:26:42] gcc -O2 -c contact_map.c -o contact_map.o
> [19:26:42] gcc -O2 stride.o splitstr.o rdpdb.o initchn.o geometry.o thr2one.o one2thr.o filename.o tolostr.o strutil.o place_h.o hbenergy.o memory.o helix.o sheet.o rdmap.o phipsi.o command.o molscr.o die.o hydrbond.o mergepat.o fillasn.o escape.o p_jrnl.o p_rem.o p_atom.o p_helix.o p_sheet.o p_turn.o p_ssbond.o p_expdta.o p_model.o p_compnd.o report.o nsc.o area.o ssbond.o chk_res.o chk_atom.o turn.o pdbasn.o dssp.o outseq.o chkchain.o elem.o measure.o asngener.o p_endmdl.o stred.o contact_order.o contact_map.o -lm -o ./stride
> [19:26:42] ---> install -Dvm 755 "stride" "${bindir}/run_stride"
> [19:26:42] created directory: '/workspace/destdir/bin'
> [19:26:42] 'stride' -> '/workspace/destdir/bin/run_stride'
> [19:26:42] ---> exit
> [19:26:42] ---> source "$_script"
> [19:26:42] ---> source "$_script"
> [19:26:42] Installing license file "/workspace/srcdir/stride/LICENSE" to "/workspace/destdir/share/licenses/run_stride/LICENSE"...
> [19:26:42] Child Process exited, exit code 0
> [ Info: Beginning audit of /home/leandro/Downloads/stride/build/i686-linux-musl/IcYIVxmL/i686-linux-musl-libgfortran3-cxx03/destdir
> [Info: Checking bin/run_stride with RPath list Any[]
> [ Info: Ignored system libraries libc.musl-i386.so.1
> [ Info: Checking license file
> [ Info: Found license file(s): LICENSE
> [Info: /home/leandro/Downloads/stride/build/i686-linux-musl/IcYIVxmL/i686-linux-musl-libgfortran3-cxx03/destdir/bin/run_stride matches our search criteria of ["run_stride"]
> [ Info: Compressing files in /home/leandro/Downloads/stride/build/i686-linux-musl/IcYIVxmL/i686-linux-musl-libgfortran3-cxx03/destdir/logs/run_stride
> [ Info: /home/leandro/Downloads/stride/products/run_stride.v1.0.0.i686-linux-musl.tar.gz already exists, force-overwriting...
> [ Info: Tree hash of contents of run_stride.v1.0.0.i686-linux-musl.tar.gz: 8b437dfea18b8d2d97567ddfbb75fbe7d0159437
> [ Info: SHA256 of run_stride.v1.0.0.i686-linux-musl.tar.gz: 80238a9bbd0e799b29d1b715eacc9b0f68c769d048f4efce638a48da066d9e88
> [ Info: /home/leandro/Downloads/stride/products/run_stride-logs.v1.0.0.i686-linux-musl.tar.gz already exists, force-overwriting...
> [ Info: Tree hash of contents of run_stride-logs.v1.0.0.i686-linux-musl.tar.gz: ec86ecfe7fd320ab33e06df48702a17087c495a4
> [ Info: SHA256 of run_stride-logs.v1.0.0.i686-linux-musl.tar.gz: ff972de1cda2ad4eb4bc746ecab9f5727932a68ae1b85aac88d1ee869a34beb9
> [ Info: Timings: setup: 0.2s, build: 3.94s, audit: 0.18s, packaging: 0.02s
> [ Info: Checking stride.git-b3feac09b3a32be409f069f2864e8bd50d4556cdbbcc11ba41d59f222b83fa1a out to stride...
> [ Info: Checking to see if /home/leandro/Downloads/stride/build/i686-w64-mingw32/Z3DHfd6K/ is encrypted...
> [ Info: Checking to see if /home/leandro/.julia/packages/BinaryBuilderBase/ASUzv/deps/ is encrypted...
> [19:26:42] verbose sandbox enabled (running in unprivileged container mode)
> [19:26:42] Parsed --rootfs as "/home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5"
> [19:26:42] Parsed --cd as "/workspace/srcdir"
> [19:26:42] Parsed --workspace as "/home/leandro/Downloads/stride/build/i686-w64-mingw32/Z3DHfd6K" -> "/workspace"
> [19:26:42] Parsed --workspace as "/home/leandro/Downloads/stride/build/i686-w64-mingw32/Z3DHfd6K/metadir" -> "/meta"
> [19:26:42] Parsed --workspace as "/tmp/jl_rAUEO0" -> "/opt/bin"
> [19:26:42] Parsed --workspace as "/tmp/jl_GSkc7q" -> "/opt/toolchains"
> [19:26:42] Parsed --workspace as "/tmp/jl_ZIqAeb" -> "/etc/resolv.conf"
> [19:26:42] Parsed --map as "/home/leandro/.julia/artifacts/ca17eb48614bda34a50744cfdcbead71d3d79757" -> "/opt/i686-w64-mingw32/PlatformSupport-2023.6.10"
> [19:26:42] Parsed --map as "/home/leandro/.julia/artifacts/2b334fd133e4e390da092b0d1d04b4a4b055c02d" -> "/opt/i686-w64-mingw32/GCCBootstrap-4.8.5"
> [19:26:42] Parsed --map as "/home/leandro/.julia/artifacts/e426e144bd6b10ceeca467c8f2c8dee929732e78" -> "/opt/x86_64-linux-musl/LLVMBootstrap-13.0.1"
> [19:26:42] Parsed --map as "/home/leandro/.julia/artifacts/1e537efc1d024ec8b9d3bc4ff1cb69be2e4493ab" -> "/opt/x86_64-linux-musl/PlatformSupport-2023.6.10"
> [19:26:42] Parsed --map as "/home/leandro/.julia/artifacts/e5229ab63cfb1c1deb9c8f461889787e648eaeba" -> "/opt/x86_64-linux-musl/GCCBootstrap-4.8.5"
> [19:26:42] Child Process PID is 347007
> [19:26:42] --> Mapping 1000:1000 to root:root within container namespace
> [19:26:42] --> Creating overlay workdir at /proc
> [19:26:42] --> Mounting overlay of /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5 at /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5 (modifications in /proc/upper/rootfs, workspace in /proc/work/rootfs)
> [19:26:42] --> mapping /home/leandro/.julia/artifacts/e5229ab63cfb1c1deb9c8f461889787e648eaeba to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl/GCCBootstrap-4.8.5
> [19:26:42] --> mapping /home/leandro/.julia/artifacts/1e537efc1d024ec8b9d3bc4ff1cb69be2e4493ab to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl/PlatformSupport-2023.6.10
> [19:26:42] --> mapping /home/leandro/.julia/artifacts/e426e144bd6b10ceeca467c8f2c8dee929732e78 to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl/LLVMBootstrap-13.0.1
> [19:26:42] --> mapping /home/leandro/.julia/artifacts/2b334fd133e4e390da092b0d1d04b4a4b055c02d to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/i686-w64-mingw32/GCCBootstrap-4.8.5
> [19:26:42] --> mapping /home/leandro/.julia/artifacts/ca17eb48614bda34a50744cfdcbead71d3d79757 to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/i686-w64-mingw32/PlatformSupport-2023.6.10
> [19:26:42] --> Mounting overlay of /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/i686-w64-mingw32/PlatformSupport-2023.6.10:/home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/i686-w64-mingw32/GCCBootstrap-4.8.5 at /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/i686-w64-mingw32 (modifications in /proc/upper/i686-w64-mingw32, workspace in /proc/work/i686-w64-mingw32)
> [19:26:42] --> Mounting overlay of /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl/LLVMBootstrap-13.0.1:/home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl/PlatformSupport-2023.6.10:/home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl/GCCBootstrap-4.8.5 at /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/x86_64-linux-musl (modifications in /proc/upper/x86_64-linux-musl, workspace in /proc/work/x86_64-linux-musl)
> [19:26:42] --> Mounting procfs at /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/proc
> [19:26:42] --> Bind-mounting /dev/null over /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/dev/null
> [19:26:42] --> Bind-mounting /dev/tty over /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/dev/tty
> [19:26:42] --> Bind-mounting /dev/urandom over /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/dev/urandom
> [19:26:42] --> Bind-mounting /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/dev/pts/ptmx over /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/dev/ptmx
> [19:26:42] --> workspacing /tmp/jl_ZIqAeb to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/etc/resolv.conf
> [19:26:42] --> workspacing /tmp/jl_GSkc7q to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/toolchains
> [19:26:42] --> workspacing /tmp/jl_rAUEO0 to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/opt/bin
> [19:26:42] --> workspacing /home/leandro/Downloads/stride/build/i686-w64-mingw32/Z3DHfd6K/metadir to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/meta
> [19:26:42] --> workspacing /home/leandro/Downloads/stride/build/i686-w64-mingw32/Z3DHfd6K to /home/leandro/.julia/artifacts/d0c08357d84c092c9d6a8bad715001ad33e3d5d5/workspace
> [19:26:42] --> Mounting procfs at /proc
> [19:26:42] About to run `/bin/bash` `-l` `-c` `# Stop if we hit any errors.
> [19:26:42] set -e
> [19:26:42] 
> [19:26:42] # If we're running as `bash`, then use the `DEBUG` and `ERR` traps
> [19:26:42] if [$(basename $0) = "bash"]; then
> [19:26:42] trap "RET=\$?; \
> [19:26:42] trap - DEBUG INT TERM ERR EXIT; \
> [19:26:42] set +e +x; \
> [19:26:42] auto_install_license; \
> [19:26:42] save_env; \
> [19:26:42] exit \$RET" \
> [19:26:42] EXIT
> [19:26:42] 
> [19:26:42] trap "RET=\$?; \
> [19:26:42] trap - DEBUG INT TERM ERR EXIT; \
> [19:26:42] set +e +x; \
> [19:26:42] echo Previous command \$! exited with \$RET >&2; \
> [19:26:42] save_env; \
> [19:26:42] exit \$RET" \
> [19:26:42] INT TERM ERR
> [19:26:42] 
> [19:26:42] # Start saving everything into our history
> [19:26:42] trap save_history DEBUG
> [19:26:42] else
> [19:26:42] # If we're running in `sh` or something like that, we need a
> [19:26:42] # slightly slimmer set of traps. :(
> [19:26:42] trap "RET=\$?; \
> [19:26:42] echo Previous command exited with \$RET >&2; \
> [19:26:42] set +e +x; \
> [19:26:42] save_env; \
> [19:26:42] exit \$RET" \
> [19:26:42] EXIT INT TERM
> [19:26:42] fi
> [19:26:42] 
> [19:26:42] cd $WORKSPACE/srcdir
> [19:26:42] cd stride/src
> [19:26:42] make
> [19:26:42] install -Dvm 755 "stride" "${bindir}/run_stride"
> [19:26:42] exit
> [19:26:42] 
> [19:26:42] ` 
> [19:26:42] ---> cd $WORKSPACE/srcdir
> [19:26:42] ---> cd stride/src
> [19:26:42] ---> make
> [19:26:42] gcc -O2 -c stride.c -o stride.o
> [19:26:43] gcc -O2 -c splitstr.c -o splitstr.o
> [19:26:43] gcc -O2 -c rdpdb.c -o rdpdb.o
> [19:26:43] gcc -O2 -c initchn.c -o initchn.o
> [19:26:43] gcc -O2 -c geometry.c -o geometry.o
> [19:26:43] gcc -O2 -c thr2one.c -o thr2one.o
> [19:26:43] gcc -O2 -c one2thr.c -o one2thr.o
> [19:26:43] gcc -O2 -c filename.c -o filename.o
> [19:26:43] gcc -O2 -c tolostr.c -o tolostr.o
> [19:26:43] gcc -O2 -c strutil.c -o strutil.o
> [19:26:43] gcc -O2 -c place_h.c -o place_h.o
> [19:26:43] gcc -O2 -c hbenergy.c -o hbenergy.o
> [19:26:43] gcc -O2 -c memory.c -o memory.o
> [19:26:43] gcc -O2 -c helix.c -o helix.o
> [19:26:43] gcc -O2 -c sheet.c -o sheet.o
> [19:26:44] gcc -O2 -c rdmap.c -o rdmap.o
> [19:26:44] gcc -O2 -c phipsi.c -o phipsi.o
> [19:26:44] gcc -O2 -c command.c -o command.o
> [19:26:44] gcc -O2 -c molscr.c -o molscr.o
> [19:26:44] gcc -O2 -c die.c -o die.o
> [19:26:44] gcc -O2 -c hydrbond.c -o hydrbond.o
> [19:26:44] gcc -O2 -c mergepat.c -o mergepat.o
> [19:26:44] gcc -O2 -c fillasn.c -o fillasn.o
> [19:26:45] gcc -O2 -c escape.c -o escape.o
> [19:26:45] gcc -O2 -c p_jrnl.c -o p_jrnl.o
> [19:26:45] gcc -O2 -c p_rem.c -o p_rem.o
> [19:26:45] gcc -O2 -c p_atom.c -o p_atom.o
> [19:26:45] gcc -O2 -c p_helix.c -o p_helix.o
> [19:26:45] gcc -O2 -c p_sheet.c -o p_sheet.o
> [19:26:45] gcc -O2 -c p_turn.c -o p_turn.o
> [19:26:45] gcc -O2 -c p_ssbond.c -o p_ssbond.o
> [19:26:45] gcc -O2 -c p_expdta.c -o p_expdta.o
> [19:26:45] gcc -O2 -c p_model.c -o p_model.o
> [19:26:45] gcc -O2 -c p_compnd.c -o p_compnd.o
> [19:26:45] gcc -O2 -c report.c -o report.o
> [19:26:45] gcc -O2 -c nsc.c -o nsc.o
> [19:26:46] gcc -O2 -c area.c -o area.o
> [19:26:46] gcc -O2 -c ssbond.c -o ssbond.o
> [19:26:46] gcc -O2 -c chk_res.c -o chk_res.o
> [19:26:46] gcc -O2 -c chk_atom.c -o chk_atom.o
> [19:26:46] gcc -O2 -c turn.c -o turn.o
> [19:26:46] gcc -O2 -c pdbasn.c -o pdbasn.o
> [19:26:46] gcc -O2 -c dssp.c -o dssp.o
> [19:26:46] gcc -O2 -c outseq.c -o outseq.o
> [19:26:46] gcc -O2 -c chkchain.c -o chkchain.o
> [19:26:46] gcc -O2 -c elem.c -o elem.o
> [19:26:46] gcc -O2 -c measure.c -o measure.o
> [19:26:47] gcc -O2 -c asngener.c -o asngener.o
> [19:26:47] gcc -O2 -c p_endmdl.c -o p_endmdl.o
> [19:26:47] gcc -O2 -c stred.c -o stred.o
> [19:26:47] gcc -O2 -c contact_order.c -o contact_order.o
> [19:26:47] gcc -O2 -c contact_map.c -o contact_map.o
> [19:26:47] gcc -O2 stride.o splitstr.o rdpdb.o initchn.o geometry.o thr2one.o one2thr.o filename.o tolostr.o strutil.o place_h.o hbenergy.o memory.o helix.o sheet.o rdmap.o phipsi.o command.o molscr.o die.o hydrbond.o mergepat.o fillasn.o escape.o p_jrnl.o p_rem.o p_atom.o p_helix.o p_sheet.o p_turn.o p_ssbond.o p_expdta.o p_model.o p_compnd.o report.o nsc.o area.o ssbond.o chk_res.o chk_atom.o turn.o pdbasn.o dssp.o outseq.o chkchain.o elem.o measure.o asngener.o p_endmdl.o stred.o contact_order.o contact_map.o -lm -o ./stride
> [19:26:47] ---> install -Dvm 755 "stride" "${bindir}/run_stride"
> [19:26:47] created directory: '/workspace/destdir/bin'
> [19:26:47] 'stride' -> '/workspace/destdir/bin/run_stride'
> [19:26:47] ---> exit
> [19:26:47] ---> source "$_script"
> [19:26:47] ---> source "$_script"
> [19:26:47] Installing license file "/workspace/srcdir/stride/LICENSE" to "/workspace/destdir/share/licenses/run_stride/LICENSE"...
> [19:26:47] Child Process exited, exit code 0
> [ Info: Beginning audit of /home/leandro/Downloads/stride/build/i686-w64-mingw32/Z3DHfd6K/i686-w64-mingw32-libgfortran3-cxx03/destdir
> [Info: Checking bin/run_stride with RPath list String[]
> [ Info: Ignored system libraries msvcrt.dll, KERNEL32.dll
> [ Info: Checking license file
> [ Info: Found license file(s): LICENSE
> [Info: ["run_stride"] does not exist, reporting unsatisfied
> ┌ Error: Built run_stride but run_stride 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:37
> in expression starting at /home/leandro/Downloads/stride/build_tarballs.jl:37
> 
> ```

On the `linux-musl` system?

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 29, 2023, 10:40pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/11 "2023-06-29T22:40:39Z")

</div>

> [@lmiq](#):
>
> but at the end I get the same error, and nothing is deployed:

Because you decided to remove the extension [that I suggested to use before](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/2).

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 29, 2023, 10:52pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/12 "2023-06-29T22:52:41Z")

</div>

With the exact line you suggested, meaning, this script:

> **Summary**
>
> ```julia
> # 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 = "run_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
> install -Dvm 755 "stripe${exeext}" "${bindir}/stripe/${exeext}"
> 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("run_stride", :run_stride)
> ]
> 
> # 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")
> 
> ```

I get these errors:

```julia
nl.o p_rem.o p_atom.o p_helix.o p_sheet.o p_turn.o p_ssbond.o p_expdta.o p_model.o p_compnd.o report.o nsc.o area.o ssbond.o chk_res.o chk_atom.o turn.o pdbasn.o dssp.o outseq.o chkchain.o elem.o measure.o asngener.o p_endmdl.o stred.o contact_order.o contact_map.o -lm -o ./stride
[19:43:44] ---> install -Dvm 755 "stripe${exeext}" "${bindir}/stripe/${exeext}"
[19:43:44] created directory: '/workspace/destdir/bin'
[19:43:44] install: can't stat 'stripe': No such file or directory
[19:43:44] ---> install -Dvm 755 "stripe${exeext}" "${bindir}/stripe/${exeext}"
[19:43:44] ---> install -Dvm 755 "stripe${exeext}" "${bindir}/stripe/${exeext}"
[19:43:44] Previous command exited with 1
[19:43:44] Child Process exited, exit code 1
┌ Warning: Build failed, launching debug shell:
└ @ BinaryBuilder ~/.julia/packages/BinaryBuilder/0CUml/src/AutoBuild.jl:871
verbose sandbox enabled (running in unprivileged container mode

```

So I assumed that you meant `stride`, not `stripe`, and changed that, in which case I get the same:

```julia
h.o hbenergy.o memory.o helix.o sheet.o rdmap.o phipsi.o command.o molscr.o die.o hydrbond.o mergepat.o fillasn.o escape.o p_jrnl.o p_rem.o p_atom.o p_helix.o p_sheet.o p_turn.o p_ssbond.o p_expdta.o p_model.o p_compnd.o report.o nsc.o area.o ssbond.o chk_res.o chk_atom.o turn.o pdbasn.o dssp.o outseq.o chkchain.o elem.o measure.o asngener.o p_endmdl.o stred.o contact_order.o contact_map.o -lm -o ./stride
[19:51:23] ---> install -Dvm 755 "stride${exeext}" "${bindir}/stride/${exeext}"
[19:51:23] created directory: '/workspace/destdir/bin'
[19:51:23] install: can't create '/workspace/destdir/bin/stride/': Is a directory
[19:51:23] ---> install -Dvm 755 "stride${exeext}" "${bindir}/stride/${exeext}"
[19:51:23] ---> install -Dvm 755 "stride${exeext}" "${bindir}/stride/${exeext}"
[19:51:23] Previous command exited with 1
[19:51:23] Child Process exited, exit code 1
┌ Warning: Build failed, launching debug shell:
└ @ BinaryBuilder ~/.julia/packages/BinaryBuilder/0CUml/src/

```

and then I started trying a variety of derivatives of that and combinations with full paths, but nothing worked.

(edit: in the script above, chaning `run_stride` to `stride` in the `ExecutableProduct` line, which seems correct, doesn’t solve the issue).

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 29, 2023, 10:59pm UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/13 "2023-06-29T22:59:24Z")

</div>

Yes, there was a typo in `stripe`/`stride`, but you had figured that out already (typing on the phone isn’t fun). And I made another mistake in `"${bindir}/stripe/${exeext}"`, that was supposed to be `"${bindir}/stripe${exeext}"` (again, the phone isn’t fun). Also, if you aren’t specifying the compiler version you’re probably using gcc 4.8, which means it doesn’t automatically set the extension when targeting Windows.

To summarise, the correct line should be

```julia
install -Dvm 755 "stride" "${bindir}/stride${exeext}" 

```

You wouldn’t have all these troubles with packages with better build systems (the makefile of this specific package has also multiple errors).

---

<div class="post-metadata">

### Author: ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)
#### Post date: [June 30, 2023, 10:28am UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/14 "2023-06-30T10:28:26Z")

</div>

Thanks for all the help.

That created the `run_stride_jll` package in `.julia/dev`, with the wrappers for all platforms.

But I don’t find the binaries themselves. Are they supposed to be stored somewhere locally here?

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 30, 2023, 10:35am UTC](https://discourse.julialang.org/t/binarybuilder-error-loaderror-cannot-continue-with-unsatisfied-build-products/100992/15 "2023-06-30T10:35:59Z")

</div>

> [@lmiq](#):
>
> But I don’t find the binaries themselves. Are they supposed to be stored somewhere locally here?

They’ll be in

```julia
.julia/artifacts/<GIT_TREE_HASH_OF_YOUR_ARTIFACT_THAT_YOU_CAN_FIND_IN_YOUR_ARTIFACTS.TOML_FILE>

```
