On Mon, Jan 10, 2011 at 9:34 AM, Ken Tossell wrote: > [Question about linking for shared libraries*] > [*] Does anyone know what could be causing this: > > "" > make[3]: Entering directory > `/opt/ros/cturtle/stacks/umd-ros-pkg/camera_umd/uvc_camera/build' >  Linking CXX executable ../bin/camera_node >  make[3]: Entering directory > `/opt/ros/cturtle/stacks/umd-ros-pkg/camera_umd/uvc_camera/build' >  Linking CXX shared library ../lib/libnodelet_uvc_camera.so >  /usr/bin/ld: cannot find -lcamera_info_manager >  collect2: ld returned 1 exit status > "" > > ? Notice that camera_node builds fine even though it also uses > libcamera_info_manager. The uvc_camera package depends on the > camera_info_manager package, which has the following in its manifest: > >  20   >  21      22          lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib > -lcamera_info_manager"/> >  23   > > It's as if the -l flag is getting passed to the nodelet build but the > -L is not. I don't have this problem on my installations, though -- > either for c-turtle or for unstable. > > uvc_camera's CMakeLists.txt: > > "" > rosbuild_add_library(nodelet_uvc_camera src/nodelets.cpp > src/camera.cpp src/stereo.cpp src/uvc_cam.cpp) > > rosbuild_add_executable(camera_node src/camera_node.cpp src/camera.cpp > src/uvc_cam.cpp) > "" Both link steps should get the same flags. Can you run it again with verbose output (e.g., roscd uvc_camera; make VERBOSE=1), so that we can see the full link lines? brian.