Skip to content

dingodb/dingo-eureka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

124 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dingo-eureka

What's dingo-eureka

The dingo-sdk, dingo-store and dingofs third party

Dependencies

libfuse compilation requires Meson and Ninja:

Rocky 8.9/9.4

sudo dnf install -y epel-release && sudo crb enable
sudo dnf install -y wget tar git 'gcc-toolset-13*' perl flex bison patch autoconf automake libtool python3-pip pkgconfig libblkid-devel liburing-devel
sudo dnf install -y meson ninja-build
#for ceph librados
sudo dnf install -y systemd-devel libblkid keyutils-libs-devel libcap-devel python3-pyyaml
python3 -m pip install cython

wget https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-linux-x86_64.tar.gz
tar zxvf cmake-3.30.1-linux-x86_64.tar.gz
sudo cp -rf cmake-3.30.1-linux-x86_64/bin/* /usr/local/bin/ &&  sudo cp -rf  cmake-3.30.1-linux-x86_64/share/* /usr/local/share && rm -rf cmake-3.30.1-linux-x86_64

Ubuntu 22.04/24.04

In Ubuntu, /bin/sh points to /bin/dash by default. We need to use /bin/bash as default shell.

# select the option not to use /bin/dash as the default shell 
sudo dpkg-reconfigure dash
# check sh is link to bash
ls -al /bin/sh 

sudo apt update
sudo apt install -y wget tar git make patch gcc g++ perl flex bison autoconf automake libtool python3-pip pkg-config liburing-dev
sudo apt install -y meson ninja-build
#for usrbio
sudo apt install  gcc-12 g++-12 clang-14 libibverbs-dev
#for ceph librados
sudo apt install -y libudev-dev libblkid-dev libkeyutils-dev libcap-dev cython3 python3-yaml 

wget https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-linux-x86_64.tar.gz
tar zxvf cmake-3.30.1-linux-x86_64.tar.gz
sudo cp -rf cmake-3.30.1-linux-x86_64/bin/* /usr/local/bin/ && sudo cp -rf  cmake-3.30.1-linux-x86_64/share/* /usr/local/share && rm -rf cmake-3.30.1-linux-x86_64

How to build

Download the Submodule

In the source dir

git submodule sync --recursive

git submodule update --init --recursive --progress

Build and Install

The default install path is ~/.local/dingo-eureka, if you want to use custome install path, pass -DINSTALL_PATH=you-path to cmake

In the source dir

cmake -S . -B build -DINSTALL_PATH=you-path

cmake --build build -j 32 --verbose

There some lib build by ninja, and it's parrallel jobs not contorl by cmake -j 32 or make -j we can change it's s parrallel jobs in cmake configure phase, use -DNINJA_JOBS=N, the default is 8

for example

cmake -S . -B build -DNINJA_JOBS=16

cmake --build build -j 32 --verbose

use default install path to build and install

cmake -S . -B build

cmake --build build -j 32 --verbose

generate dingo-eureka package

cmake -S . -B build -DINSTALL_PATH=/opt/dingo-eureka -DENABLE_PACKAGE=ON -DPACKAGE_OUTPUT_PATH=/opt/packages

cmake --build build -j 32 --verbose

cd build && cpack

Note: The install path on the target server must also be /opt/dingo-eureka.

disable rados library build

cmake -DWITH_LIBRADOS=OFF ..

disable 3fs usrbio library build

cmake -DWITH_LIBUSRBIO=OFF ..

disable boost library build

note:you must also disable libusrbio and librados,because they depend on boost

cmake -DWITH_BOOST=OFF -DWITH_LIBRADOS=OFF -DWITH_LIBUSRBIO=OFF ..

About

No description, website, or topics provided.

Resources

License

Stars

2 stars

Watchers

5 watching

Forks

Packages

 
 
 

Contributors