-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Hello,
Thank you for open-sourcing MAGiC-SLAM. I am attempting to set up the environment on a multi-GPU Windows/WSL2 machine but
am countering a persistent and critical failure during dependency installation.
The issue is that the PyTorch C++ extension build process for simple-knn and gaussian_rasterizer fails to recognize the installed torch module.
- Environment Details
Host OS: Windows 10 Pro / WSL2 (Ubuntu)
Hardware:** NVIDIA RTX A6000 * 4 (Multi-GPU setup)
Installation Method: Miniconda3 / Conda Virtual Environment (following the official guide)
Target Versions (Official Requirements):
* Python: 3.11
* PyTorch: 2.5.1 (with CUDA 12.4 / 12.1 / 11.8 (I tried everything))
* Faiss-GPU: 1.8.0
- Steps to Reproduce
The build fails at the pip install -r requirements.txt stage, specifically when attempting to compile the PyTorch extensions.
-
Create Conda Environment:
conda create -n magic-slam python=3.11 -
Install Core Dependencies:
conda install pytorch==2.5.1 ... faiss-gpu=1.8.0 ... -c pytorch -c nvidia -c conda-forge -y(This step succeeds after resolving channel conflicts.) -
Attempt Pip Install:
pip install -r requirements.txt -
Detailed Error Log (Root Cause)
The installation fails with a subprocess-exited-with-error where the core failure reason is: ModuleNotFoundError: No module named 'torch'
This occurs during the 'getting requirements to build wheel' phase for simple_knn. Also, gaussian-rasterizer too.
Even if I detoured that error with --no-build-isolation, the build can be done but gaussian-rasterizer makes an error in the runtime.
- Technical Analysis and Attempts to Fix
The root cause appears to be a conflict between the project's build system (setup.py / pyproject.toml) and modern Pip's Isolated Build Environment:
- Torch Exists:
torchis confirmed to be installed and available at the Conda path (/home/han/miniconda3/envs/magic-slam/lib/python3.11/site-packages). - Path Loss: The temporary sub-process Pip creates for building
simple-knnfails to inherit the necessaryPYTHONPATHfrom the active Conda environment. - Workaround Failure: Standard workarounds, including manually exporting
PYTHONPATHand using the--no-build-isolationflag, do not resolve the issue, indicating a deeper dependency issue within the extension's setup script.
Furthermore, running a simple import fails inside the Conda environment build process:
Traceback points to:
from torch.utils.cpp_extension import CUDAExtension, BuildExtension
... which fails because 'torch' cannot be found by the subprocess.
- Request for Guidance
Could you please provide guidance or look into updating the build configuration for simple-knn and gaussian_rasterizer to explicitly handle modern Pip's isolation mechanism?
Perhaps specifying required CUDA paths within the setup script, or providing a Conda package for simple-knn, would resolve this persistent issue across different Linux distributions.
Thank you for your time and assistance!