#1150665 synfig: FTBFS: ../test/string:1:2: error: invalid preprocessing directive #!

Package:
src:synfig
Source:
src:synfig
Submitter:
Santiago Vila
Date:
2026-10-12 07:39:04 UTC
Severity:
normal
Tags:
#1150665#5
Date:
2026-10-11 23:08:13 UTC
From:
To:
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
       |   ^~~~~~

#1150665#10
Date:
2026-10-11 23:42:04 UTC
From:
To:
The patch.
#1150665#15
Date:
2026-10-12 07:36:23 UTC
From:
To: