Ask Your Question
1

Missing dependency when building Debian package on the buildfarm

asked 2013-02-12 19:47:14 -0500

Thomas gravatar image

I am currently experiencing the following problem, albeit having opencv2 as a dependency of my package, when making a release with Bloom dpkg-shlibdeps fails with the following error:

dh_shlibdeps: warning: ignored unknown options in DH_OPTIONS
LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/libfakeroot:/usr/lib64/libfakeroot:/usr/lib32/libfakeroot:/tmp/buildd/ros-groovy-visp-2.6.2-1quantal-20130213-0723/debian/ros-groovy-visp//opt/ros/groovy/lib/
    dpkg-shlibdeps -Tdebian/ros-groovy-visp.substvars debian/ros-groovy-visp/opt/ros/groovy/share/visp/demo/wireframe-simulator/servoSimu4Points debian/ros-groovy-visp/opt/ros/groovy/share/visp/demo/wireframe-simulator/servoSimuSphere debian/ros-groovy-visp/opt/ros/groovy/share/visp/demo/wireframe-simulator/servoSimuCylinder debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2
dpkg-shlibdeps: error: couldn't find library libopencv_calib3d.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_core.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_features2d.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_highgui.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_imgproc.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_legacy.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_nonfree.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libopencv_video.so.2.4 needed by debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 (ELF format: 'elf32-i386'; RPATH: '')
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 was not linked against libgmodule-2.0.so.0 (it uses none of the library's symbols)
dpkg-shlibdeps: error: cannot continue due to the errors listed above
Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to set LD_LIBRARY_PATH.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/ros-groovy-visp.substvars debian/ros-groovy-visp/opt/ros/groovy/share/visp/demo/wireframe-simulator/servoSimu4Points debian/ros-groovy-visp/opt/ros/groovy/share/visp/demo/wireframe-simulator/servoSimuSphere debian/ros-groovy-visp/opt/ros/groovy/share/visp/demo/wireframe-simulator/servoSimuCylinder debian/ros-groovy-visp/opt/ros/groovy/lib/libvisp-2.so.2.6.2 returned exit code 2
make[1]: *** [override_dh_shlibdeps] Error 2

It seems to me that the OpenCV dependency is not pulled correctly.

See the job here and the Bloom release repository here.

I have opencv2 both as build_depend and run_depend. However the ros-groovy-opencv2 package does not pull the OpenCV packages currently so I am a bit lost.

Should I open a ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2013-02-15 11:05:17 -0500

Vincent Rabaud gravatar image

interesting, visp is the first 3rd party depending on a 3rd party only. So you found a bug :) https://github.com/ros-infrastructure/bloom/issues/87 I'll fix it for OpenCV for now. Thx !

edit flag offensive delete link more

Comments

Thanks for taking time to look at this! Should I add a runtime_depend on catkin for my package also?

Thomas gravatar imageThomas ( 2013-02-17 13:37:06 -0500 )edit
1

@Thomas, yes. The rationale is that catkin provides the setup.*sh files at run time and your library is not findable without first sourcing them, so you actually should run depend on catkin. ROS packages inherit this from one of the core ROS dependencies.

WilliamWoodall gravatar imageWilliamWoodall ( 2013-02-18 05:48:00 -0500 )edit
1

ok, took me longer but it's finally released (had to wait for the new bloom). BTW, that bug is the one that REP 136 solves.

Vincent Rabaud gravatar imageVincent Rabaud ( 2013-02-27 08:49:24 -0500 )edit

Just seen it. Awesome! Also merged pull request from Julius Kammerl. Thanks again.

Thomas gravatar imageThomas ( 2013-02-27 12:21:05 -0500 )edit

@Vincent-rabaud @WilliamWoodall I recently found an almost identical issue, please let me know if the bug you mention may still be the cause? https://answers.ros.org/question/2905... Thanks

Jose Luis Blanco gravatar imageJose Luis Blanco ( 2018-05-06 13:03:23 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-02-12 19:47:14 -0500

Seen: 1,059 times

Last updated: Feb 15 '13