So, the attached patch works for me (no runtime loading errors).
BUT
This is something I have been meaning to ask Jack about, because it has been interfering with my use of OpenCV. When I try to use libdc1394 as a camera module, I get errors from my firewire iSight camera. This is the only firewire camera I currently have access to, so I don't know if it's a general problem. As a consequence, I have had to specifically compile OpenCV *without* libdc1394 support.
So, my question for Jack is, do you know what would cause the following errors (this time from camera1394_node, but the same errors from OpenCV), and can they be easily fixed?:
dyn137-110-111-179:camera1394 rubinet$ rosrun camera1394 camera1394_node
[ INFO] [1294967830.200268000]: Found camera with GUID a27000413c783
[ INFO] [1294967830.200455000]: No guid specified, using first camera found, GUID: a27000413c783
[ INFO] [1294967830.200533000]: camera model: Apple Computer, Inc. iSight
[ INFO] [1294967830.210187000]: [000a27000413c783] opened: 640x480_mono8, 15 fps, 400 Mb/s
libdc1394 warning: packet 421 had unexpected sync (14000a1)
libdc1394 warning: packet 479 had error status 0
[ WARN] [1294967830.723671000]: [000a27000413c783] calibration does not match video mode (publishing uncalibrated data)
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
libdc1394 warning: packet 479 had error status 0
--Nick
On Thu, Jan 13, 2011 at 3:40 PM, Brian Gerkey
<gerkey@willowgarage.com> wrote:
I haven't tried it, but if I understand the problem, then something
like this should do it:
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
target_link_libraries(camera1394_node dc1394 "-framework CoreServices")
else(CMAKE_SYSTEM_NAME MATCHES "Darwin")
target_link_libraries(camera1394_node dc1394)
endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
brian.