Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

from gpuRIR_bind import gpuRIR_bind ImportError: DLL load failed while importing gpuRIR_bind: The specified module could not be found #53

Open
Underman30 opened this issue Jan 11, 2024 · 5 comments

Comments

@Underman30
Copy link

Underman30 commented Jan 11, 2024

I've tried to install this package by both pip install and setup.py, and their generated files were different in envs/Lib/site-package/..., there's no gpuRIR_bind.py when installed by pip and the setup.py running logs were below:
I have just one GPU and I've imported torch before the gpuRIR but make no sense
btw, could you send me the site-package of gpuRIR directly?

D:\Anaconda3\envs\neural_srp-main\python.exe setup.py install
running install
D:\Anaconda3\envs\neural_srp-main\lib\site-packages\setuptools_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

    ********************************************************************************
    Please avoid running ``setup.py`` directly.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
    ********************************************************************************

!!
self.initialize_options()
D:\Anaconda3\envs\neural_srp-main\lib\site-packages\setuptools_distutils\cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

    ********************************************************************************
    Please avoid running ``setup.py`` and ``easy_install``.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://github.com/pypa/setuptools/issues/917 for details.
    ********************************************************************************

!!
self.initialize_options()
running bdist_egg
running egg_info
writing gpuRIR.egg-info\PKG-INFO
writing dependency_links to gpuRIR.egg-info\dependency_links.txt
writing top-level names to gpuRIR.egg-info\top_level.txt
reading manifest file 'gpuRIR.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'gpuRIR.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
copying gpuRIR_init_.py -> build\lib.win-amd64-cpython-38\gpuRIR
running build_ext
setup.py:32: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
cmake_version = LooseVersion(re.search(r'version\s*([\d.]+)', out.decode()).group(1))
CMake Warning (dev) at CMakeLists.txt:6 (find_package):
Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake
--help-policy CMP0146" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:9 (include):
Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake
--help-policy CMP0146" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

CMake Deprecation Warning at third_party/pybind11/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at third_party/pybind11/tools/pybind11Tools.cmake:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
third_party/pybind11/CMakeLists.txt:33 (include)

CMake Warning (dev) at third_party/pybind11/tools/FindPythonLibsNew.cmake:60 (find_package):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
third_party/pybind11/tools/pybind11Tools.cmake:16 (find_package)
third_party/pybind11/CMakeLists.txt:33 (include)
This warning is for project developers. Use -Wno-dev to suppress it.

-- pybind11 v2.2.0
-- Configuring done (3.2s)
CMake Warning (dev) in CMakeLists.txt:
Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
empty CUDA_ARCHITECTURES not allowed. Run "cmake --help-policy CMP0104"
for policy details. Use the cmake_policy command to set the policy and
suppress this warning.

CUDA_ARCHITECTURES is empty for target "gpuRIRcu".
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) in CMakeLists.txt:
Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
empty CUDA_ARCHITECTURES not allowed. Run "cmake --help-policy CMP0104"
for policy details. Use the cmake_policy command to set the policy and
suppress this warning.

CUDA_ARCHITECTURES is empty for target "gpuRIRcu".
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) in CMakeLists.txt:
Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
empty CUDA_ARCHITECTURES not allowed. Run "cmake --help-policy CMP0104"
for policy details. Use the cmake_policy command to set the policy and
suppress this warning.

CUDA_ARCHITECTURES is empty for target "gpuRIRcu".
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) in CMakeLists.txt:
Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
empty CUDA_ARCHITECTURES not allowed. Run "cmake --help-policy CMP0104"
for policy details. Use the cmake_policy command to set the policy and
suppress this warning.

CUDA_ARCHITECTURES is empty for target "gpuRIRcu".
This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done (0.0s)
-- Build files have been written to: D:/PyCharm/PycharmProjects/gpuRIR/build/temp.win-amd64-cpython-38/Release
������ .NET Framework MSBuild �汾 17.8.3+195e7f5a3

gpuRIRcu.vcxproj -> D:\PyCharm\PycharmProjects\gpuRIR\build\temp.win-amd64-cpython-38\Release\Release\gpuRIRcu.lib
gpuRIR_bind.vcxproj -> D:\PyCharm\PycharmProjects\gpuRIR\build\lib.win-amd64-cpython-38\gpuRIR_bind.cp38-win_amd64.pyd
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\gpuRIR
copying build\lib.win-amd64-cpython-38\gpuRIR_init_.py -> build\bdist.win-amd64\egg\gpuRIR
copying build\lib.win-amd64-cpython-38\gpuRIR_bind.cp38-win_amd64.pyd -> build\bdist.win-amd64\egg
byte-compiling build\bdist.win-amd64\egg\gpuRIR_init_.py to init.cpython-38.pyc
creating stub loader for gpuRIR_bind.cp38-win_amd64.pyd
byte-compiling build\bdist.win-amd64\egg\gpuRIR_bind.py to gpuRIR_bind.cpython-38.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying gpuRIR.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying gpuRIR.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying gpuRIR.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying gpuRIR.egg-info\not-zip-safe -> build\bdist.win-amd64\egg\EGG-INFO
copying gpuRIR.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
writing build\bdist.win-amd64\egg\EGG-INFO\native_libs.txt
creating 'dist\gpuRIR-1.2.0-py3.8-win-amd64.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing gpuRIR-1.2.0-py3.8-win-amd64.egg
creating d:\anaconda3\envs\neural_srp-main\lib\site-packages\gpuRIR-1.2.0-py3.8-win-amd64.egg
Extracting gpuRIR-1.2.0-py3.8-win-amd64.egg to d:\anaconda3\envs\neural_srp-main\lib\site-packages
Adding gpuRIR 1.2.0 to easy-install.pth file

Installed d:\anaconda3\envs\neural_srp-main\lib\site-packages\gpurir-1.2.0-py3.8-win-amd64.egg
Processing dependencies for gpuRIR==1.2.0
Finished processing dependencies for gpuRIR==1.2.0

and these are the generated files:
image
but the example.py still runs with this error:
屏幕截图 2024-01-11 231306

@DavidDiazGuerra
Copy link
Owner

I cannot send you the package folder of gpuRIR since I do not have any Windows PC with CUDA right now. In any case, I do not think that would work if we weren't using exactly the same versions of Python and CUDA.

From the logs and images you sent, it seems like the installation process didn't create the DLL with the compiled C++ and CUDA part of the library but I do not know why that happened since the log seems to be normal. Unfortunately, I do not have a Windows computer to try to reproduce the issue.

@Underman30
Copy link
Author

hi David, do you know how to change the c++ complier from MSVC++ to GCC? Should I change the cmakeList.txt or somthing? I noticed that you point in Readme that if we use pytorch then we should comply with GCC. But I install the Visual Studio 2022 and the complier is default with MSVC++. By the way, what's the differences between those branches?

@Underman30
Copy link
Author

image
My generated gpuRIR_bind.py was like this, is this normal? and how can I check whether gpuRIR_bind.cp38-win_amd64 is OK?

@htz1234
Copy link

htz1234 commented Mar 3, 2024

I have met the same problem. I can compile the package on windows pc with CUDA 12.3, but it did not generate any dlls. However it can run on a linux server.

@htz1234
Copy link

htz1234 commented Mar 3, 2024

add "import torch" before "import gpuRIR" might be helpful to this problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants