Pegasus encapsulates the building environment into a docker image, you can build directly based on this environment.
docker pull apachepegasus/build-env:centos7
To build based on a formally released stable version (e.g {{ site.latest_pegasus_version }}), you can pull as follow:
docker pull apachepegasus/build-env:{{ site.latest_pegasus_version }}-centos7
Please refer to Downloads to fetch the sources under a directory (/your/local/apache-pegasus-source
). Then run the following command:
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apachepegasus/build-env:{{ site.latest_pegasus_version }}-centos7 \ /bin/bash -c "./run.sh build -c"
The output of compilation will be placed under DSN_ROOT
of the source directory. It includes bin
, include
and lib
.
Package server binaries for deployment:
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apachepegasus/build-env:{{ site.latest_pegasus_version }}-centos7 \ /bin/bash -c "./run.sh pack_server"
Package client libraries for C/C++ development:
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apachepegasus/build-env:{{ site.latest_pegasus_version }}-centos7 \ /bin/bash -c "./run.sh pack_client"
Package toolset which includes various tools (shell, bench):
docker run -v /your/local/apache-pegasus-source:/root/pegasus \ apachepegasus/build-env:{{ site.latest_pegasus_version }}-centos7 \ /bin/bash -c "./run.sh pack_tools"
If this is your first time compiling Pegasus, it's recommended to try onebox.