Closed tillen1001 closed 4 months ago
Ive been stuck on this same issue for the last week. Ive seemingly tried everything. I will share the solution if/when I get it to install.
I was able to successfully build the package on Windows 11, Python 3.10.11 and CUDA 11.8 by following these steps:
1) For any CUDA version after 11.6, CUDA Samples ARE NOT included in the CUDA Toolkit download. So you must download CUDA Samples from https://github.com/NVIDIA/cuda-samples. Make sure to download the right branch for your CUDA version i.e. 11.8 etc.
2) The CUDA_SAMPLES_INC must point to the folder that contains "helper_math.h". In the 11.8 samples, it is located in the Common folder
NOTE if you are running windows and follow the given install instructions: unix shell => export CUDA_SAMPLES_INC=$(pwd)/include windows cmd => set CUDA_SAMPLES_INC= path/to/helper_math.h
I myself got frustrated and hard coded it into line 58 of setup.py like this:
cuda_samples_inc = r'C:/Program Files/NVIDIA Corporation/CUDA Samples/v11.8/Common' mesh_mesh_intersect_src_files = [ 'src/mesh_mesh_intersect.cpp', 'src/mesh_mesh_intersect_cuda_op.cu'] mesh_mesh_intersect_include_dirs = torch.utils.cpp_extension.include_paths() + [ osp.abspath('include'), cuda_samples_inc]
3) open mesh-mesh-intersection/include/aabb.hpp and at line 34 delete __align__(32)
4) open mesh-mesh-intersection/include/triangle.hpp and at line 33 delete __align__(48)
__align__
command is causing flag errors5) open mesh-mesh-intersection/src/mesh_mesh_intersect_cuda_op.cu here you will search out every instance of "long" and replace it with “int64_t” I recommend ctrl+f and search "long" NOTE do NOT change "long2" in line 133 and 135!!!
*credit to VictoryCoorg for the "long" fix https://forums.developer.nvidia.com/t/strange-link-error-seen-by-multiple-people-while-building-pytorch-cpp-cuda-extensions/145261/2
If my instructions are hard to follow, I will make a video showing the steps and update back.
@TheChildishMillennial Thank you for your reply. I also successfully ran SHAPY, but I finally build the Package on Ubuntu22.04, Python3.10.12, CUDA11.8. I also tried it on Windows at first, but I encountered the problem you answered above and didn’t know how to solve it, so I converted to Linux. Thank you very much for answering the question! This will definitely help many people.
@tillen1001 can you share your library versions for your setup. I could not install due to library conflicts in same setup.
@tillen1001 can you share your library versions for your setup. I could not install due to library conflicts in same setup.
Package Version
absl-py 2.0.0 addict 2.4.0 aiohttp 3.9.1 aiosignal 1.3.1 ansi2html 1.9.1 asttokens 2.4.1 async-timeout 4.0.3 attrs 23.2.0 blinker 1.7.0 cachetools 5.3.2 certifi 2023.11.17 cffi 1.16.0 charset-normalizer 3.3.2 chumpy 0.70 click 8.1.7 comm 0.2.1 ConfigArgParse 1.7 contourpy 1.2.0 cycler 0.12.1 dash 2.14.2 dash-core-components 2.0.0 dash-html-components 2.0.0 dash-table 5.0.0 decorator 5.1.1 exceptiongroup 1.2.0 executing 2.0.1 fastjsonschema 2.19.1 filelock 3.13.1 Flask 3.0.0 fonttools 4.47.0 freetype-py 2.4.0 frozenlist 1.4.1 fsspec 2023.12.2 fvcore 0.1.5.post20221221 google-auth 2.26.1 google-auth-oauthlib 1.2.0 grpcio 1.60.0 idna 3.6 imageio 2.33.1 importlib-metadata 7.0.1 iopath 0.1.10 ipython 8.20.0 ipywidgets 8.1.1 itsdangerous 2.1.2 jedi 0.19.1 Jinja2 3.1.2 joblib 1.3.2 jpeg4py 0.1.4 jsonschema 4.20.0 jsonschema-specifications 2023.12.1 jupyter_core 5.7.1 jupyterlab-widgets 3.0.9 kiwisolver 1.4.5 kornia 0.7.1 lazy_loader 0.3 lightning-utilities 0.10.0 loguru 0.7.2 Markdown 3.5.1 MarkupSafe 2.1.3 matplotlib 3.8.2 matplotlib-inline 0.1.6 mesh-mesh-intersection 0.2.0 mpmath 1.3.0 multidict 6.0.4 nbformat 5.9.2 nest-asyncio 1.5.8 networkx 3.2.1 nflows 0.14 numpy 1.21.5 nvidia-cublas-cu12 12.1.3.1 nvidia-cuda-cupti-cu12 12.1.105 nvidia-cuda-nvrtc-cu12 12.1.105 nvidia-cuda-runtime-cu12 12.1.105 nvidia-cudnn-cu12 8.9.2.26 nvidia-cufft-cu12 11.0.2.54 nvidia-curand-cu12 10.3.2.106 nvidia-cusolver-cu12 11.4.5.107 nvidia-cusparse-cu12 12.1.0.106 nvidia-nccl-cu12 2.18.1 nvidia-nvjitlink-cu12 12.3.101 nvidia-nvtx-cu12 12.1.105 oauthlib 3.2.2 omegaconf 2.0.6 open3d 0.18.0 opencv-python 4.9.0.80 packaging 23.2 pandas 2.0.3 parso 0.8.3 pexpect 4.9.0 pillow 10.2.0 pip 22.0.2 platformdirs 4.1.0 plotly 5.18.0 portalocker 2.8.2 prompt-toolkit 3.0.43 protobuf 4.23.4 ptyprocess 0.7.0 pure-eval 0.2.2 pyasn1 0.5.1 pyasn1-modules 0.3.0 pycparser 2.21 pyglet 2.0.10 Pygments 2.17.2 PyOpenGL 3.1.0 pyparsing 3.1.1 pyquaternion 0.9.9 pyrender 0.1.45 python-dateutil 2.8.2 pytorch-lightning 2.1.3 pytz 2023.3.post1 PyWavelets 1.4.1 PyYAML 6.0.1 referencing 0.32.1 requests 2.31.0 requests-oauthlib 1.3.1 retrying 1.3.4 rpds-py 0.16.2 rsa 4.9 scikit-image 0.21.0 scikit-learn 1.3.2 scipy 1.10.1 setuptools 59.6.0 shape-attributes 0.2.0 six 1.16.0 smplx 0.1.28 stack-data 0.6.3 sympy 1.12 tabulate 0.9.0 tenacity 8.2.3 tensorboard 2.15.1 tensorboard-data-server 0.7.2 termcolor 2.4.0 threadpoolctl 3.2.0 tifffile 2023.12.9 torch 2.1.0+cu118 torchaudio 2.1.0+cu118 torchmetrics 1.2.1 torchvision 0.16.0+cu118 tqdm 4.66.1 traitlets 5.14.1 trimesh 4.0.8 triton 2.1.0 typing_extensions 4.9.0 tzdata 2023.4 urllib3 2.1.0 wcwidth 0.2.13 Werkzeug 3.0.1 widgetsnbextension 4.0.9 yacs 0.1.8 yarl 1.9.4 zipp 3.17.0
@CumaOzavci The packages I installed are almost the latest releases, except for numpy and omegaconf. This is my requirements.txt:
chumpy
imageio
jpeg4py
joblib
kornia
loguru
matplotlib
numpy==1.21.5
omegaconf==2.0.6
open3d
Pillow
PyOpenGL
pyrender
scikit-image
scikit-learn
scipy
smplx
tqdm
trimesh
yacs
fvcore
nflows
PyYAML
The code released by the author can be run on google Colab, but because my device is relatively new, I want to installed the same environment as colab on the local side (ubuntu version, cuda, and torch are all the same as colab) There will be an error during the last step of installation:
pip install .
It seems to be a problem with the torch or cuda version? I want to know why mesh-mesh-interseection can be installed on colab, but there are errors on the local side.