Understanding build products

There’s a windows-specific issue with MUMPS_jll on Yggdrasil, so I’m trying to troubleshoot. As I understand things, I need to:

  1. Tweak the build script.
  2. Compile for the target system: on a Mac/Linux system, tell BinaryBuilder.jl to run the build script.
  3. Move the resulting product to a windows machine.
  4. Build the product on the host system: run the product, which creates a MUMPS_jll.
  5. Tell MUMPS.jll to use that MUMPS_jll (instead of the Yggdrasil one) and see if the problem is resolved.

After carefully reading the BinaryBuilder.jl docs, I can do steps 1 and 2:

juliaup add 1.7 # BinaryBuilder.jl requires Julia 1.7
git clone https://github.com/JuliaPackaging/Yggdrasil.git
cd Yggrasil/M/MUMPS/MUMPS@5/
# package setup. (I did this in REPL, so may not be quite right)
julia +1.7 -e "using Pkg; Pkg.activate(\".\"); Pkg.instantiate(); Pkg.add(\"BinaryBuilder\");"
open /Applications/Docker.app # launch Docker.
# build for target.
julia +1.7 build_tarballs.jl --project --debug --verbose x86_64-w64-mingw32

That yields some useful diagnostic stuff. Also, 5 is covered in the docs here. What about steps 3 and 4? I can see a new MUMPS.v5.7.3.x86_64-w64-mingw32.tar.gz file under build products…

You can publish the JLL to a GitHub repo of your choice with --deploy=username/MUMPS_jll.jl, see Reference · BinaryBuilder.jl. If you do that, then you can install the package on another machine by ]adding the corresponding URL