-
Notifications
You must be signed in to change notification settings - Fork 35
Compilation Guide
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.
-
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 thebuild-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 usingapt
, then you need the*-dev
or-dev-all
versions of some of these packages. -
git clone https://github.com/bertiniteam/b2
.cd b2
. -
mkdir build && cd build
-
cmake ..
, adding-DCMAKE_PREFIX_PATH=$CONDA_PREFIX
if using Conda -
make install
, or maybesudo 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
-
cd b2/python_bindings
-
conda install conda-forge::eigenpy
-
mkdir build && cd build
-
cmake ..
, again adding-DCMAKE_PREFIX_PATH=$CONDA_PREFIX
if using Conda -
make install
orsudo make install
a. See note on previous make install step for parallel building
-
cd b2/python
-
pip install .