Source: ibus Version: 1.5.28-3 Severity: serious Justification: fails to build twice in a row
Hi, ibus/experimental fails to build twice in a row. (I haven't verified whether the version in sid is also affected by this bug.) The first build succeeds and a subsequent debian/rules clean removes src/ibusenumtypes.h (and maybe other required files): debian/rules clean dh clean --with gir,python3 dh_auto_clean make -j3 distclean make[1]: Entering directory '/build/ibus-1.5.28' Making distclean in src make[2]: Entering directory '/build/ibus-1.5.28/src' Making distclean in . make[3]: Entering directory '/build/ibus-1.5.28/src' test -z "IBus-1.0.gir IBus-1.0.typelib ibusmarshalers.c ibusmarshalers.h ibusenumtypes.c ibusenumtypes.h ibusresources.c ibusresources.h ibus.gresources.xml stamp-ibusmarshalers.h stamp-ibusenumtypes.h " || rm -f IBus-1.0.gir IBus-1.0.typelib ibusmarshal ers.c ibusmarshalers.h ibusenumtypes.c ibusenumtypes.h ibusresources.c ibusresources.h ibus.gresources.xml stamp-ibusmarshalers.h stamp-ibusenumtypes.h ... That file doesn't get regenerated before it is used during the second build, resulting in: ... ( top_builddir=`cd .. && pwd`; \ cd . && /usr/bin/glib-mkenums --template ibusenumtypes.c.template ibus.h ibusaccelgroup.h ibusattribute.h ibusattrlist.h ibusbus.h ibuscomponent.h ibusconfig.h ibusconfigservice.h ibusdebug.h ibusemoji.h ibusengine.h ibusenginedesc.h ibusenginesimple.h ibuse rror.h ibusfactory.h ibushotkey.h ibusinputcontext.h ibuskeymap.h ibuskeys.h ibuskeysyms-compat.h ibuskeysyms.h ibuslookuptable.h ibusobject.h ibusobservedpath.h ibuspanelservice.h ibusproperty.h ibusproplist.h ibusproxy.h ibusregistry.h ibusserializable.h i busservice.h ibusshare.h ibustext.h ibustypes.h ibusunicode.h ibusutil.h ibusxevent.h ibusxml.h | \ sed 's/i_bus_/ibus_/g' | \ sed 's/I_TYPE_BUS_/IBUS_TYPE_/g') > \ ibusenumtypes.c.tmp && mv ibusenumtypes.c.tmp ibusenumtypes.c ( top_builddir=`cd .. && pwd`; \ cd . && /usr/bin/glib-mkenums --template ibusenumtypes.h.template ibus.h ibusaccelgroup.h ibusattribute.h ibusattrlist.h ibusbus.h ibuscomponent.h ibusconfig.h ibusconfigservice.h ibusdebug.h ibusemoji.h ibusengine.h ibusenginedesc.h ibusenginesimple.h ibuse rror.h ibusfactory.h ibushotkey.h ibusinputcontext.h ibuskeymap.h ibuskeys.h ibuskeysyms-compat.h ibuskeysyms.h ibuslookuptable.h ibusobject.h ibusobservedpath.h ibuspanelservice.h ibusproperty.h ibusproplist.h ibusproxy.h ibusregistry.h ibusserializable.h i busservice.h ibusshare.h ibustext.h ibustypes.h ibusunicode.h ibusutil.h ibusxevent.h ibusxml.h | \ sed 's/i_bus_/ibus_/g' | \ sed 's/I_TYPE_BUS_/IBUS_TYPE_/g') > \ ibusenumtypes.h.tmp && mv ibusenumtypes.h.tmp ibusenumtypes.h INFO: Reading ./ibusmarshalers.list... sed -e "s|\@ENDIAN\@|little|g" \ ibus.gresources.xml.in > ibus.gresources.xml.tmp && \ mv ibus.gresources.xml.tmp ibus.gresources.xml gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"IBUS\" -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/incl ude -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -pthread -DIBUS_CACHE_DIR=\""/var/cache/ibus"\" -DIBUS_DATA_DIR=\"/usr/share/ibus\" -DIBUS_DISABLE_DEPRECATION_WARNINGS -DIBUS_COMPILATION -DISOCODES_PREFIX=\"/usr\" -DX11_DATA_PREF IX=\"/usr\" -DENABLE_EMOJI_DICT -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/ibus-1.5.28=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -pedantic -c -o gen_internal_compose_table-gencomposetable.o `test -f 'gencomposet able.c' || echo './'`gencomposetable.c In file included from ./ibusobject.h:41, from ./ibus.h:31, from gencomposetable.c:23: ./ibusdebug.h:49:31: warning: ISO C does not permit named variadic macros [-Wvariadic-macros] 49 | #define ibus_warning(msg, args...) \ | ^~~ gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"IBUS\" -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/incl ude -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -pthread -DIBUS_CACHE_DIR=\""/var/cache/ibus"\" -DIBUS_DATA_DIR=\"/usr/share/ibus\" -DIBUS_DISABLE_DEPRECATION_WARNINGS -DIBUS_COMPILATION -DISOCODES_PREFIX=\"/usr\" -DX11_DATA_PREF IX=\"/usr\" -DENABLE_EMOJI_DICT -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/ibus-1.5.28=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -pedantic -c -o gen_internal_compose_table-ibuscomposetable.o `test -f 'ibuscompos etable.c' || echo './'`ibuscomposetable.c ./ibus.h:49:10: fatal error: ibusenumtypes.h: No such file or directory 49 | #include <ibusenumtypes.h> | ^~~~~~~~~~~~~~~~~ compilation terminated. make[4]: *** [Makefile:1098: gen_internal_compose_table-gencomposetable.o] Error 1 My guess is that there is a dependency missing s.t. the generated source code is made first, and therefter stuff gets compiled. The current setup probably works for a sequential build, but in a parallel build the generation and usage seem to have happened concurrently. Andreas
ibus_1.5.28-3_twice.log.gz
Description: application/gzip