Hi Orion, Glad objdump helped -- the second approach I meant to write objcopy, which actually strips the symbols.
Regarding how the symbols might show up in the library automatically, here's how it might happen. When I took a look at one of the build.log files from koji at the following link: https://kojipkgs.fedoraproject.org//packages/Lmod/8.7.25/2.fc38/data/logs/x86_64/build.log I see your CFLAGS variable contains the -g flag, which forces debug symbols to be included. For example, for the tcl2lua it has it as part of the build (which contains the -g flag): make[1]: Entering directory '/builddir/build/BUILD/Lmod-8.7.25/pkgs/tcl2lua' gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DLUA_COMPAT_MODULE -fPIC -I/usr/include -I/usr/include/ -c -o tcl2lua.o tcl2lua.c The way this seems to happen could be as follows: 1) I took a look at the source code from here: https://kojipkgs.fedoraproject.org//packages/Lmod/8.7.25/2.fc38/src/Lmod-8.7.25-2.fc38.src.rpm When I looked at the Makefile for tcl2lua under Lmod-8.7.25/pkgs/tcl2lua, it inherits it from a previous file: override CFLAGS := $(CFLAGS) -DLUA_COMPAT_MODULE -fPIC $(LUA_INC) $(TCL_INCLUDE) 2) When I traverse the inheritance, it seems to come from the configure script Lmod-8.7.25/configure: I see a bunch of CFLAGS="-g there. If I then look at the build.log it seems to be run at the beginning of the build: + ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/usr/share PS=/usr/bin/ps configure: WARNING: unrecognized options: --disable-dependency-tracking I then looked at the Lmod.spec file, and I see this, which confirms it: %build %if 0%{?rhel} && 0%{?rhel} <= 6 %configure --prefix=%{_datadir} PS=/bin/ps %else %configure --prefix=%{_datadir} PS=/usr/bin/ps %endif %make_build So debug symbols seem to get triggered through the configure script. Hope it helps, Paul On Fri, Jun 2, 2023 at 7:42 PM Orion Poplawski <or...@nwra.com> wrote: > On 6/1/23 23:00, Paul Grosu wrote: > > Hi Orion, > > > > There are two ways to remove the debugging symbols: > > > > 1) strip --strip-debug your_library.so > > > > 2) objcopy --strip-debug your_library.so > > > > Below is an example of both approaches: > > > > 1) Method using strip: > > > > paul$ objdump --syms libfoo.so | grep debug > > 0000000000000000 l d .debug_aranges 0000000000000000 > > .debug_aranges > > 0000000000000000 l d .debug_info 0000000000000000 > > .debug_info > > 0000000000000000 l d .debug_abbrev 0000000000000000 > > .debug_abbrev > > 0000000000000000 l d .debug_line 0000000000000000 > > .debug_line > > 0000000000000000 l d .debug_str 0000000000000000 > > .debug_str > > paul$ strip --strip-debug libfoo.so > > paul$ objdump --syms libfoo.so | grep debug > > paul$ > > > > 2) Method using objdump: > > > > paul$ objdump --syms libfoo.so | grep debug > > 0000000000000000 l d .debug_aranges 0000000000000000 > > .debug_aranges > > 0000000000000000 l d .debug_info 0000000000000000 > > .debug_info > > 0000000000000000 l d .debug_abbrev 0000000000000000 > > .debug_abbrev > > 0000000000000000 l d .debug_line 0000000000000000 > > .debug_line > > 0000000000000000 l d .debug_str 0000000000000000 > > .debug_str > > paul$ objcopy --strip-debug libfoo.so > > paul$ objdump --syms libfoo.so | grep debug > > paul$ > > > > Are there other symbols you are looking to strip? > > > > Hope it helps, > > Paul > > So I'm afraid my subject isn't the best - I'm really wondering why the > library isn't being stripped automatically and debug info collected by > RPM as I would expect. > > But your answer pointed me towards using objdump --syms to verify that > the debug info has been removed, not the output of "file". Thanks! > > > > > On Fri, Jun 2, 2023 at 12:11 AM Orion Poplawski <or...@nwra.com > > <mailto:or...@nwra.com>> wrote: > > > > I'm trying to resolve this packaging issue with Lmod: > > > > > https://artifacts.dev.testing-farm.io/4d7bee41-8d21-42fb-8c57-e5ffbf58119f/ > < > https://artifacts.dev.testing-farm.io/4d7bee41-8d21-42fb-8c57-e5ffbf58119f/ > > > > > > debuginfo > > BAD /usr/share/lmod/8.7.25/lib/tcl2lua.so in Lmod-8.7.25-2.fc38 on > i686 > > contains debugging symbols > > > > I've dealt with a couple of issues here: > > > > https://src.fedoraproject.org/rpms/Lmod/pull-request/2 > > <https://src.fedoraproject.org/rpms/Lmod/pull-request/2> > > > > but despite all of my attempts the library does not appear to get > > stripped. > > > > In fact: > > > > ]$ strip -g > > > > /home/orion/BUILDROOT/Lmod-8.7.25-3.fc39.x86_64/usr/lib64/lmod/tcl2lua.so.1.0.1 > > > > $ file > > > > /home/orion/BUILDROOT/Lmod-8.7.25-3.fc39.x86_64/usr/lib64/lmod/tcl2lua.so.1.0.1 > > > > /home/orion/BUILDROOT/Lmod-8.7.25-3.fc39.x86_64/usr/lib64/lmod/tcl2lua.so.1.0.1: > > ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically > > linked, BuildID[sha1]=aa1ea44979190d0cf530d350f8151ffafeab0f36, not > > stripped > > > > ? > > > > > > -- > > Orion Poplawski > > he/him/his - surely the least important thing about me > > IT Systems Manager 720-772-5637 > > NWRA, Boulder/CoRA Office FAX: 303-415-9702 > > 3380 Mitchell Lane or...@nwra.com <mailto:or...@nwra.com> > > Boulder, CO 80301 https://www.nwra.com/ <https://www.nwra.com/> > > _______________________________________________ > > devel mailing list -- devel@lists.fedoraproject.org > > <mailto:devel@lists.fedoraproject.org> > > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > > <mailto:devel-le...@lists.fedoraproject.org> > > Fedora Code of Conduct: > > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > > <https://docs.fedoraproject.org/en-US/project/code-of-conduct/> > > List Guidelines: > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > <https://fedoraproject.org/wiki/Mailing_list_guidelines> > > List Archives: > > > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > < > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > > > > Do not reply to spam, report it: > > https://pagure.io/fedora-infrastructure/new_issue > > <https://pagure.io/fedora-infrastructure/new_issue> > > > > > > _______________________________________________ > > devel mailing list -- devel@lists.fedoraproject.org > > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue > > -- > Orion Poplawski > he/him/his - surely the least important thing about me > IT Systems Manager 720-772-5637 > NWRA, Boulder/CoRA Office FAX: 303-415-9702 > 3380 Mitchell Lane or...@nwra.com > Boulder, CO 80301 https://www.nwra.com/ > > _______________________________________________ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue >
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue