timmeinhardt/trackformer

Linker error during installation of MultiScaleDeformableAttention

Opened this issue · 1 comments

I wasn't able to install the MultiScaleDeformableAttention package. During the installation I get an error from the MSCV linker:

Instructions To Reproduce the Issue:

  1. what changes you made (git diff) or what code you wrote
    I did not make any changes

  2. command:

python src/trackformer/models/ops/setup.py build --build-base=src/trackformer/models/ops/ install
  1. output:
running build
running build_ext
C:\Users\tilof\miniconda3\envs\trackformer\lib\site-packages\torch\utils\cpp_extension.py:358: UserWarning: Error checking compiler version for cl: [WinError 2] Das System kann die angegebene Datei nicht finden
  warnings.warn(f'Error checking compiler version for {compiler}: {error}')
building 'MultiScaleDeformableAttention' extension
Emitting ninja build file C:\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\temp.win-amd64-cpython-37\Release\build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
ninja: no work to do.
"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Users\tilof\miniconda3\envs\trackformer\lib\site-packages\torch\lib "/LIBPATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\lib\x64" /LIBPATH:C:\Users\tilof\miniconda3\envs\trackformer\libs /LIBPATH:C:\Users\tilof\miniconda3\envs\trackformer /LIBPATH:C:\Users\tilof\miniconda3\envs\trackformer\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.26100.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.26100.0\um\x64" c10.lib torch.lib torch_cpu.lib torch_python.lib cudart.lib c10_cuda.lib torch_cuda_cu.lib torch_cuda_cpp.lib /EXPORT:PyInit_MultiScaleDeformableAttention C:\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\temp.win-amd64-cpython-37\Release\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\src\cpu\ms_deform_attn_cpu.obj C:\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\temp.win-amd64-cpython-37\Release\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\src\cuda\ms_deform_attn_cuda.obj C:\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\temp.win-amd64-cpython-37\Release\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\src\vision.obj /OUT:src/trackformer/models/ops/lib.win-amd64-cpython-37\MultiScaleDeformableAttention.cp37-win_amd64.pyd /IMPLIB:C:\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\temp.win-amd64-cpython-37\Release\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\src\cpu\MultiScaleDeformableAttention.cp37-win_amd64.lib
LINK : fatal error LNK1104: Datei "C:\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\temp.win-amd64-cpython-37\Release\Users\tilof\PycharmProjects\DeepLearningProjects\trackformer\src\trackformer\models\ops\src\cpu\MultiScaleDeformableAttention.cp37-win_amd64.lib" kann nicht geöffnet werden.
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\link.exe' failed with exit code 1104

Environment:

Provide your environment information using the following command:

PyTorch version: 1.13.1+cu117
Is debug build: False
CUDA used to build PyTorch: 11.7
ROCM used to build PyTorch: N/A

OS: Microsoft Windows 11 Pro
GCC version: Could not collect
Clang version: Could not collect
CMake version: version 3.30.2
Libc version: N/A

Python version: 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.22621-SP0
Is CUDA available: True
CUDA runtime version: 11.7.64
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3090
Nvidia driver version: 560.76
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

Versions of relevant libraries:
[pip3] numpy==1.18.5
[pip3] torch==1.13.1+cu117
[pip3] torchaudio==0.13.1+cu117
[pip3] torchfile==0.1.0
[pip3] torchvision==0.14.1+cu117
[conda] numpy                     1.18.5                   pypi_0    pypi     
[conda] torch                     1.13.1+cu117             pypi_0    pypi     
[conda] torchaudio                0.13.1+cu117             pypi_0    pypi     
[conda] torchfile                 0.1.0                    pypi_0    pypi     
[conda] torchvision               0.14.1+cu117             pypi_0    pypi

I found a temporary solution for my problem. When I install Trackformer in a docker container the operators can be compiled.