I've investigated a crash with digikam (www.digikam.org), that eventually boiled down to a linker namespace conflict. digikam can be compiled with OpenCV support (which in turn can have libdc1394 support) and gphoto2 support (which uses libusb-0). When both are enabled, the 'usb_init' function of libdc1394 will get into namespace before usb_init of libusb.
AFAIK usb_init in libdc1394 is only required internally, so the attached patch alters visibility of methods of libdc1394. I have made public all methods starting with dc1394 prefix. However, an earlier patch is availble on request that enables only methods specified in the API description on the libdc1394 (which will break compilation of OpenCV).
Log in to post a comment.