Reputation: 3
I am currently trying to compile tinycudann in conda and having some trouble with compilation. The error I am getting is
/home/uname/miniconda3/envs/nerfstudio/bin/x86_64-conda-linux-gnu-c++ ... -lcuda -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-cpython-38/tinycudann_bindings/_89_C.cpython-38-x86_64-linux-gnu.so
/home/uname/miniconda3/envs/nerfstudio/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lcuda
I think the problem is about the search path. However, I checked my environment variables
(nerfstudio) uname@airbus-a380:~/nerfstudio$ echo $LD_LIBRARY_PATH
/home/uname/miniconda3/envs/nerfstudio/lib/stubs/:/home/uname/miniconda3/pkgs/cuda-driver-dev-11.8.89-0/lib/stubs/:/home/uname/miniconda3/envs/nerfstudio/lib:
(nerfstudio) uname@airbus-a380:~/nerfstudio$ echo $LIBRARY_PATH
/home/uname/miniconda3/envs/nerfstudio/lib/stubs/:/home/uname/miniconda3/pkgs/cuda-driver-dev-11.8.89-0/lib/stubs/:/home/uname/miniconda3/envs/nerfstudio/lib:
includes directory that contain libcuda.so
.
In addition, I notice that when using system g++, I am able to find libcuda.so
and print-search-dirs returns
(nerfstudio) uname@airbus-a380:~/nerfstudio$ g++ --print-search-dirs
install: /usr/lib/gcc/x86_64-linux-gnu/13/
programs: =/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/bin/
libraries: =/home/uname/miniconda3/envs/nerfstudio/lib/stubs/x86_64-linux-gnu/13/:...
which includes the proper directories but for the compilers used by conda as shown in the above error message, I am getting
(nerfstudio) uname@airbus-a380:~/nerfstudio$ /home/uname/miniconda3/envs/nerfstudio/bin/x86_64-conda-linux-gnu-c++ -print-search-dirs
install: /home/uname/miniconda3/envs/nerfstudio/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/
programs: =/home/uname/miniconda3/envs/nerfstudio/bin/../libexec/gcc/x86_64-conda-linux-gnu/9.3.0/:/home/uname/miniconda3/envs/nerfstudio/bin/../libexec/gcc/:/home/uname/miniconda3/envs/nerfstudio/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/x86_64-conda-linux-gnu/9.3.0/:/home/uname/miniconda3/envs/nerfstudio/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/
libraries: =/home/uname/miniconda3/envs/nerfstudio/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/:..
which is different from those of system g++ and doesn't include the directory containing the library.
I am running conda 24.7.1 on Ubuntu 24.04. Any clue about how I can fix the search path for conda g++? Thanks in advance.
Upvotes: 0
Views: 39