Hey Jakub!
I don't see any libstdc++-debuginfo packages, and am wondering... why? The /usr/lib shared lib is stripped. What am I missing? Is this debug info in another package (and not the obvious libstdc++-debuginfo package)? I usually just debug with my own toolchain so hadn't noticed this before.
I'm trying to figure out what to do with boost's empty debuginfo package, so had looked around for other libs that were presumably doing this correctly. I'm not quite sure what's up: I get this in my build log when I do
rpmbuild -ba boost.spec
... + /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/boost_1_33_1 0 blocks find: /var/tmp/boost-1.33.1-root/usr/lib/debug: No such file or directory ...
I'm looking for some documentation on this stuff and am coming up empty handed. I don't see any consensus in the kernel.spec or gcc41.spec files, and no trail of obvious tricks either. I see that the gmp-debuginfo package does what I'd expect it to do, but doesn't seem to resort to any trickery to do it. The build log for gmp looks like:
... + /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/gmp-4.1.4 extracting debug info from /var/tmp/gmp-4.1.4-root/usr/lib/libgmpxx.so.3.0.5 extracting debug info from /var/tmp/gmp-4.1.4-root/usr/lib/libgmp.so.3.3.3 extracting debug info from /var/tmp/gmp-4.1.4-root/usr/lib/libmp.so.3.1.7 cpio: gmp-4.1.4/base/cxx/<built-in>: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-add_n.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-addmul_1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-copyd.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-copyi.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-dive_1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-diveby3.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-divrem_1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-lshift.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-mod_1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-mod_34lsub1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-mul_1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-mul_basecase.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-rshift.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-sub_n.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-submul_1.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-udiv.s: No such file or directory cpio: gmp-4.1.4/base/mpn/tmp-umul.s: No such file or directory 2702 blocks ...
The boost build procedure unfortunately doesn't use the standard GNU make tools, so perhaps this is something related to build location, or something not done?
-benjamin
Benjamin Kosnik wrote:
Hey Jakub!
I don't see any libstdc++-debuginfo packages, and am wondering... why? The /usr/lib shared lib is stripped. What am I missing? Is this debug info in another package (and not the obvious libstdc++-debuginfo package)? I usually just debug with my own toolchain so hadn't noticed this before.
[hans@shalem devel]$ rpm -qi libstdc++ libstdc++-4.1.1-20.i386 Name : libstdc++ Relocations: (not relocatable) Version : 4.1.1 Vendor: Red Hat, Inc. Release : 20 Build Date: Tue 29 Aug 2006 12:24:58 AM CEST Install Date: Thu 14 Sep 2006 10:55:47 PM CEST Build Host: hs20-bc1-6.build.redhat.com Group : System Environment/Libraries Source RPM: gcc-4.1.1-20.src.rpm Size : 929584 License: GPL Signature : DSA/SHA1, Wed 13 Sep 2006 02:31:00 PM CEST, Key ID fd372689897da07a Packager : Red Hat, Inc. http://bugzilla.redhat.com/bugzilla URL : http://gcc.gnu.org Summary : GNU Standard C++ Library Description : The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. libstdc++-4.1.1-27.x86_64 Name : libstdc++ Relocations: (not relocatable) Version : 4.1.1 Vendor: Red Hat, Inc. Release : 27 Build Date: Fri 29 Sep 2006 12:48:17 AM CEST Install Date: Mon 02 Oct 2006 09:31:20 AM CEST Build Host: hs20-bc1-5.build.redhat.com Group : System Environment/Libraries Source RPM: gcc-4.1.1-27.src.rpm Size : 981840 License: GPL Signature : (none) Packager : Red Hat, Inc. http://bugzilla.redhat.com/bugzilla URL : http://gcc.gnu.org Summary : GNU Standard C++ Library Description : The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. [hans@shalem devel]$
Notice the "Source RPM: gcc-4.1.1-27.src.rpm", thus gcc-debuginfo is what you want.
Regards,
Hans
On Tue, 2006-11-14 at 23:28 +0100, Benjamin Kosnik wrote:
I'm trying to figure out what to do with boost's empty debuginfo package, so had looked around for other libs that were presumably doing this correctly. I'm not quite sure what's up: I get this in my build log when I do
rpmbuild -ba boost.spec
...
- /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/boost_1_33_1
0 blocks find: /var/tmp/boost-1.33.1-root/usr/lib/debug: No such file or directory
The boost build procedure unfortunately doesn't use the standard GNU make tools, so perhaps this is something related to build location, or something not done?
Any chance that the boost make install has a custom pre-strip which installs stripped .sos ? That would explain a worthless empty debuginfo package.
C.
On Tue, Nov 14, 2006 at 11:28:32PM +0100, Benjamin Kosnik wrote:
I don't see any libstdc++-debuginfo packages, and am wondering... why?
gcc-debuginfo.
rpmbuild -ba boost.spec
...
- /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/boost_1_33_1
0 blocks find: /var/tmp/boost-1.33.1-root/usr/lib/debug: No such file or directory ...
Most probably your Makefiles or spec stripped everything before reaching debuginfo generation or wasn't even compiled with -g. Make sure you don't strip anything you want debuginfo generated for and that is has been compiled with debug enabled (-g is among RPM_OPT_FLAGS, so if the package honors that, it shouldn't be any extra effort).
I'm looking for some documentation on this stuff and am coming up empty handed. I don't see any consensus in the kernel.spec or gcc41.spec files, and no trail of obvious tricks either. I see that the
Don't look at kernel.spec or glibc.spec for debuginfo details, these two packages build debuginfo specially on their own. But AFAIK all other packages use the standard thing.
Jakub