Fedora kernel build failure: *** ERROR: same build ID in nonidentical files!

Josh Boyer jwboyer at gmail.com
Sun Feb 10 02:14:39 UTC 2008


On Fri, 01 Feb 2008 16:31:50 -0500
Chuck Ebbert <cebbert at redhat.com> wrote:

> On 02/01/2008 04:22 PM, Roland McGrath wrote:
> > Oh wait, the "copied not linked" warning probaby explains the whole thing.
> > The /usr/lib/debug copy is not stripped, so it's not identical.
> > Yeah, ok.  I wonder why this wasn't happening before.
> > 
> 
> Maybe the compiler is adding some new section type that eu-elfcmp doesn't
> know it should be ignoring? (If either cmp or eu-elfcmp say the files are
> identical the script treats them as such. And stripped and unstripped files
> are found to be identical by eu-elfcmp on my F8 install...)

I'm not entirely sure what this means, but here's what I did:

1) mock build of a ppc kernel
2) Got this for failure:

extracting debug info from /var/tmp/kernel-2.6.24.1-26.fc9-root-ppc/boot/vmlinuz-2.6.24.1-26.fc9
*** ERROR: same build ID in nonidentical files!
        /boot/vmlinuz-2.6.24.1-26.fc9
   and  /usr/lib/debug/lib/modules/2.6.24.1-26.fc9/vmlinux

3) went into the build root and did:
eu-elfcmp boot/vmlinuz-2.6.24.1-26.fc9 \
usr/lib/debug/lib/modules/2.6.24.1-26.fc9/vmlinux

and got:

differ: section header

4) ran:

eu-strip --remove-comment \
usr/lib/debug/lib/modules/2.6.24.1-26.fc9/vmlinux

5) did a eu-readelf -S of both files and noticed that the only
difference now was an additional .gnu_debuglink section in the
boot/vmlinuz file

6) ran the eu-elfcmp again on the two files and got no
error.

So I have no idea why eu-elfcmp doesn't like something.  I did notice
that the unstripped vmlinux file has an additional .comment section in
it, so perhaps that's throwing things off?  

If I run eu-strip without the --remove-comment argument on the
unstripped vmlinux file and then run eu-elfcmp, it does come back with
the differ: section header error.

The .comment section is filled with:

String section [30] '.comment' contains 39433 bytes at offset 0x47c000:
  [     0]  
  [     1]  GCC: (GNU) 4.3.0 20080130 (Red Hat 4.3.0-0.7)
  [    2f]  
  [    30]  GCC: (GNU) 4.3.0 20080130 (Red Hat 4.3.0-0.7)
  [    5e]  
  [    5f]  GCC: (GNU) 4.3.0 20080130 (Red Hat 4.3.0-0.7)
  ...

according to eu-readelf --strings=30 vmlinux

And now I'll stop my random incoherent ramblings because ELF is hard
and makes my head hurt and I need to go play Wii or something.

josh




More information about the Fedora-kernel-list mailing list