During a rebuild of all packages in a clean sid chroot (and cowbuilder+pbuilder)
the build failed with the following error. Please note that we use our research
compiler tool-chain (using tools from the cbmc package), which permits extended
reporting on type inconsistencies at link time.
[...]
libtool: link: gcc -I../cut-n-paste/toolbar-editor -I../cut-n-paste/totem-screensaver -pthread -I/usr/include/mate-desktop-2.0 -I/usr/include/dconf -I/usr/include/startup-notification-1.0 -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libexif -I/usr/include/exempi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DEOM_DATA_DIR=\"/usr/share/eom\" -DEOM_LOCALE_DIR=\"/usr/share/locale\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -Wl,-z -Wl,relro -o eom eom-main.o -Wl,--export-dynamic -pthread -pthread -Wl,--export-dynamic ./.libs/libeom.a -L/usr/lib/python2.7/config -lpython2.7 -lgmodule-2.0 -lgthread-2.0 -lmate-desktop-2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 /usr/lib/x86_64-linux-gnu/libcairo.so -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -lexif -lexempi -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0 /usr/lib/x86_64-linux-gnu/libjpeg.so ../cut-n-paste/toolbar-editor/.libs/libtoolbareditor.a -lxml2 ../cut-n-paste/totem-screensaver/.libs/libtotemscrsaver.a -lX11 ../jpegutils/.libs/libeom-jpegutils.a -lm -lz -pthread
error: conflicting function declarations "eom_application_get_instance"
old definition in module main file eom-application.h line 69
struct _EomApplication * (void)
new definition in module eom file ../../src/eom-application.h line 69
struct _EomApplication * (void)
reason for conflict in types listed below (struct/struct):
composite type component counts differ (4/3)
struct _EomApplication {
struct _GObject base_instance;
struct EggToolbarsModel * toolbars_model;
char * toolbars_file;
struct TotemScrsaver * scr_saver;
}
struct _EomApplication {
struct _GObject base_instance;
struct EggToolbarsModel * toolbars_model;
char * toolbars_file;
}
make[4]: *** [eom] Error 64
make[4]: Leaving directory `/srv/jenkins-slave/workspace/sid-goto-cc-eom/eom-1.8.0+dfsg1/src'
make[3]: *** [all] Error 2
Reviewing the---almost---shared declaration:
http://sources.debian.net/src/eom/1.8.0%2Bdfsg1-2/src/eom-application.h?hl=58,59,60#L53
it seems that a #define HAVE_DBUS must be missing from the file that was
compiled as eom, which likely is
http://sources.debian.net/src/eom/1.8.0%2Bdfsg1-2/bindings/python/eom.override
That file might just be in need of #include "config.h" to ensure consistency.
Best,
Michael
Hi Michael, thanks for providing this extra info and thanks for doing those package rebuilds for constant QA integrity. Can you please point me to a howto that explains how to reproduce those build failures here locally? It would be good to do a reference build here before re-uploading a package that still has the same flaw. Greets, Mike
Hi Stefano, Can you give feedback on this with your upstream hat on? Thanks, Mike
Hi Michael, thanks for providing this extra info and thanks for doing those package rebuilds for constant QA integrity. Can you please point me to a howto that explains how to reproduce those build failures here locally? It would be good to do a reference build here before re-uploading a package that still has the same flaw. Greets, Mike
Hi Stefano, Can you give feedback on this with your upstream hat on? Thanks, Mike
Hi Mike [...] [...] I'm afraid I can't quite provide a decent how-to at this stage, but rather a script doing (almost) all the work for you. The script lives at https://github.com/tautschnig/cprover-debian/blob/master/scripts/setting-up-buildd.sh and sets up a chroot (using cowbuilder) with a bit of hacking of some of the contents of the chroot. The only present issue with this script is that I'm concurrently improving the tools, and not all patches have been merged upstream. Hence you will need to replace *inside the chroot* /usr/bin/goto-cc /usr/bin/goto-ld with the binary from https://github.com/tautschnig/cprover-debian/blob/binaries-amd64/goto-cc (both goto-cc and goto-ld are to be replaced with this same binary). Yet please do feel free to just send me a patch to test in my set up rather than reviewing and running a shell script that might install packages you don't want on your system. Best, Michael
Hi Michael,
packages FTBFSs (see below) in my sbuild chroot.
Can you provide a proper patch to fix this issue with Debian sid rebuilds?
Thanks,
Mike
"""
[...]
make[5]: Entering directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings/python'
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H
-I. -I../.. -D_FORTIFY_SOURCE=2 -I../.. -I../.. -I../../src
-I../../src -I../../cut-n-paste/toolbar-editor -pthread
-I/usr/include/mate-desktop-2.0 -I/usr/include/dconf
-I/usr/include/gtk-2.0 -I/usr/include/startup-notification-1.0
-I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/include/libexif -I/usr/include/exempi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-fno-strict-aliasing -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/pygtk-2.0 -I/usr/include/python2.7 -g -O2
-fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -Wall -c -o eom_la-eom.lo `test -f 'eom.c' ||
echo './'`eom.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -D_FORTIFY_SOURCE=2
-I../.. -I../.. -I../../src -I../../src
-I../../cut-n-paste/toolbar-editor -pthread
-I/usr/include/mate-desktop-2.0 -I/usr/include/dconf
-I/usr/include/gtk-2.0 -I/usr/include/startup-notification-1.0
-I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/include/libexif -I/usr/include/exempi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-fno-strict-aliasing -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/pygtk-2.0 -I/usr/include/python2.7 -g -O2
-fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -Wall -c eom.c -fPIC -DPIC -o
.libs/eom_la-eom.o
In file included from eom.override:9:0:
../../src/eom-application.h:32:28: fatal error: totem-scrsaver.h: No
such file or directory
#include "totem-scrsaver.h"
^
compilation terminated.
make[5]: *** [eom_la-eom.lo] Error 1
Makefile:527: recipe for target 'eom_la-eom.lo' failed
make[5]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings/python'
make[4]: *** [all] Error 2
Makefile:444: recipe for target 'all' failed
make[4]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings/python'
make[3]: *** [all-recursive] Error 1
Makefile:443: recipe for target 'all-recursive' failed
make[3]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings'
make[2]: *** [all-recursive] Error 1
Makefile:528: recipe for target 'all-recursive' failed
make[2]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1'
make[1]: *** [all] Error 2
Makefile:459: recipe for target 'all' failed
make[1]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1'
make: *** [debian/stamp-makefile-build] Error 2
/usr/share/cdbs/1/class/makefile.mk:47: recipe for target
'debian/stamp-makefile-build' failed
dpkg-buildpackage: error: debian/rules build gave error exit status 2
────────────────────────────────────────────────────────────────────────────────
Build finished at 20140530-1339
Finished
────────
E: Build failure (dpkg-buildpackage died)
"""
Hi Michael,
packages FTBFSs (see below) in my sbuild chroot.
Can you provide a proper patch to fix this issue with Debian sid rebuilds?
Thanks,
Mike
"""
[...]
make[5]: Entering directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings/python'
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H
-I. -I../.. -D_FORTIFY_SOURCE=2 -I../.. -I../.. -I../../src
-I../../src -I../../cut-n-paste/toolbar-editor -pthread
-I/usr/include/mate-desktop-2.0 -I/usr/include/dconf
-I/usr/include/gtk-2.0 -I/usr/include/startup-notification-1.0
-I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/include/libexif -I/usr/include/exempi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-fno-strict-aliasing -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/pygtk-2.0 -I/usr/include/python2.7 -g -O2
-fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -Wall -c -o eom_la-eom.lo `test -f 'eom.c' ||
echo './'`eom.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -D_FORTIFY_SOURCE=2
-I../.. -I../.. -I../../src -I../../src
-I../../cut-n-paste/toolbar-editor -pthread
-I/usr/include/mate-desktop-2.0 -I/usr/include/dconf
-I/usr/include/gtk-2.0 -I/usr/include/startup-notification-1.0
-I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/include/libexif -I/usr/include/exempi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-fno-strict-aliasing -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/pygtk-2.0 -I/usr/include/python2.7 -g -O2
-fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -Wall -c eom.c -fPIC -DPIC -o
.libs/eom_la-eom.o
In file included from eom.override:9:0:
../../src/eom-application.h:32:28: fatal error: totem-scrsaver.h: No
such file or directory
#include "totem-scrsaver.h"
^
compilation terminated.
make[5]: *** [eom_la-eom.lo] Error 1
Makefile:527: recipe for target 'eom_la-eom.lo' failed
make[5]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings/python'
make[4]: *** [all] Error 2
Makefile:444: recipe for target 'all' failed
make[4]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings/python'
make[3]: *** [all-recursive] Error 1
Makefile:443: recipe for target 'all-recursive' failed
make[3]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1/bindings'
make[2]: *** [all-recursive] Error 1
Makefile:528: recipe for target 'all-recursive' failed
make[2]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1'
make[1]: *** [all] Error 2
Makefile:459: recipe for target 'all' failed
make[1]: Leaving directory '/«BUILDDIR»/eom-1.8.0+dfsg1'
make: *** [debian/stamp-makefile-build] Error 2
/usr/share/cdbs/1/class/makefile.mk:47: recipe for target
'debian/stamp-makefile-build' failed
dpkg-buildpackage: error: debian/rules build gave error exit status 2
────────────────────────────────────────────────────────────────────────────────
Build finished at 20140530-1339
Finished
────────
E: Build failure (dpkg-buildpackage died)
"""
I guess, it would be good not to break Debian sid rebuilds. Thus, raising severity. This issue is not release critical, as there normally are no rebuilds in testing or stable, but still. Mike