Skip to content
Snippets Groups Projects
Commit e8232e46 authored by Carlos Neto's avatar Carlos Neto
Browse files

Remove libUSBI2C

libandor.so and libshamrockcif.so depend on libusb-0.1.so.4
(despite this information not showing on ldd)

According to AndorSDK changelog for version 2.102.30000.0

  > Fixed an issue on some versions of linux where the libusb.so symlink was not present.
  > Now loads libusb-0.1.so.4 directly.

I am not sure what "load directly" exactly means and why it doesn not
show up on ldd but forcing libusb-0.1.so.4 gets the module working.

However, libUSBI2C.so depends on libusb-1.0 (this time it shows up in ld)

If we try to add all three libraries (andor, shamrock and USBI2C) we
get an conflict between the two libusb versions (0.1 and 1.0) which
leads to an segfault on IOC exit (maybe because require links everything
in the same lib the symbols get mixed???)

This commit no longer loads libUSBI2C, which seems to fix the segfault
The community module Makefile does not load/link/use this library so it is safe
to assume it is not required by the IOC application
parent bc669f0d
No related branches found
No related tags found
No related merge requests found
Pipeline #159916 passed with warnings
......@@ -35,11 +35,9 @@ SOURCES += $(APPSRC)/shamrock.cpp
LIB_LIBS += andor
LIB_LIBS += shamrockcif
LIB_LIBS += USBI2C
VENDOR_LIBS += $(SUPPORT)/os/linux-x86_64/libandor.so.2
VENDOR_LIBS += $(SUPPORT)/os/linux-x86_64/libshamrockcif.so.2
VENDOR_LIBS += $(SUPPORT)/os/linux-x86_64/libUSBI2C.so.2
# The andor shared libraries were compiled against libusb-0.1 but on CentOS7 ld will default to libusb-1.0
# This line forces ld to use the old verion of libusb
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment