-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
HOWTOInstructions for how-to a thing.Instructions for how-to a thing.
Description
- Setup and activate conda environment:
wget https://raw.githubusercontent.com/Quansight/pearu-sandbox/master/conda-envs/omniscidb-cpu-dev.yaml
conda env create --file=omniscidb-cpu-dev.yaml -n omniscidb-cpu-dev
conda activate omniscidb-cpu-dev
When enabling CUDA build, execute also:
conda install -c conda-forge cudatoolkit-dev # this takes a couple of minutes, be patient
- Checkout or download omnscidb source, for instance:
git clone https://github.com/omnisci/omniscidb
git clone [email protected]:omnisci/omniscidb-internal.git
- Prepare build environment:
export PREFIX=$CONDA_PREFIX
export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib"
export CXXFLAGS="`echo $CXXFLAGS | sed 's/-fPIC//'`"
export CC=clang
export CXX=clang++
export CGO_ENABLED=1
export CGO_LDFLAGS=
export CGO_CFLAGS=
export CGO_CPPFLAGS=
export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
export ZLIB_ROOT=$PREFIX
export LibArchive_ROOT=$PREFIX
export Curses_ROOT=$PREFIX
export Glog_ROOT=$PREFIX
export Snappy_ROOT=$PREFIX
export Boost_ROOT=$PREFIX
export PNG_ROOT=$PREFIX
export GDAL_ROOT=$PREFIX
export BLOSC_ROOT=$PREFIX
Note that conda install ... will change the current environment, so, one must also reset the build environment whenever conda program has been used.
On some systems, one may also need to define
export LDFLAGS="$LDFLAGS -lrt -pthread -lresolv"(see undefined reference to `__vdso_clock_gettime@GLIBC_PRIVATE' #6, qgpu)export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS"(see include/llvm/Object/SymbolicFile.h:48:31: error: expected ')' #8)export CXXFLAGS="$CXXFLAGS -Dsecure_getenv=getenv"(see no member named 'secure_getenv' in the global namespace #7)export CONDA_BUILD_SYSROOT=<path to MacOSX??.??.sdk>(see ld: dynamic main executables must link with libSystem.dylib for architecture x86_64 #10, mac mini)
When enabling CUDA build, set also:
export LDFLAGS="$LDFLAGS -L$PREFIX/lib/stubs -Wl,-rpath-link,$PREFIX/lib/stubs"
export EXTRA_CMAKE_OPTIONS="$EXTRA_CMAKE_OPTIONS -DCMAKE_LIBRARY_PATH=$PREFIX/lib/stubs"
export LD_LIBRARY_PATH=/path/to/libcuda.so.1/directory/
- When on MacOSX, one may want to apply a fix from issue Adjust OpenSSL path when building omnscidb on MacOSX #11 .
- Build omniscdb:
cd omniscidb
mkdir -p build && cd build
cmake -Wno-dev \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_PREFIX_PATH=$PREFIX \
-DCMAKE_BUILD_TYPE=debug \
-DMAPD_DOCS_DOWNLOAD=off \
-DENABLE_AWS_S3=off \
-DENABLE_CUDA=off \
-DENABLE_FOLLY=off \
-DENABLE_JAVA_REMOTE_DEBUG=off \
-DENABLE_PROFILER=off \
-DENABLE_TESTS=on \
-DPREFER_STATIC_LIBS=off \
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
-DMAPD_EDITION=EE \
..
make -j `nproc`
When enabling CUDA build, use:
-DENABLE_CUDA=on
- Run sanity tests:
mkdir -p tmp && bin/initdb tmp
make sanity_tests
In the case of failures, check out the following issues: #12 .
- Run omnscidb server
mkdir -p data && bin/initdb data
bin/omnisci_server --enable-runtime-udf
Metadata
Metadata
Assignees
Labels
HOWTOInstructions for how-to a thing.Instructions for how-to a thing.