Skip to content

Installation

James Yang edited this page Oct 14, 2024 · 16 revisions

Install Dependencies

Ubuntu 22.04

sudo apt install -y build-essential libatlas-base-dev libgoogle-glog-dev \
    libgflags-dev libeigen3-dev libgtest-dev libgmock-dev libabsl-dev \
    python3-dev python3-pytest pybind11-dev libceres-dev libyaml-cpp-dev \
    libopencv-dev python3-opencv cmake

Ubuntu 20.04

Ubuntu 20.04 does not have debian packages for Ceres Solver or Abseil, so these libraries will have to be built and installed separately. Note: Abseil MUST be built with at least c++17 or higher.

sudo apt install -y build-essential libatlas-base-dev libgoogle-glog-dev \
    libgflags-dev libeigen3-dev libgtest-dev libgmock-dev python3-dev \
    python3-pytest pybind11-dev libyaml-cpp-dev libopencv-dev python3-opencv cmake
cd ~
wget http://ceres-solver.org/ceres-solver-2.1.0.tar.gz
tar zxf ceres-solver-2.1.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.1.0
make -j3
sudo make install
cd ~
git clone https://github.com/abseil/abseil-cpp.git
cd ~/abseil-cpp
cmake -S . -B build -DCMAKE_CXX_STANDARD=17 -DCMAKE_POSITION_INDEPENDENT_CODE=ON
cmake --build build
sudo cmake --install build

Install Calico

Using pip

cd ~
git clone https://github.com/yangjames/Calico.git
cd ~/Calico
pip install .

Using CMake

cd ~
git clone https://github.com/yangjames/Calico.git
cd ~/Calico
cmake -S . -B build
cmake --build build
ctest --test-dir build
sudo cmake --install build

By default, this will install the following:

  • header files under /usr/local/include/calico
  • c++ library files under /usr/local/lib/calico
  • CMake import rules under /usr/local/lib/cmake/calico
  • Python bindings/utils library under /usr/lib/pythonX/dist-packages/calico/

To run the tests:

pip install pybind11 opencv-python scipy pyyaml
ctest --test-dir build

Clone this wiki locally