buildid and g77

Roland McGrath roland at redhat.com
Sat Aug 25 22:26:55 UTC 2007


> Hello,
> 
> I get a failure in Matt rebuilds for cernlib-g77 which is built with
> g77:
> + /usr/lib/rpm/find-debuginfo.sh /builddir/build/BUILD/cernlib-g77-2006
> extracting debug info from /var/tmp/cernlib-g77-2006-17.fc8-root-mockbuild/usr/bin/nyshell-g77
> *** ERROR: No build ID note found in /var/tmp/cernlib-g77-2006-17.fc8-root-mockbuild/usr/bin/nyshell-g77
> 
> Could it be because it is built with g77?

It is.  More precisely, it's because g77 comes from compat-gcc-34.
The compilers coming from the current Fedora gcc (4.1.x) package
pass --build-id to the linker by default, but compat-gcc-* packages
have not been changed.

> Is there a workaround?

When using the compilers from compat-gcc-* packages, you need to explicitly
add -Wl,--build-id to the link lines for executables and DSOs you create.
Depending on the package's makefiles et al, it might be as easy as passing
LDFLAGS=-Wl,--build-id to configure, or it might take more tweaking.

Given that compat-gcc-34-g77 is only thing supplying /usr/bin/g77
and it's "the compiler", not "a compat-foo compiler", perhaps it
should be changed to pass --build-id by default as the other primary
compilers do.  Jakub?


Thanks,
Roland




More information about the devel mailing list