simonzhang00 / ripser-plusplus

Ripser++: GPU-accelerated computation of Vietoris–Rips persistence barcodes
MIT License
98 stars 14 forks source link

Error installing ripser-plusplus #13

Open adderbyte opened 1 year ago

adderbyte commented 1 year ago

Trying yo install ripster-plusplus on my system and got this error:

Building NVCC (Device) object CMakeFiles/pyripser++.dir/ripserplusplus/pyripser++_generated_ripser++.cu.o error: "__or_v" is not a function or static data member

100 errors detected in the compilation of "/tmp/pip-req-build-csf0lpi2/./ripserplusplus/ripser++.cu". Together with similar errors like this, any idea what this might be due to?

Thank you!

simonzhang00 commented 1 year ago

What are your versions for cuda and gcc? As is shown here:

CUDA version max supported GCC version
11.1, 11.2, 11.3 10
11 9
10.1, 10.2 8

you need to have compatible GCC and CUDA versions. You can check your gcc and cuda by typing in:

gcc --version and nvcc --version

adderbyte commented 1 year ago

yes, I already confirmed this ... I have the right version . Ripser installs perfectly too. 10.4.0 for gcc and Cuda 11.1

Does it mean for 11.1 it has to be strictly 10 .

Thank you!

simonzhang00 commented 1 year ago

Yes, you should probably try lowering the gcc version. If that doesn't work, try lowering the version of both CUDA and gcc.

adderbyte commented 1 year ago

ok. I see. Thank you!

Szustarol commented 12 months ago

Have you been able to resolve this issue? I have the same problem when compiling, I have tried multiple cuda versions (11.1, 11.2, 11.3), and multiple GCC versions - 8.5, 9.5, 10.2, and also multiple CMake versions, but I have the same type of errors as highlighted above:

  <gcc_conda_environment>/x86_64-conda-linux-gnu/include/c++/9.5.0/type_traits(148): error: "constexpr" is not valid here

  <gcc_conda_environment>/x86_64-conda-linux-gnu/include/c++/9.5.0/type_traits(150): error: "__and_v" is not a function or static data member

  <gcc_conda_environment>/x86_64-conda-linux-gnu/include/c++/9.5.0/type_traits(150): error: "constexpr" is not valid here

  <gcc_conda_environment>/x86_64-conda-linux-gnu/include/c++/9.5.0/type_traits(170): error: "conjunction_v" is not a function or static data member

  <gcc_conda_environment>/x86_64-conda-linux-gnu/include/c++/9.5.0/type_traits(170): error: "constexpr" is not valid here

Everything was installed in a fresh conda environment, with a dedicated gcc and gxx download. @simonzhang00 can you maybe provide a configuration that you know is working?

Szustarol commented 12 months ago

Okay, I was not able to resolve this within the supported CUDA versions, but the combination from google colab (GCC/GXX ver. 11.4.0, CUDA ver. 11.8.89) seems to work. Looks like the readme could use an update, but I'm not sure what are the exact compatibilities.