Package: src:synfig
Version: 1.5.5+dfsg-2
Severity: serious
Tags: ftbfs forky sid patch
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
The failure happened because "synfig-core/test/string" is being used
for two different purposes at the same time. When built with 2 or
more CPUs, the build may succeed, but it does by pure chance, as it
relies on a race condition.
When built with DEB_BUILD_OPTIONS=parallel=1, which is supported by
Debian Policy 4.9.1, or just by hand doing this
apt-get source synfig
cd synfig-1.5.5+dfsg
debian/rules build
the build fails deterministically with a very verbose output like the one below.
I already forwarded this bug upstream and they already accepted my patch.
I'll send it here, complete with metadata, as soon as I have the bug number.
Thanks.
--------------------------------------------------------------------------------
[...]
x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -Wdate-time -D_FORTIFY_SOURCE=2 -g
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -std=gnu++11 -O2 -DNDEBUG -W -Wall -I/usr/include/ETL
-I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0
-I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/giomm-2.4
-I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/gio-unix-2.0 -I/usr/include/libmount
-I/usr/include/blkid -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include
-I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -isystem /usr/include/libxml++-2.6
-isystem /usr/lib/x86_64-linux-gnu/libxml++-2.6/include -isystem /usr/include/libxml2 -isystem
/usr/include/glibmm-2.4 -isystem /usr/lib/x86_64-linux-gnu/glibmm-2.4/include -isystem /usr/include/sigc++-2.0
-isystem /usr/lib/x86_64-linux-gnu/sigc++-2.0/include -isystem /usr/include/glib-2.0 -isystem
/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/sysprof-6 -pthread -I/usr/include/mlt-7/mlt++
-I/usr/include/mlt-7 -I/usr/include/ETL -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include
-DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\"/usr/share/locale\" -I.. -I../src -I../test -g
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -std=gnu++11 -O2 -DNDEBUG -W -Wall -c -o surface_etl.o surface_etl.cpp
In file included from /usr/include/c++/16/bits/locale_classes.h:43,
from /usr/include/c++/16/bits/ios_base.h:43,
from /usr/include/c++/16/ios:46,
from /usr/include/c++/16/bits/ostream.h:43,
from /usr/include/c++/16/ostream:42,
from /usr/include/c++/16/iostream:43,
from test_base.h:30,
from surface_etl.cpp:28:
../test/string:1:2: error: invalid preprocessing directive #!
1 | #! /bin/bash
| ^
../test/string:3:3: error: invalid preprocessing directive #string
3 | # string - temporary wrapper script for .libs/string
| ^~~~~~