Skip to content
silviana amethyst edited this page Mar 4, 2025 · 34 revisions

Using Conda

These instructions assume you have CMake, a modern C++ compiler.

  • Bertini is developed on MacOS and Linux, these instructions have not been tested on Windows. That's a work in progress.
  • We're working on pre-built wheels to eliminate this whole building from source thing, but it's a work in progress.

Install the compiled core.

  1. Use a package manager to install relevant packages.

    • We recommend Conda because it has all of the packages in one spot with the right versions.
    • Homebrew on MacOS makes these things kinda easy, too.

    a. With conda: conda activate, conda install gmp mpfr automake autoconf libtool boost eigen conda-forge::libboost-python numpy. Your system also needs the build-essential package, it is likely installed by default.

    b. With another packager manager: $PACKAGE_MANAGER install gmp mpfr cmake boost eigen boost-python3 build-essential, pip install numpy. If you're using apt, then you need the *-dev or -dev-all versions of some of these packages.

  2. git clone https://github.com/bertiniteam/b2. cd b2.

  3. mkdir build && cd build

  4. cmake .., adding -DCMAKE_PREFIX_PATH=$CONDA_PREFIX if using Conda

  5. make install, or maybe sudo make install if needed.

    a. If your computer can handle the heat, try instead make install -j x, where x = a number dictating how much resources are dedicated towards compiling. It makes compiling much faster. A modern 32GB Ram laptop can comfortably run -j 4 =. 3 is a good starting point

If you just want the core software for use with C++, you can stop here. If you want to use Bertini2 with Python, keep going

Build the compiled-from-C++ Python bindings

  1. cd b2/python_bindings

  2. conda install conda-forge::eigenpy

  3. mkdir build && cd build

  4. cmake .., again adding -DCMAKE_PREFIX_PATH=$CONDA_PREFIX if using Conda

  5. make install or sudo make install

    a. See note on previous make install step for parallel building

Install the pure-Python part of the package. Last step!

  1. cd b2/python

  2. pip install .