In my role as Senior Director of Developer Advocacy at OmniSci, one of my many responsibilities is to monitor our various ‘Help’ areas like GitHub issues and the Community message board. While speaking at conferences and contributing to open-source projects is valuable, answering user questions provides a rich understanding of what our product currently does, what our users would like OmniSci to do, and where our documentation could be better.
In this post, I’ll demonstrate how to compile OmniSciDB (open-source) on CentOS 7 with GPU-support, and in future posts, I will demonstrate how to compile OmniSci on various other platforms for both CPU-only and GPU-enabled.
This post is focused on those who want to contribute to OmniSciDB (and thus need an actual build environment); if you just want to try OmniSciDB, we provide Docker images, as well as tarball downloads and even OmniSci Cloud(paid, 14-day free trial).
Building OmniSciDB Using Docker
Rather than repeat the rationale behind building OmniSciDB using Docker, please see my other post ‘Compiling OmniSciDB: Ubuntu 16.04 LTS (CPU)’ which goes into the full detail of installing the required OmniSci build dependencies.
Here is the full build script to compile OmniSciDB on CentOS 7:
The biggest difference between the commands used for my Ubuntu posts (linked at the bottom of this post) and the CentOS 7 CPU commands is line 9:
bash /omniscidb/scripts/mapd-deps-prebuilt.sh . In the Ubuntu posts, I showed the script that uses the apt package manager to install all of the dependencies; the
mapd-deps-prebuilt.sh script, as the name indicates, installs pre-built dependencies. Neither is “right” or “wrong”, just two different methods we provide.
Running Sanity Tests
After the build has successfully completed, you can validate that OmniSciDB compiled correctly using
Upon successfully passing the tests, you’ll get the following message:
What Will You Contribute?
With an OmniSciDB CPU-only build environment in-place, the only thing left is to contribute! OmniSciDB is an Apache 2.0 licensed project and we welcome contributions of all kinds, from documentation improvements to the lowest-level code updates.
To contribute to the OmniSciDB codebase, stop by our GitHub repo and submit a pull request. Although not required, if you are planning to submit a large pull request, submitting an issue before you start working will give our internal engineers an idea of what you are working on and allow them to guide you through the submission process.
This blog post is one of several posts demonstrating how to compile OmniSciDB (Open-Source). Check out the others in the series: