Building
The C/C++ DSE driver will build on most standard Unix-like and Microsoft Windows platforms. Packages are available for the following platforms:
NOTE: The build procedures only need to be performed for driver development or if your system doesn’t have packages available for download and installation.
Compatibility
- Architectures: 32-bit (x86) and 64-bit (x64)
- Compilers: GCC 4.1.2+ Clang 3.4+, and MSVC 2010/2012/2013/2015/2017/2019
Dependencies
The C/C++ DSE driver depends on the following software:
Linux/Mac OS
The driver is known to build on CentOS/RHEL 6/7/8, Mac OS X 10.10/10.11 (Yosemite and El Capitan), Mac OS 10.12/10.13 (Sierra and High Sierra), and Ubuntu 14.04/16.04/18.04 LTS.
NOTE: The driver will also build on most standard Unix-like systems using GCC 4.1.2+ or Clang 3.4+.
Installing dependencies
Initial environment setup
CentOS/RHEL (Yum)
yum install automake cmake gcc-c++ git libtool
Ubuntu (APT)
apt-get update
apt-get install build-essential cmake git
Mac OS (Brew)
Homebrew (or brew) is a free and open-source software package management system that simplifies the installation of software on the Mac OS operating system. Ensure Homebrew is installed before proceeding.
brew update
brew upgrade
brew install autoconf automake cmake libtool
Kerberos
CentOS/RHEL (Yum)
yum install krb5-devel
Ubuntu (APT)
apt-get install libkrb5-dev
libuv
libuv v1.x should be used in order to ensure all features of the C/C++ DSE driver are available. When using a package manager for your operating system make sure you install v1.x; if available.
CentOS/RHEL and Ubuntu packages
Packages are available from our download server:
Mac OS (Brew)
brew install libuv
Manually build and install
The following procedures should be performed if packages are not available for your system.
pushd /tmp
wget http://dist.libuv.org/dist/v1.33.0/libuv-v1.35.0.tar.gz
tar xzf libuv-v1.35.0.tar.gz
pushd libuv-v1.35.0
sh autogen.sh
./configure
make install
popd
popd
OpenSSL
CentOS (Yum)
yum install openssl-devel
Ubuntu (APT)
apt-get install libssl-dev
Mac OS (Brew)
brew install openssl
Note: For Mac OS X 10.11 (El Capitan) and Mac OS 10.12/10.13 (Sierra and High Sierra) a link needs to be created in order to make OpenSSL available to the building libraries:
brew link --force openssl
Manually build and install
pushd /tmp
wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2u.tar.gz
tar xzf openssl-1.0.2u.tar.gz
pushd openssl-1.0.2u
CFLAGS=-fpic ./config shared
make
make install
popd
popd
Building and installing the C/C++ DSE driver
mkdir build
pushd build
cmake ..
make
make install
popd
Building examples (optional)
Examples are not built by default and need to be enabled. Update your CMake line to build examples.
cmake -DDSE_BUILD_EXAMPLES=On ..
Building tests (optional)
Tests (integration and unit) are not built by default and need to be enabled.
All tests
cmake -DDSE_BUILD_TESTS=On ..
Note: This will build both the integration and unit tests
Integration tests
cmake -DDSE_BUILD_INTEGRATION_TESTS=On ..
Unit tests
cmake -DDSE_BUILD_UNIT_TESTS=On ..
Windows
The driver is known to build with Visual Studio 2010, 2012, 2013, 2015, 2017, and 2019.
Obtaining build dependencies
- Download and install Bison
- Make sure Bison is in your system PATH and not installed in a directory with
spaces (e.g.
%SYSTEMDRIVE%\GnuWin32
)
- Make sure Bison is in your system PATH and not installed in a directory with
spaces (e.g.
- Download and install CMake
- Make sure to select the option “Add CMake to the system PATH for all users” or “Add CMake to the system PATH for current user”
- Download and install Strawberry Perl or ActiveState Perl
- Make sure to select the option “Add Perl to PATH environment variable”
- Download and install Kerberos for Windows v4.0.1
Building the driver
First you will need to open a “Command Prompt” to execute the CMake commands.
Building the C/C++ DSE driver
Supported generators are: * Visual Studio 10 2010 * Visual Studio 11 2012 * Visual Studio 12 2013 * Visual Studio 14 2015 * Visual Studio 15 2017 * Visual Studio 16 2019
mkdir build
pushd build
cmake -G "Visual Studio 16 2019" -A x64 ..
cmake --build .
popd
Note: To build 32-bit binaries/libraries use -A Win32
.
Building examples (optional)
Examples are not built by default and need to be enabled. Update your CMake line to build examples.
cmake -G "Visual Studio 16 2019" -A x64 -DDSE_BUILD_EXAMPLES=On ..
Building tests (optional)
Tests (integration and unit) are not built by default and need to be enabled.
All tests
cmake -G "Visual Studio 16 2019" -A x64 -DDSE_BUILD_TESTS=On ..
Note: This will build both the integration and unit tests
Integration tests
cmake -G "Visual Studio 16 2019" -A x64 -DDSE_BUILD_INTEGRATION_TESTS=On ..
Unit tests
cmake -G "Visual Studio 16 2019" -A x64 -DDSE_BUILD_UNIT_TESTS=On ..