Building Robo 3T (Mac OS X and Linux) - TBladen/mango GitHub Wiki
- Modern Compiler
A modern and complete C++11 compiler. One of the following is required:
GCC 5.3.0
Clang 3.4 (or Apple XCode 5.1.1 Clang) or newer
- Install CMake (3.2 or later)
- Install Scons (2.4 or later)
- Install Qt 5.7
Example installation for MAC OSX and Ubuntu:
Go to http://download.qt.io/archive/qt/5.7/5.7.0/
Download, run and install
qt-opensource-mac-x64-clang-5.7.0.dmg (for MAC OSX)
qt-opensource-linux-x64-5.7.0.run (for Linux)
After successful installation you should have
/path/to/qt-5.7.0/5.7/clang_64 (for MAC OSX)
/path/to/qt-5.7.0/5.7/gcc_64 (for Linux)
More information for installing on Ubuntu:
https://wiki.qt.io/Install_Qt_5_on_Ubuntu
- Download and Build OpenSSL (1.0.1u) - (explained below in section B)
Steps to build OpenSSL on MAC:
Download openssl-1.0.1u (ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz)
tar -xvzf openssl-1.0.1u.tar.gz
cd /Users/<user>/Downloads/openssl-1.0.1u
./Configure darwin64-x86_64-cc shared --openssldir="@rpath"
make (or sudo make)
mkdir lib
cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib lib/
Helper Commands
// to start fresh build
make clean
Steps to build OpenSSL on Linux:
Download openssl-1.0.1u (ftp://ftp.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz)
tar -xvzf openssl-1.0.1u.tar.gz
cd /home/<user>/Downloads/openssl-1.0.1u
./config shared
make
mkdir lib
cp libssl* libcrypto* lib/
Clone Robomongo Shell and checkout to roboshell-v3.4
branch:
$ git clone https://github.com/paralect/robomongo-shell.git
$ cd robomongo-shell
$ git checkout roboshell-v3.4
Set special environment variable ROBOMONGO_CMAKE_PREFIX_PATH
to point to a set of
directories:
- Location of Qt 5 SDK
- Location of Robomongo Shell
- Location of OpenSSL
Separate directories by semicolon ;
(not colon):
// MAC OSX example:
$ export ROBOMONGO_CMAKE_PREFIX_PATH="/path/to/qt-5.7.0/5.7/clang_64;/path/to/robomongo-shell;/path/to/openssl-1.0.1u"
// Ubuntu example:
$ export ROBOMONGO_CMAKE_PREFIX_PATH="/path/to/qt-5.7.0/5.7/gcc_64;/path/to/robomongo-shell;/path/to/openssl-1.0.1u"
Build Robomongo Shell:
$ bin/build
For more information refer to Building Robomongo Shell
Download Robomongo:
$ git clone https://github.com/paralect/robomongo
$ cd robomongo
Run configuration step:
$ bin/configure
And finally, build Robomongo:
$ bin/build
To run robomongo:
$ bin/run
Helper commands
Clean build files (in order to start build from scratch):
$ bin/clean
Install Robomongo to build/release/install
folder:
$ bin/install
Create package for your OS in build/release/package
folder:
$ bin/pack
Important Notes
-
For Ubuntu 16.04 builds, it has been reported that Robomongo /bin/configure step might fail and installing mesa-common-dev package solves it. Details: https://github.com/paralect/robomongo/issues/1268
-
For Centos builds, Robomongo /bin/configure step might fail due to error:
failed to find gl/gl.h
. In this case, the following packages must be installed:
$ sudo yum install mesa-libGL
$ sudo yum install mesa-libGL-devel