CloudCompare / CloudComPy

Python wrapper for CloudCompare
Other
292 stars 41 forks source link

ImportError: DLL load failed while importing _cloudComPy: The specified procedure could not be found. #85

Closed proprogramerX closed 1 year ago

proprogramerX commented 1 year ago

Hi Paul, I've been trying to get CloudComPy running on my Windows Laptop, I installed the latest version of the CloudComPy binary file, CloudComPy310_20221122, and I followed the steps on provided on https://github.com/CloudCompare/CloudComPy/blob/master/doc/UseWindowsCondaBinary.md . However, when I run the envCloudComPy.bat file, I get this error: image

and when I run ctest, all my tests fail:

image

with this error recurring for all the failed tests in the error log:

image

Thank you and I appreciate your help!

prascle commented 1 year ago

Hello, I don't see anything wrong with what you have done, however, the _cloudComPy library (.../CloudComPy310/CloudCompare/_cloudComPy.pyd) is not loaded correctly, there is probably a missing library. Can you install Dependencies and run DependencyGui.exe from the Conda prompt, after setting the CloudComPy310 environment and the enCloudComPy.bat environment? Open _cloudComPy.pyd. If something is missing, you'll find it. When it's right, you get something like this: image Let me know what's missing... Paul

proprogramerX commented 1 year ago

Hi Paul, This is my output for the DependenciesGui.exe from the Conda prompt: image

In comparison with yours, I can't seem to spot any differences.

This error occurs when I attempt to start CloudCompare from the CloudComPy Environment in the anaconda terminal. image

I'm not sure if this might help but, I can provide the python path. image

Thank you for the support!

prascle commented 1 year ago

Hi, this is very strange. The error you have on CloudCompare is probably the same as for the _cloudComPy.pyd library: it seems that the Qt5Concurrent library is not found. When you expand the dependencies on CCCoreLib.dll in DependencyGui.exe, you should find something like C:\users\user\anaconda3\envs\CloudComPy310\Library\bin\Qt5Concurrent_conda.dll in the list. If the library is present and seems to be correctly loaded, I don't understand the error... You can apply DependencyGui.exe on CloudCompare.exe to check if you detect a library problem. If you don't see an error and you get an error when running CloudCompare in the exact same environment as used for DependencyGui.exe, I don't understand... Note: your Python is not the problem for the CloudCompare error, CloudCompare does not rely on Python. Paul

mariohopfner commented 1 year ago

I had the same problem with the "Entry point not found" error.

After some testing, I compared the installed conda packages and found, that there are quite some differences. All minor changes, but downgrading Qt did the trick for me.

I forced Qt back to version 5.15.4 (as used by @prascle) by using conda install "qt=5.15.4

Conda should automatically clear all dependencies and downgrade a few packages. After the downgrade, CloudCompare was instantly runnable for me. And all tests (except 38) passed.

prascle commented 1 year ago

Thank you very much @mariohopfner for this information! I reproduced the problem: Qt5.15.6 is incompatible with Qt 5.15.4! I naively thought that versions differing only by the third digit (patch number) are compatible as it is the case for Python. I will correct this asap in the documentation...

proprogramerX commented 1 year ago

Thank you so much this solution worked for me! @mariohopfner Thank you @prascle for the excellent support!

I had the same problem with the "Entry point not found" error.

After some testing, I compared the installed conda packages and found, that there are quite some differences. All minor changes, but downgrading Qt did the trick for me.

I forced Qt back to version 5.15.4 (as used by @prascle) by using conda install "qt=5.15.4

Conda should automatically clear all dependencies and downgrade a few packages. After the downgrade, CloudCompare was instantly runnable for me. And all tests (except 38) passed.