Younger
Younger

Reputation: 3

Configure conda g++ search path

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

Answers (0)

Related Questions