alliedvision / VimbaPython

Old Allied Vision Vimba Python API. The successor to this API is VmbPy
BSD 2-Clause "Simplified" License
93 stars 40 forks source link

Multiple Vimba installations found. Can't decide which to select #167

Open bill2239 opened 1 year ago

bill2239 commented 1 year ago

Under ubuntu 20.04, I followed the linux installation instruction for Vimba 6.0 with GigE camera. But it ends up having the error with multiple vimba installation vimba.error.VimbaSystemError: Multiple Vimba installations found. Can't decide which to select: ['/opt/Vimba_6_0', '/opt/Vimba_6_0/VimbaGigETL'] I have to force it to find the '/opt/Vimba_6_0' with most_likely_candidates = [most_likely_candidates[0]]. Not sure if this issue have been solved with the latest code. or it is the problem with the VimbaC with GigE camera. Just want to share the experience for improvement of the SDK.

Teresa-AlliedVision commented 1 year ago

Hi, can you provide us with the environmental variables of your system (if they include Vimba) and how you installed Vimba/what instructions you followed? Ubuntu 20.04 is a tested operating system for Vimba 6, so this is not the intended behaviour and can't be improved if we don't look a little closer. The two paths are the same paths, except that one is for the GigE transport layer, which is linked in the GENICAM_GENTL_PATH variable. So this should not be recognized as a separate installation. You can always also open a support ticket through or webform to troubleshoot. https://www.alliedvision.com/en/about-us/contact-us/technical-support-repair-/-rma/

bill2239 commented 1 year ago

Hello, I followed the python manual Vimba Python Manual.pdf and Vimba under linux https://cdn.alliedvision.com/fileadmin/content/documents/products/software/software/Vimba/appnote/Vimba_installation_under_Linux.pdf My environmental variables related to Vimba printenv | grep Vimba are the same as the following GENICAM_GENTL64_PATH=:/opt/Vimba_6_0/VimbaGigETL/CTI/x86_64bit:/opt/Vimba_6_0/VimbaGigETL/CTI/x86_64bit/ Thanks for the information about the support ticket.

Teresa-AlliedVision commented 1 year ago

It seems the path to the GigETL was registered twice, try to use the uninstall and install scripts, so that there is only one path registered. Alternatively you can also delete the variable and use the SetGenTLPath script to register the variable again. https://stackoverflow.com/questions/6877727/how-do-i-delete-an-exported-environment-variable

bill2239 commented 1 year ago

I have tried uninstall.sh script before and it raised the following error : vimba.error.VimbaSystemError: Failed to load library '/opt/Vimba_6_0/VimbaGigETL/VimbaC/DynamicLib/x86_64bit/libVimbaC.so'. Please verify Vimba installation. Looks like the issue is that it would find the vimba home as ['/opt/Vimba_6_0/VimbaGigETL'] instead of /opt/Vimba_6_0 and I have verified that my environment variable is now GENICAM_GENTL64_PATH=:/opt/Vimba_6_0/VimbaGigETL/CTI/x86_64bit/

Teresa-AlliedVision commented 1 year ago

It might be good to uninstall, delete and then redownload and reinstall the SDK. I think that would be faster and easier than debugging where exactly the installation didn't work. Inside the Vimba directory, if a library can't be found, then I would guess that there are some corrupted or not properly unpacked files somewhere in the SDK. On Windows there is a system variable for Vimba Home, but on Linux, the vimba home path or the path to the necessary libraries for the TL and the example scripts are coded depending on the downloaded Vimba directory, so relative to each other. If any of those have a missing step there, you can land with different Vimba home directories.