ros-drivers / pointgrey_camera_driver

ROS driver for Pt. Grey cameras, based on the official FlyCapture2 SDK.
128 stars 179 forks source link

Change approach to downloading flycapture SDK. #26

Closed mikepurvis closed 9 years ago

mikepurvis commented 9 years ago

The logic which fetches and extracts the archive from ptgrey.com has been moved to a more reasonable and comprehensible python script. This should better pave the way for better future ARM support in this driver.

This change also allows us to authenticate the download, resolving #25.

chadrockey commented 9 years ago

This looks good, hopefully they didn't change this just to block this driver.... that would be very unfriendly. Keep an eye out if that login ever fails to authenticate.

Have you seen any issues with the point grey version? I always had to keep flycap up to the latest version for my OS. Do you think this should download different versions for 12.04 and 14.04?

mikepurvis commented 9 years ago

I think they just switched to a more intelligent file repository solution, but yes, will have to watch out.

With respect to Precise vs. Trusty, it seems like libflycapture2 is pretty self-contained:

$ readelf -d libflycapture.so.2 

Dynamic section at offset 0xde69d0 contains 33 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgomp.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libraw1394.so.11]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
...

With so few dependencies, it seems hard to imagine that it would be super dependent on what the underlying system looks like. I know, for example, that @cottsay got this driver compiling to an RPM for Fedora.