Newbie request: stuck with installation error

Hello,
I am currently installing the Omnisci repo downloaded from master branch. My usecase is to separate the execution engine from query optimization, so that we will be running DB operations across multiple devices as well as systems. However, I am stuck with the installation and cannot solve the issue. I have the necessary dependencies installed but still stuck with make. Could you guys help me?

I am getting this error

Scanning dependencies of target DateTimeUtilsTest
[ 25%] Generating libProfileUtils.so
/bin/sh: 1: nvcc: not found
Tests/CMakeFiles/ProfileUtils.dir/build.make:61: recipe for target ‘Tests/libProfileUtils.so’ failed
make[2]: *** [Tests/libProfileUtils.so] Error 127
CMakeFiles/Makefile2:3207: recipe for target ‘Tests/CMakeFiles/ProfileUtils.dir/all’ failed
make[1]: *** [Tests/CMakeFiles/ProfileUtils.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 25%] Building CXX object Tests/CMakeFiles/DateTimeUtilsTest.dir/Shared/DateTimeUtilsTest.cpp.o
[ 25%] Built target omnisci_web_server
fatal: Not a git repository (or any parent up to mount point /media/gurumurt/Data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
– Configuring done
[ 25%] Linking CXX executable DateTimeUtilsTest
[ 25%] Built target DateTimeUtilsTest
– Generating done
– Build files have been written to: /media/gurumurt/Data/Doctoral/software/zips/omniscidb-master
[ 25%] Built target rerun_cmake
Makefile:162: recipe for target ‘all’ failed
make: *** [all] Error 2

I did run the dependency installer scripts as well as I get nvcc --version as 10.1 but somehow I am not able to solve this one. Could you guys help me figuring this out? Thanks a lot!

i’m not sure what this means My usecase is to separate the execution engine from query optimization - can you provide a use case example? thanks

Hi @bala,

Thanks for joining the forum and trying out our software.

Generally speaking the /bin/sh: 1: nvcc: not found means that the PATH and LD_LIBRARY_PATH don’t point to the right paths or they aren’t exported so you shell is working but a script that’s running on a new shell isn’t seeing the two variables.

Assuming you are on ubuntu, have you run the /usr/local/mapd-deps/mapd-deps.sh shell? Anyway you can try to export both variables before to run the make command
(export PATH and export LD_LIBRARY_PATH)

As @candido.dessanti mentioned, the issue is that for some reason nvcc isn’t being found in your PATH. It could be something as simple as logging out and back in to pick up the CUDA env vars, since it appears you were able to call nvcc in a separate terminal.

There appears to be a second issue with the fatal: Not a git repository. It looks like you might have downloaded the .zip of the repo from Github, which is not currently supported. Could you instead use git to clone the repo with:

git clone https://github.com/omnisci/omniscidb.git

I’ve filed a ticket for the first issue to improve how nvcc gets found and used: https://github.com/omnisci/omniscidb/issues/553

@candido.dessanti and Andrew

Hey. Thanks for the faster response. We have already tried adding in the CUDA location into path using

export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Even then, I get the same error. Maybe I miss something?

@Venkat_Krishnamurthy

Our usecase is to try splitting a SQL query and execute it in different DBMS - running on top of different execution devices - based on their costs, somewhat like the exchange operator but in the level of different DBMSes. Do let me know if you need anymore information.

Are you able to run nvcc from the command line?

yes. nvcc --version works

$ nvcc --version
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168