Since 2.4.0, Pegasus supports to build both on Linux and macOS. Please don’t hesitate to contact us via Github Issues when you encountered any problem.
- GCC 5+
- CMake 3.11+
You can refer to the docker image pegasus-build-dev/ubuntu20.04 to install all dependencies.
apt-get update -y; \ apt-get install -y --no-install-recommends \ build-essential \ software-properties-common \ clang-10 \ openjdk-8-jdk \ python3-pip \ libaio-dev \ libsnappy-dev \ libbz2-dev \ libzstd-dev \ liblz4-dev \ zlib1g \ zlib1g.dev \ patch \ netcat \ wget \ ccache \ git \ curl \ zip \ unzip \ gdb \ vim \ automake \ libtool \ libssl-dev \ bison \ maven \ flex; pip3 install --no-cache-dir cmake
You can refer to the docker image pegasus-build-dev/centos7 to install all dependencies.
yum -y install centos-release-scl \ scl-utils \ epel-release; \ yum -y install devtoolset-7-gcc \ devtoolset-7-gcc-c++ \ java-1.8.0-openjdk-devel.x86_64 \ python3 \ automake \ autoconf \ make \ libtool \ git \ file \ wget \ ccache \ nmap-ncat \ zip \ gdb \ vim \ unzip \ which \ openssl-devel \ libaio-devel \ snappy-devel \ bzip2-devel \ zlib \ zlib-devel \ libzstd-devel \ lz4-devel \ bison \ flex \ patch; pip3 install --no-cache-dir cmake
Firstly, make sure:
mavenhas been installed correctly and added to
devtoolset-7has been added to
JAVA_HOMEhas been set correctly
Please refer to Downloads to fetch the sources。
./run.sh build -c
The output of compilation will be placed under
DSN_ROOT of the source directory. It includes
Package server binaries for deployment:
Package client libraries for C/C++ development:
Package toolset which includes various tools (shell, bench):
If this is your first time compiling Pegasus, it’s recommended to try onebox.