Building Pulsar C++ client
Supported platforms
The Pulsar C++ client has been successfully tested on MacOS and Linux.
System requirements
You need to have the following installed to use the C++ client:
Compilation
There are separate compilation instructions for MacOS and Linux. For both systems, start by cloning the Pulsar repository:
$ git clone https://github.com/apache/pulsar
Linux
First, install all of the necessary dependencies:
$ apt-get install cmake libssl-dev libcurl4-openssl-dev liblog4cxx-dev \
libprotobuf-dev protobuf-compiler libboost-all-dev google-mock libgtest-dev libjsoncpp-dev
Then compile and install Google Test:
# libgtest-dev version is 1.18.0 or above
$ cd /usr/src/googletest
$ sudo cmake .
$ sudo make
$ sudo cp ./googlemock/libgmock.a ./googlemock/gtest/libgtest.a /usr/lib/
# less than 1.18.0
$ cd /usr/src/gtest
$ sudo cmake .
$ sudo make
$ sudo cp libgtest.a /usr/lib
$ cd /usr/src/gmock
$ sudo cmake .
$ sudo make
$ sudo cp libgmock.a /usr/lib
Finally, compile the Pulsar client library for C++ inside the Pulsar repo:
$ cd pulsar-client-cpp
$ cmake .
$ make
The resulting files, libpulsar.so
and libpulsar.a
, will be placed in the lib
folder of the repo while two tools, perfProducer
and perfConsumer
, will be placed in the perf
directory.
MacOS
First, install all of the necessary dependencies:
# OpenSSL installation
$ brew install openssl
$ export OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include/
$ export OPENSSL_ROOT_DIR=/usr/local/opt/openssl/
# Protocol Buffers installation
$ brew tap homebrew/versions
$ brew install protobuf260
$ brew install boost
$ brew install log4cxx
# Google Test installation
$ git clone https://github.com/google/googletest.git
$ cd googletest
$ git checkout release-1.12.1
$ cmake .
$ make install
Then compile the Pulsar client library in the repo that you cloned:
$ cd pulsar-client-cpp
$ cmake .
$ make