-
Notifications
You must be signed in to change notification settings - Fork 1
Dependency Installation
Coming Soon
You can first try whether you can install this via package manager:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install --reinstall gcc-13 g++-13 g++-13-multilib gcc-13-multilib
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 131 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
sudo rm /usr/bin/x86_64-linux-gnu-cpp
sudo rm /usr/bin/x86_64-linux-gnu-gcc
sudo rm /usr/bin/x86_64-linux-gnu-gcc-nm
sudo rm /usr/bin/x86_64-linux-gnu-gcov
sudo rm /usr/bin/x86_64-linux-gnu-gcov-tool
sudo rm /usr/bin/x86_64-linux-gnu-g++
sudo rm /usr/bin/x86_64-linux-gnu-gcc-ar
sudo rm /usr/bin/x86_64-linux-gnu-gcc-ranlib
sudo rm /usr/bin/x86_64-linux-gnu-gcov-dump
sudo rm /usr/bin/x86_64-linux-gnu-lto-dump
sudo ln -s /usr/bin/x86_64-linux-gnu-cpp-13 /usr/bin/x86_64-linux-gnu-cpp
sudo ln -s /usr/bin/x86_64-linux-gnu-gcc-13 /usr/bin/x86_64-linux-gnu-gcc
sudo ln -s /usr/bin/x86_64-linux-gnu-gcc-nm-13 /usr/bin/x86_64-linux-gnu-gcc-nm
sudo ln -s /usr/bin/x86_64-linux-gnu-gcov-13 /usr/bin/x86_64-linux-gnu-gcov
sudo ln -s /usr/bin/x86_64-linux-gnu-gcov-tool-13 /usr/bin/x86_64-linux-gnu-gcov-tool
sudo ln -s /usr/bin/x86_64-linux-gnu-g++-13 /usr/bin/x86_64-linux-gnu-g++
sudo ln -s /usr/bin/x86_64-linux-gnu-gcc-ar-13 /usr/bin/x86_64-linux-gnu-gcc-ar
sudo ln -s /usr/bin/x86_64-linux-gnu-gcc-ranlib-13 /usr/bin/x86_64-linux-gnu-gcc-ranlib
sudo ln -s /usr/bin/x86_64-linux-gnu-gcov-dump-13 /usr/bin/x86_64-linux-gnu-gcov-dump
sudo ln -s /usr/bin/x86_64-linux-gnu-lto-dump-13 /usr/bin/x86_64-linux-gnu-lto-dump
If your system does not provide GCC-13 or any later version, then you can install it via this script. This process might take some time.
For installing CMake 3.30,
sudo apt remove --purge --auto-remove cmake
sudo apt update && \
sudo apt install -y software-properties-common lsb-release && \
sudo apt clean all
sudo apt update
sudo apt-get install libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3.30.3.tar.gz
tar -xf cmake-3.30.3.tar.gz
cd cmake-3.30.3
./bootstrap --parallel=$(nrpoc --all)
make -j $(nrpoc --all)
sudo make install && cd .. && rm -rf cmake-3.30.3
Please observe that Python 3.8 is not currently supported by the python wrapper, as it is using a package manager for installing the project via pyproject.toml
rather than the traditional setup.py script (which will be discontinued in any later Python version). If your system does not provide dependencies for Python3.10, you can install python3.10 via deadsnakes as follows:
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
The C++ codebase can be compiled with CMake as customary:
mkdir build
cd build
cmake ..
make -j $(nrpoc --all)
As the main project requires to have a C++ compiler supporting C++23, the user should consider having g++13 installed as specified above.
If you want to install the Python bindings by automating the code cloning and compilation of only the PyDatagramDb package, then you can run the following command on the terminal:
python3.10 -m pip install -e "git+https://github.com/datagram-db/datagram-db.git#egg=PyDatagramDB&subdirectory=DatagramDB"
If, on the other hand, you already have your local copy on your computer and you have already recursively pulled all of the submodules, then you can run the following customary Python command
python3.10 pip install ./DatagramDB