omnisci_web_server
and other Go utilities are in the ThirdParty/go directory. See ThirdParty/go/src/mapd/vendor/README.md.scripts/mapd-deps-prebuilt.sh
build script to install prebuilt dependencies./usr/local/mapd-deps
. The mapd-deps-prebuilt.sh
script also installs Environment Modules in order to simplify managing the required environment variables. Log out and log back in after running the mapd-deps-prebuilt.sh
script in order to active Environment Modules command, module
.mapd-deps
environment module is disabled by default. To activate for your current session, run the following command:mapd-deps
module, run the following command:mapd-deps
package contains newer versions of packages such as GCC
and ncurses
that might not be compatible with the rest of your environment. Disable the mapd-deps
module before compiling other packages..rpm
, using the instructions provided by NVIDIA. The preferred .rpm
(network) method ensures you always have the latest stable drivers, while the .rpm
(local) method allows you to install without Internet access..rpm
method requires DKMS to be installed, which is available from the Extra Packages for Enterprise Linux (EPEL) repository:mapd-deps-prebuilt.sh
script includes two files with the appropriate environment variables:mapd-deps-<date>.sh
(for sourcing from your shell config)mapd-deps-<date>.modulefile
(for use with Environment Modules, yum package environment-modules).mapd-deps
install directory, usually /usr/local/mapd-deps/
. Either of these can be used to configure your environment: the .sh can be sourced in your shell config, while the .modulefile must be moved to the modulespath
.scripts/mapd-deps-centos.sh
script to build the dependencies. Modify this script and run it if you want to change dependency versions or to build on alternative CPU architectures.scripts/mapd-deps-osx.sh
automatically installs and/or updates Homebrew, then uses it to install all dependencies. macOS must be completely up to date and Xcode must be installed before you run the script. You can find and install Xcode on the Apple App Store.mapd-deps-osx.sh
automatically installs CUDA via Homebrew and adds the correct environment variables to your ~/.bash_profile.scripts/mapd-deps-osx.sh
automatically installs Java and Maven via Homebrew and adds the correct environment variables to your ~/.bash_profile.scripts/mapd-deps-ubuntu1604.sh
build script compiles and installs a newer version of Boost into the /usr/local/mapd-deps/
directory.scripts/mapd-deps-prebuilt.sh
build script to install prebuilt dependencies. These dependencies are installed to a directory under /usr/local/mapd-deps
. The mapd-deps-prebuilt.sh
script generates a script named mapd-deps.sh
containing the required environment variables. Source this file in your current session (or symlink it to /etc/profile.d/mapd-deps.sh
) to activate it:mapd-deps
lib
directories to LD_LIBRARY_PATH; add the CUDA and mapd-deps
bin directories to PATH. The mapd-deps-ubuntu.sh
and mapd-deps-prebuilt.sh
scripts generate a script named mapd-deps.sh
containing the environment variables that need to be set. Source this file in your current session (or symlink it to /etc/profile.d/mapd-deps.sh
) to activate it:scripts/mapd-deps-ubuntu.sh
and scripts/mapd-deps-ubuntu1604.sh
scripts build the dependencies for Ubuntu 18.04 and 16.04, respectively. The scripts install all required dependencies (except CUDA) and build the dependencies that require it. Modify this script and run it if you want to change dependency versions or to build on alternative CPU architectures./etc/profile.d/mapd-deps.sh
that contains the following:-DCMAKE_BUILD_TYPE=release
-DENABLE_ASAN=off
-DENABLE_AWS_S3=on
-DENABLE_CALCITE_DELETE_PATH=on
-DENABLE_CALCITE_UPDATE_PATH=on
-DENABLE_CUDA=off
-DENABLE_CUDA_KERNEL_DEBUG=off
-DENABLE_DECODERS_BOUNDS_CHECKING=off
-DENABLE_FOLLY=on
-DENABLE_IWYU=off
-DENABLE_JIT_DEBUG=off
-DENABLE_PROFILER=off
-DENABLE_STANDALONE_CALCITE=off
-DENABLE_TESTS=on
-DENABLE_TSAN=off
-DENABLE_CODE_COVERAGE=off
-DENABLE_JAVA_REMOTE_DEBUG=on
-DMAPD_DOCS_DOWNLOAD=on
-DPREFER_STATIC_LIBS=off
Tests
directory.AddressSanitizer
by setting the ENABLE_ASAN CMake flag in a fresh build directory. At this time, CUDA must also be disabled. In an empty build directory run CMake and compile:ThreadSanitizer
by setting the ENABLE_TSAN CMake flag in a fresh build directory. At this time, you must also disable CUDA. In an empty build directory, run CMake and compile:.tar.gz
package. You can replace TGZ with, for example, RPM or DEB to generate a .rpm or .deb, respectively.startomnisci
wrapper script to start HeavyDB in a testing environment. The script performs the following tasks:insert_sample_data
script, if the --sample-data
flag is provided.startomnisci
with the following command:insert_sample_data
script in a new terminal:omnisql
utility to interact with the database from the command line:clang-format
:clang-tidy
before you submit your changes.clang-tidy
requires all generated files to exist before you run the utility. The easiest way to accomplish this is to run a full build before you run clang-tidy
. OmniSci provides a build target that runs clang-tidy
.clang-tidy
:clang-tidy
might make invalid or overly verbose changes to the source code. OmniSci recommends that you first commit your changes, run clang-tidy
, then review its recommended changes before you amend them to your commit.clang-tidy
target uses the run-clang-tidy.py
script provided with LLVM, which might depend on PyYAML. The target also depends on jq
, which is used to filter portions of the compile_commands.json file.