[ros-users] [PCL-users] release vs relwithdebinfo

Peter Soetens peter at thesourceworks.com
Wed Feb 23 09:56:04 UTC 2011

On Wednesday 23 February 2011 01:46:51 Radu Bogdan Rusu wrote:
> Interesting suggestion.
> I am not sure if creating extra -dbg puts a large burden on our debian
> package generation system, but if it doesn't, that sounds like a great
> idea!
> Thanks for the feedback!
> PS. We have the same problem with many libraries not just PCL. I was
> talking about PCL in my e-mail because that's the one we tested.

In the Orocos debian packages, we build with RelWithDebInfo and strip out the 
debug symbols into a separate package during the packaging step. This is done 
by adding the 
	dh_strip --dbg-package=orocos-rtt-dbg$(major)

step in the 'binary-arch:' target in your debian/rules file. The -dbg package 
is automatically generated, in our case, that's "orocos-rtt-
dbg2.3_2.3.0-1.deb" for the 2.3.0 release. Our control file then contains this 
text for defining the -dbg package:

Package: orocos-rtt-dbg at LIBVER@
Section: libdevel
Priority: extra
Architecture: any
Depends: liborocos-rtt-common at LIBVER@-dev (= ${binary:Version})
Conflicts: orocos-rtt-dbg
Replaces:  orocos-rtt-dbg
Provides:  orocos-rtt-dbg
Description: Orocos Real-Time Toolkit (debug symbols)
 This package contains the debugging symbols.

There is a confusion in this thread that -dbg packages must depend on other -
dbg packages. That is not the case. All 'lib' packages depend only on the 
'lib' packages, and not  on the -dbg packages. So you could pick to only 
install the -dbg symbols only for one library 'in the middle'.

It's certainly not a stress to generate these -dbg packages, it only takes a 
few seconds, and it's fully automated by the Debian build system.

> Cheers,
> Radu.
> --
> http://pointclouds.org
> On 02/22/2011 12:24 PM, Nizar Khalifa Sallem wrote:
> >> For example, there are numerous libraries in the Ubuntu repositories
> >> that provide both a -dbg and a regular version. One example: the GNU C
> >> library has both the "libc6" package, as well as the "libc6-dbg"
> >> package that provides debugging symbols (or a version that doesn't have
> >> debugging symbols stripped out). I'm a bit fuzzy on exactly what they
> >> are doing, but my point is that they have two separate packages, one
> >> with debugging symbols and one without and I get to choose which to
> >> install. Could PCL do something similar?


More information about the ros-users mailing list