On Mon, 2017-08-07 at 09:42 +0000, Artur Iwicki wrote:
I maintain a package written in Pascal, which uses fpc for compiling.
I noticed that recently, koji builds started failing on i686 and armv7hl due to the
find-debuginfo script failing to, well, extract the debuginfo.
Here's a link to a failed koji build (mass-rebuild by releng):
https://koji.fedoraproject.org/koji/taskinfo?taskID=20981009
On x86_64 and ppc64, the package builds fine. On i686 and armv7hl, this happens:
> extracting debug info from
/builddir/build/BUILDROOT/colorful-1.3-3.fc27.arm/usr/bin/colorful
> Stabs debuginfo not supported:
/builddir/build/BUILDROOT/colorful-1.3-3.fc27.arm/usr/bin/colorful
> gdb-add-index: No index was created for
/builddir/build/BUILDROOT/colorful-1.3-3.fc27.arm/usr/bin/colorful
> gdb-add-index: [Was there no debuginfo? Was there already an index?]
[ snip ]
>RPM build errors:
>error: Empty %files file
/builddir/build/BUILD/LD25-e5ecbe39b719f12a1268bcc641eae9ba364221c9/debugsourcefiles.list
This is still being discussed upstream:
http://lists.rpm.org/pipermail/rpm-maint/2017-August/006245.html
But I think the consensus is that it is a packaging bug.
It means that although you package contains native binaries there is no
correct DWARF produced so no corresponding source files have been found.
This is usually caused by a missing -g in the build flags or the native
compiler (fpc in your case I assume) not producing correct DWARF
debugging information.
I thought this may be a bug with the package, but then I saw that
koji builds for a new fpc-compiled package that I've been working on lately (not yet
submitted for review) suffer the same problem. This one is worse, even, since
find-debuginfo fails with a coredump.
https://koji.fedoraproject.org/koji/taskinfo?taskID=21087076
>extracting debug info from
/builddir/build/BUILDROOT/peazip-6.4.1-3.fc27.i386/usr/bin/peazip-qt
>extracting debug info from
/builddir/build/BUILDROOT/peazip-6.4.1-3.fc27.i386/usr/bin/peazip-gtk
>Stabs debuginfo not supported:
/builddir/build/BUILDROOT/peazip-6.4.1-3.fc27.i386/usr/bin/peazip-qt
>Stabs debuginfo not supported:
/builddir/build/BUILDROOT/peazip-6.4.1-3.fc27.i386/usr/bin/peazip-gtk
That is definitely a bug in your package or the fpc compiler.
Stabs is a ancient debuginfo format that isn't supported by any/most
modern tools. You should definitely see if you can figure out how that
happened and how you can produce normal DWARF debuginfo.
>dwz: dwz.c:1984: checksum_die: Assertion `((!op_multifile
&& !rd_multifile && !fi_multifile) || cu != die_cu (ref)) &&
(!op_multifile || cu->cu_chunk == die_cu (ref)->cu_chunk)' failed.
>/usr/lib/rpm/find-debuginfo.sh: line 518: 8822 Aborted (core dumped)
dwz $dwz_opts ${dwz_files[@]}
I am not sure exactly how this happened. It happens when handling a
Dwarf DW_FORM_ref_addr construct. You might have to report a bug report
against dwz with the files so we can track this down.
But note that this doesn't abort the build (maybe it should, but it
currently doesn't - it just means your DWARF debuginfo won't be
compressed).
The reason your build failed is the first issue of missing/incorrect
DWARF generation so that no source files could be found.
Cheers,
Mark