1. Pre-compiled Binaries
Linux x86_64
Version 0.4.1 (Stable) • Statically linked binary archive (.tar.gz)
Download Linux Binary2. Compiling on Linux
A. Install Prerequisites
On Debian or Ubuntu systems, install the required compilers and build tools:
sudo apt-get update
sudo apt-get install -y wget g++ gfortran make cmake pkg-config libatlas-base-dev
B. Build Third-Party Dependencies
Clone the repository and build the bundled sub-solvers (ASL, Clp, Ipopt, FilterSQP):
git clone https://github.com/coin-or/minotaur.git
cd minotaur/third-party
./build_third_party -j 4
cd ..
C. Configure & Build
mkdir -p build && cd build
cmake .. -DTHIRD_PARTY_PATH:PATH=../third-party/
make install -j 4
Replace -j 4 by number of CPUs on your computer
3. Compiling on macOS (Apple Silicon arm64)
A. Toolchain Setup with Homebrew GCC
Note: Build Minotaur using Homebrew GCC rather than AppleClang to prevent dynamic casting C++ ABI crashes.
brew install cmake make pkg-config gcc
B. Build Third-Party Dependencies
cd third-party
./clean_third_party || true
./build_third_party -j "$(sysctl -n hw.ncpu)" -C -O
cd ..
C. Configure & Build via Homebrew GCC
rm -rf build && mkdir -p build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER="$(brew --prefix)/bin/gcc-15" \
-DCMAKE_CXX_COMPILER="$(brew --prefix)/bin/g++-15" \
-DCMAKE_Fortran_COMPILER="$(brew --prefix)/bin/gfortran-15"
cmake --build . -j "$(sysctl -n hw.ncpu)"
4. Compiling on Windows (MSYS2)
Minotaur can be compiled using MSYS2 . MSYS2 provides Linux-like tools for compiling and linking binaries. Install MSYS2 on Windows. Next, launch a MinGW 64-bit terminal from the start menu. Update the installed packages.
pacman -Syu
pacman -S git mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-cmake pkg-config wget autoconf make perl tar ca-certificates
git clone https://github.com/coin-or/minotaur.git
cd minotaur/third-party
./build_third_party -j 4
cd ..
mkdir build && cd build
cmake -G "MSYS Makefiles" -DTHIRD_PARTY_PATH=${HOME}/minotaur/third-party/ -DBUILD_SHARED_LIBS:BOOL=OFF -DUSE_FILTERSQP:BOOL=OFF ..
make
make install -j 4
You should now see several binaries in the bin/ folder of the build directory. Each of them is a solver. Library files should be seen in the lib/ folder of the build directory. The above procedure installs Minotaur without FilterSQP and BQPD solvers.