-
Notifications
You must be signed in to change notification settings - Fork 177
Description
Is there an existing issue for this?
- I have searched the existing issues
Have you followed all the steps in the FAQ?
- I have tried the steps in the FAQ.
Current Behavior
After building it correctly without issues (on linux debian 13), I'm seeing this error:
ImportError: comfyui/custom_nodes/ComfyUI-Direct3D-S2/torchsparse/torchsparse/backend.cpython-311-x86_64-linux-gnu.so: undefined symbol: __kmpc_for_static_fini
A google search told me the symbol __kmpc_for_static_fini is because the .so was compiled without -openmp parameter to add the shared library dependency to do .so file, so the backend so file is not loading openmp shared library.
So I added -openmp the cxx flags in setup.py, but then it fails to build because it wants .o files with "_cpu" suffix, but it build then with suffix "_cuda":
clang++ -pthread -shared -Wl,--exclude-libs,ALL build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_backward_wgrad_implicit_gemm_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_backward_wgrad_implicit_gemm_sorted_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_forward_fetch_on_demand_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_forward_implicit_gemm_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_forward_implicit_gemm_sorted_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_gather_scatter_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_gather_scatter_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/devoxelize/devoxelize_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/devoxelize/devoxelize_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/hash/hash_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/hash/hash_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/hashmap/hashmap_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/count_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/count_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/downsample_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/exclusive_scan_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/query_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/query_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/reduce_bitmask_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/reorder_map_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/sparsemapping_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/pybind_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/voxelize/voxelize_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/voxelize/voxelize_cuda.o -L/NVME/comfyui/tools/LPy64-3.11.10/install/lib/python3.11/site-packages/torch/lib -L/NVME/comfyui/tools/cuda/12.8.0/linux/lib64 -L/install/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-cpython-311/torchsparse/backend.cpython-311-x86_64-linux-gnu.so
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_gather_scatter_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/devoxelize/devoxelize_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/hash/hash_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/hashmap/hashmap_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/count_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/query_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/voxelize/voxelize_cpu.o'
error: command '/usr/bin/clang++' failed with exit code 1
I'm running this on Linux Debian 13, Python 3.11, pytorch 2.8 and cuda 12.8.
Error Line
ImportError: comfyui/custom_nodes/ComfyUI-Direct3D-S2/torchsparse/torchsparse/backend.cpython-311-x86_64-linux-gnu.so: undefined symbol: __kmpc_for_static_fini
Environment
- GCC: 12.2
- NVCC: cuda_12.8.r12.8/compiler.35404655_0
- PyTorch: 2.8
- PyTorch CUDA: 12.8Full Error Log
ImportError: comfyui/custom_nodes/ComfyUI-Direct3D-S2/torchsparse/torchsparse/backend.cpython-311-x86_64-linux-gnu.so: undefined symbol: __kmpc_for_static_fini
The command FORCE_CUDA=1 pip install --no-cache-dir git+https://github.com/mit-han-lab/torchsparse.git builds fine, but I get the import error above.
It's missing -openmp cxx flag to include libopenmpt.so.0 as a shared library, but adding it to setup.py cxx flags, causes this compilation error with FORCE_CUDA=1 pip install --no-cache-dir git+https://github.com/mit-han-lab/torchsparse.git :
clang++ -pthread -shared -Wl,--exclude-libs,ALL build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_backward_wgrad_implicit_gemm_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_backward_wgrad_implicit_gemm_sorted_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_forward_fetch_on_demand_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_forward_implicit_gemm_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_forward_implicit_gemm_sorted_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_gather_scatter_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_gather_scatter_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/devoxelize/devoxelize_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/devoxelize/devoxelize_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/hash/hash_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/hash/hash_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/hashmap/hashmap_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/count_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/count_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/downsample_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/exclusive_scan_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/query_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/query_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/reduce_bitmask_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/reorder_map_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/sparsemapping_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/pybind_cuda.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/voxelize/voxelize_cpu.o build/temp.linux-x86_64-cpython-311/torchsparse/backend/voxelize/voxelize_cuda.o -L/NVME/comfyui/tools/LPy64-3.11.10/install/lib/python3.11/site-packages/torch/lib -L/NVME/comfyui/tools/cuda/12.8.0/linux/lib64 -L/install/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-cpython-311/torchsparse/backend.cpython-311-x86_64-linux-gnu.so
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/convolution/convolution_gather_scatter_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/devoxelize/devoxelize_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/hash/hash_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/hashmap/hashmap_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/count_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/others/query_cpu.o'
clang: error: no such file or directory: 'build/temp.linux-x86_64-cpython-311/torchsparse/backend/voxelize/voxelize_cpu.o'
error: command '/usr/bin/clang++' failed with exit code 1