Source: sqlitestudio
Version: 3.4.21-1
Severity: serious
Tags: ftbfs
Control: affects -1 sqlitestudio

https://buildd.debian.org/status/fetch.php?pkg=sqlitestudio&arch=amd64&ver=3.4.21-1&stamp=1770931534&raw=0

...
g++ -c -pipe -g -O2 
-ffile-prefix-map=/build/reproducible-path/sqlitestudio-3.4.21=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time 
-D_FORTIFY_SOURCE=2 -std=gnu++1z -Wall -Wextra -D_REENTRANT -fPIC 
-DPROJECT_MODULE_NAME=CsvExport -DCSVEXPORT_LIBRARY -DQT_NO_DEBUG -DQT_PLUGIN 
-DQT_CORE_LIB -I. -I../../SQLiteStudio3/coreSQLiteStudio 
-I../../SQLiteStudio3/coreSQLiteStudio -I../../Plugins 
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore 
-I../../output/build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o 
../../output/build/qrc_qmake_qmake_qm_files.o qrc_qmake_qmake_qm_files.cpp
g++ -c -pipe -g -O2 
-ffile-prefix-map=/build/reproducible-path/sqlitestudio-3.4.21=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time 
-D_FORTIFY_SOURCE=2 -std=gnu++1z -Wall -Wextra -D_REENTRANT -fPIC 
-DPROJECT_MODULE_NAME=CsvImport -DCSVIMPORT_LIBRARY -DQT_NO_DEBUG -DQT_PLUGIN 
-DQT_CORE_LIB -I. -I../../SQLiteStudio3/coreSQLiteStudio 
-I../../SQLiteStudio3/coreSQLiteStudio -I../../Plugins 
-I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore 
-I../../output/build -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o 
../../output/build/qrc_qmake_qmake_qm_files.o qrc_qmake_qmake_qm_files.cpp
rm -f libCsvExport.so
g++ -Wl,-z,relro -Wl,-z,now -shared -o libCsvExport.so 
../../output/build/csvexport.o ../../output/build/qrc_csvexport.o 
../../output/build/qrc_qmake_qmake_qm_files.o 
../../output/build/moc_csvexport.o  
-L/build/reproducible-path/sqlitestudio-3.4.21/SQLiteStudio3/../output/SQLiteStudio
 /usr/lib/x86_64-linux-gnu/libQt5Core.so -lpthread    
rm -f libCsvImport.so
g++ -Wl,-z,relro -Wl,-z,now -shared -o libCsvImport.so 
../../output/build/csvimport.o ../../output/build/qrc_csvimport.o 
../../output/build/qrc_qmake_qmake_qm_files.o 
../../output/build/moc_csvimport.o  
-L/build/reproducible-path/sqlitestudio-3.4.21/SQLiteStudio3/../output/SQLiteStudio
 /usr/lib/x86_64-linux-gnu/libQt5Core.so -lpthread    
/usr/bin/x86_64-linux-gnu-ld.bfd: 
../../output/build/qrc_qmake_qmake_qm_files.o: bad reloc symbol index 
(0x9906af0c >= 0x1d) for offset 0x2f06cc000000c152 in section `.text'
/usr/bin/x86_64-linux-gnu-ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:166: ../../output/SQLiteStudio/plugins/libCsvExport.so] 
Error 1
...


Two processes each creating a file and then trying to use it is a race 
condition,
since the first one might use it while the second one is writing it (again).
This is what happened here.

Even worse is that the input files qrc_qmake_qmake_qm_files.cpp are different,
one plugin might end up being linked with the source file for a different 
plugin.

The following patch to disable parallel building of plugins might be able
to workaround it:

--- sqlitestudio-3.4.21/debian/rules    2026-02-12 17:28:43.000000000 +0200
+++ sqlitestudio-3.4.21/debian/rules    2026-02-12 17:28:43.000000000 +0200
@@ -24,7 +24,7 @@
 
 override_dh_auto_build:
        dh_auto_build --sourcedirectory=SQLiteStudio3
-       dh_auto_build --sourcedirectory=Plugins
+       dh_auto_build --sourcedirectory=Plugins --no-parallel
 
 override_dh_auto_install:
        dh_auto_install --sourcedirectory=SQLiteStudio3

Reply via email to