[ros-users] Request for Clue: OSX-specific linker flags, dependency resolution

Jack O'Quin jack.oquin at gmail.com
Fri Jan 14 04:05:57 UTC 2011


On Thu, Jan 13, 2011 at 7:26 PM, Nicholas Butko <nbutko at ucsd.edu> wrote:
> 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

Thanks for the patch, Nick.

It seems that libdc1394 is not working with your camera. The driver
was able to open the device successfully. Those warning messages come
from the library, not the driver.

If coriander is available on OSX, you might try experimenting with
that. See if you can find parameter settings that work, then try the
equivalent settings with camera1394. The default settings
(640x480_mono8, 15 fps, 400 Mb/s) work with most cameras, but not
necessarily all of them.

> On Thu, Jan 13, 2011 at 3:40 PM, Brian Gerkey <gerkey at willowgarage.com>
> wrote:
>>
>> On Thu, Jan 13, 2011 at 1:07 PM, Jack O'Quin <jack.oquin at gmail.com> wrote:
>> > I could really use some help to fix defect #4659 in camera1394:
>> >
>> >  https://code.ros.org/trac/ros-pkg/ticket/4659
>> >
>> > Briefly, it seems we need to set OS-specific link flags to resolve the
>> > driver's reference to libdc1394.
>>
>> 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")

Thanks for both the patches. They look equivalent, although this one
looks simpler.

I also need a rosdeps stanza for libdc1394 on OSX. Any ideas about
that? (Or, examples I can study?)
-- 
 joq



More information about the ros-users mailing list