Before you're doing something: git submodule update --init --recursive git submodule update --remote -f --merge --recursive Build everythink with C++ ABI = 0 (yaml-cpp needs CMakeLists.txt entry) make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" For jsoncpp: make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11" NOTE: May was CXXFLAGS (without the underscore) For yaml: cmake .. -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_SHARED_LIBS=Release make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -fPIC" For breakpad: git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss mkdir build && cd build ../configure make CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11" For MySQL: git submodule update --init mkdir build && cd build cmake .. -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -static-libgcc -static-libstdc++" -DWITH_JDBC=ON make -j 12 For boringssl: cmake .. -DBUILD_SHARED_LIBS=ON make -j 8 Instal protobuf: sudo apt-get install -y git autoconf automake libtool curl make g++ unzip git clone https://github.com/google/protobuf.git cd protobuf/ ./autogen.sh ./configure make make check sudo make install