thomgrand / torch_kdtree

Port of cp_kdtree to pytorch
MIT License
25 stars 6 forks source link

Install Issue #7

Open cory-b-scott opened 1 week ago

cory-b-scott commented 1 week ago

Hello,

This project is exactly what I was looking for and I'm excited to try and use it.

However, I am encountering a cmake-related error when trying to install torch_kdtree, but I am not sure how to interpret what's happening.

      [ 66%] Building CXX object CMakeFiles/test_kdtree.dir/src/test_kdtree.cpp.o
      [ 72%] Linking CXX executable test_kdtree
      /home/cory/anaconda3/envs/sdf_prot/bin/../lib/gcc/x86_64-conda-linux-gnu/11.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lcudart_static: No such file or directory
      collect2: error: ld returned 1 exit status
      make[2]: *** [CMakeFiles/test_kdtree.dir/build.make:147: test_kdtree] Error 1
      make[1]: *** [CMakeFiles/Makefile2:131: CMakeFiles/test_kdtree.dir/all] Error 2
      make: *** [Makefile:101: all] Error 2
      Building extension...
      Building extension #2...
      Build temp dir:  build/temp.linux-x86_64-cpython-311 /home/cory/torch_kdtree/build/lib.linux-x86_64-cpython-311/
      Traceback (most recent call last):
        File "/home/cory/anaconda3/envs/sdf_prot/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/cory/anaconda3/envs/sdf_prot/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/cory/anaconda3/envs/sdf_prot/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 421, in build_wheel
          return self._build_with_temp_dir(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 403, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 318, in run_setup
          exec(code, locals())
        File "<string>", line 143, in <module>
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 184, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 950, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/command/bdist_wheel.py", line 384, in run
          self.run_command("build")
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 950, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 950, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 98, in run
          _build_ext.run(self)
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
          self.build_extensions()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions
          self._build_extensions_serial()
        File "/tmp/pip-build-env-yski2zmp/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial
          self.build_extension(ext)
        File "<string>", line 132, in build_extension
        File "/home/cory/anaconda3/envs/sdf_prot/lib/python3.11/subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release']' returned non-zero exit status 2.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for torch_kdtree
Failed to build torch_kdtree
ERROR: Could not build wheels for torch_kdtree, which is required to install pyproject.toml-based projects

I'm not sure what's happening here. This install was taking place in a new conda env with the attached packages installed.

environment.yml.txt

Happy to provide any other information necessary.

thomgrand commented 21 hours ago

Hi, it seems you run into the problem of compiling the CUDA code and miss the library cudart_static. According to your environment file, you seem to install cudatoolkit using Anaconda. I'm not that familiar with that workflow, but you can try adding the library using conda-forge (e.g. https://anaconda.org/conda-forge/cuda-cudart-static). Note however that in this case, the version of the cudatoolkit and cudart_static need to match exactly.