Source: subversion
Version: 1.10.6-1
Severity: important
Justification: FTBFS on ports arch, built successfully before

Currently, subversion FTBFS on some architectures (at least x32) with:

checking for KWallet... no
configure: error: cannot find KWallet

See: 
https://buildd.debian.org/status/fetch.php?pkg=subversion&arch=x32&ver=1.10.6-1&stamp=1564626123&raw=0

The real error message, however, is thus:


configure:16137: checking for KWallet
configure:16187: g++ -o conftest -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat 
-Werror=format-security -std=c++11  -I/usr/include/dbus-1.0 
-I/usr/lib/x86_64-linux-gnux32/dbus-1.0/include 
-I/usr/include/x86_64-linux-gnux32/qt5/QtDBus 
-I/usr/include/x86_64-linux-gnux32/qt5 
-I/usr/include/x86_64-linux-gnux32/qt5/QtGui 
-I/usr/include/x86_64-linux-gnux32/qt5 
-I/usr/include/x86_64-linux-gnux32/qt5/QtCore 
-I/usr/include/x86_64-linux-gnux32/qt5  -I/usr/include/KF5/KWallet 
-I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KI18n -fPIC -Wdate-time 
-D_FORTIFY_SOURCE=2   -DLINUX -D_REENTRANT -D_GNU_SOURCE -DQT_DBUS_LIB 
-DQT_GUI_LIB -DQT_CORE_LIB -specs=/usr/share/dpkg/pie-link.specs -Wl,-z,relro 
-Wl,-z,now     -L/usr/lib/x86_64-linux-gnux32 conftest.cpp  -ldbus-1 
-lKF5Wallet -lKF5I18n -lKF5CoreAddons -lQt5Gui -lQt5DBus -lQt5Core  >&5
In file included from 
/usr/include/x86_64-linux-gnux32/qt5/QtCore/qalgorithms.h:43,
                 from /usr/include/x86_64-linux-gnux32/qt5/QtCore/qlist.h:43,
                 from 
/usr/include/x86_64-linux-gnux32/qt5/QtCore/qstringlist.h:41,
                 from /usr/include/x86_64-linux-gnux32/qt5/QtCore/QStringList:1,
                 from /usr/include/KF5/KWallet/kwallet.h:24,
                 from conftest.cpp:39:
/usr/include/x86_64-linux-gnux32/qt5/QtCore/qglobal.h:1177:4: error: #error 
"You must build your code with position independent code if Qt was built with 
-reduce-relocations. " "Compile your code with -fPIC (-fPIE is not enough)."
 #  error "You must build your code with position independent code if Qt was 
built with -reduce-relocations. "\
    ^~~~~
configure:16187: $? = 1


The reason this fails is because how dpkg implements PIE on some
architectures. This is buggy, but the dpkg maintainer seems to be
unable to fix it in dpkg due to some GCC change enabling PIE by
default sometimes. Basically, PIC should override PIE but, when
PIE is implemented with -specs=, doesn’t.

The following change to debian/rules allows the build to proceed:

@@
+DEB_HOST_ARCH?=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+ifneq (,$(filter x32,${DEB_HOST_ARCH}))
+DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie
+else
 DEB_BUILD_MAINT_OPTIONS=hardening=+all
+endif
 include /usr/share/dpkg/default.mk

Please apply.

Thanks in advance,
//mirabilos
-- 
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg

**********

Mit der tarent Academy bieten wir auch Trainings und Schulungen in den
Bereichen Softwareentwicklung, Agiles Arbeiten und Zukunftstechnologien an.

Besuchen Sie uns auf www.tarent.de/academy. Wir freuen uns auf Ihren Kontakt.

**********

Reply via email to