Source: kio
Version: 5.14.0-1
Severity: important
User: debian-h...@lists.debian.org
Usertags: hurd

Hello,

kio FTBFS on hurd-i386:

/«PKGBUILDDIR»/obj-i586-gnu/src/ioslaves/file/../../../../src/ioslaves/file/file.cpp:338:
 warning: posix_fadvise64 is not implemented and will always fail

which turns into an error due to -Wl,--fatal-warnings

This function is actually probed by the CMakefiles, but only with
check_function_exists.  It happens that the posix_fadvise function is
provided by glibc as a stub, which always returns ENOSYS.  The fact that
the function is actually not implemented is announced by the presence
of #define __stub_posix_fadvise in /usr/include/i386-gnu/gnu/stubs.h
Autoconf automatically detects that in its ac_fn_c_check_func()
function, but it seems that cmake unfortunately didn't integrate that
kind of detection yet into check_function_exists, and thus wrongly
believes the support is available.  It happens that cmake has a proper
check_function_exists_glibc function defined in
./Utilities/cmlibarchive/build/cmake/CheckFuncs.cmake
but it doesn't seem to be shipped in the standard cmake. So the
solutions I see would be:

- avoid -Wl,--fatal-warnings (which may actually bring other kinds of
  unexpected FTBFS along upgrades of gcc or binutils in the future).
- either to integrate ./Utilities/cmlibarchive/build/cmake/CheckFuncs.cmake
  into kio's cmake/ directory to be able to call the proper
  check_function_exists_glibc detection function
- or to patch over src/ioslaves/file/file.cpp and file_unix.cpp's
  #if HAVE_FADVISE into #if HAVE_FADVISE && !defined(__hurd__) (but once
  hurd-i386 gets posix_fadvise support it should get reverted).

There are also symbols differences, see the attached output from
dpkg-gensymbols.

Samuel

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'oldoldstable'), (500, 
'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 
'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.1.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- 
Samuel
<y> la vraie vie, c'est quand le prompt passe de $ à #
--- debian/libkf5kiocore5.symbols (libkf5kiocore5_5.14.0-1_hurd-i386)
+++ dpkg-gensymbols0UZGn9       2015-09-20 20:32:35.000000000 +0000
@@ -177,10 +177,10 @@
  _ZN14KCoreDirLister7Private14CachedItemsJob6doKillEv@Base 4.96.0
  _ZN14KCoreDirLister7Private14CachedItemsJobC1EPS_RK4QUrlb@Base 4.96.0
  _ZN14KCoreDirLister7Private14CachedItemsJobC2EPS_RK4QUrlb@Base 4.96.0
- (optional=gccinternal)_ZN14KCoreDirLister7Private14CachedItemsJobD0Ev@Base 
4.96.0
- (optional=gccinternal)_ZN14KCoreDirLister7Private14CachedItemsJobD1Ev@Base 
4.96.0
- (optional=gccinternal)_ZN14KCoreDirLister7Private14CachedItemsJobD2Ev@Base 
4.96.0
- (optional=private)_ZN14KCoreDirLister7Private14FilterSettingsaSERKS1_@Base 
5.10.0
+#MISSING: 5.14.0-1# 
(optional=gccinternal)_ZN14KCoreDirLister7Private14CachedItemsJobD0Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# 
(optional=gccinternal)_ZN14KCoreDirLister7Private14CachedItemsJobD1Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# 
(optional=gccinternal)_ZN14KCoreDirLister7Private14CachedItemsJobD2Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# 
(optional=private)_ZN14KCoreDirLister7Private14FilterSettingsaSERKS1_@Base 
5.10.0
  _ZN14KCoreDirLister7Private14_k_slotPercentEP4KJobm@Base 4.96.0
  _ZN14KCoreDirLister7Private14addRefreshItemERK4QUrlRK9KFileItemS6_@Base 4.96.0
  _ZN14KCoreDirLister7Private16_k_slotTotalSizeEP4KJoby@Base 4.96.0
@@ -774,9 +774,9 @@
  _ZN3KIO6DavJob8slotDataERK10QByteArray@Base 4.96.0
  _ZN3KIO6DavJobC1ERNS_13DavJobPrivateEiRK7QString@Base 4.96.0
  _ZN3KIO6DavJobC2ERNS_13DavJobPrivateEiRK7QString@Base 4.96.0
- (optional=gccinternal)_ZN3KIO6DavJobD0Ev@Base 4.96.0
- (optional=gccinternal)_ZN3KIO6DavJobD1Ev@Base 4.96.0
- (optional=gccinternal)_ZN3KIO6DavJobD2Ev@Base 4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN3KIO6DavJobD0Ev@Base 4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN3KIO6DavJobD1Ev@Base 4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN3KIO6DavJobD2Ev@Base 4.96.0
  _ZN3KIO6copyAsERK4QUrlS2_6QFlagsINS_7JobFlagEE@Base 4.96.0
  _ZN3KIO6linkAsERK4QUrlS2_6QFlagsINS_7JobFlagEE@Base 4.96.0
  _ZN3KIO6mkpathERK4QUrlS2_6QFlagsINS_7JobFlagEE@Base 5.3.0+git20141016.0314
@@ -907,12 +907,12 @@
  _ZN3KIO8UDSEntry6insertEjRK7QString@Base 4.96.0
  _ZN3KIO8UDSEntry6insertEjx@Base 4.96.0
  _ZN3KIO8UDSEntry7reserveEi@Base 5.5.0+git20141229.0049+15.04
- (arch=kfreebsd-any)_ZN3KIO8UDSEntryC1ERK4statRK7QString@Base 5.11.0
- (arch=!kfreebsd-any)_ZN3KIO8UDSEntryC1ERK6stat64RK7QString@Base 4.100.0
+ _ZN3KIO8UDSEntryC1ERK4statRK7QString@Base 5.11.0
+#MISSING: 5.14.0-1# 
(arch=!kfreebsd-any)_ZN3KIO8UDSEntryC1ERK6stat64RK7QString@Base 4.100.0
  _ZN3KIO8UDSEntryC1ERKS0_@Base 4.96.0
  _ZN3KIO8UDSEntryC1Ev@Base 4.96.0
- (arch=kfreebsd-any)_ZN3KIO8UDSEntryC2ERK4statRK7QString@Base 5.11.0
- (arch=!kfreebsd-any)_ZN3KIO8UDSEntryC2ERK6stat64RK7QString@Base 4.100.0
+ _ZN3KIO8UDSEntryC2ERK4statRK7QString@Base 5.11.0
+#MISSING: 5.14.0-1# 
(arch=!kfreebsd-any)_ZN3KIO8UDSEntryC2ERK6stat64RK7QString@Base 4.100.0
  _ZN3KIO8UDSEntryC2ERKS0_@Base 4.96.0
  _ZN3KIO8UDSEntryC2Ev@Base 4.96.0
  _ZN3KIO8UDSEntryD1Ev@Base 4.96.0
dpkg-gensymbols: avertissement: debian/libkf5kiofilewidgets5/DEBIAN/symbols ne 
correspond pas complètement à debian/libkf5kiofilewidgets5.symbols
--- debian/libkf5kiofilewidgets5.symbols 
(libkf5kiofilewidgets5_5.14.0-1_hurd-i386)
+++ dpkg-gensymbolsNI1NLO       2015-09-20 20:32:35.000000000 +0000
@@ -476,9 +476,9 @@
  
_ZN3KIO18DefaultViewAdapter7connectEN20KAbstractViewAdapter6SignalEP7QObjectPKc@Base
 4.96.0
  _ZN3KIO18DefaultViewAdapterC1EP17QAbstractItemViewP7QObject@Base 4.96.0
  _ZN3KIO18DefaultViewAdapterC2EP17QAbstractItemViewP7QObject@Base 4.96.0
- (optional=gccinternal)_ZN3KIO18DefaultViewAdapterD0Ev@Base 4.96.0
- (optional=gccinternal)_ZN3KIO18DefaultViewAdapterD1Ev@Base 4.96.0
- (optional=gccinternal)_ZN3KIO18DefaultViewAdapterD2Ev@Base 4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN3KIO18DefaultViewAdapterD0Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN3KIO18DefaultViewAdapterD1Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN3KIO18DefaultViewAdapterD2Ev@Base 
4.96.0
  _ZNK11KFileWidget10metaObjectEv@Base 4.96.0
  _ZNK11KFileWidget11selectedUrlEv@Base 4.96.0
  _ZNK11KFileWidget12cancelButtonEv@Base 4.96.0
dpkg-gensymbols: avertissement: debian/libkf5kiowidgets5/DEBIAN/symbols ne 
correspond pas complètement à debian/libkf5kiowidgets5.symbols
--- debian/libkf5kiowidgets5.symbols (libkf5kiowidgets5_5.14.0-1_hurd-i386)
+++ dpkg-gensymbolsFM3LOQ       2015-09-20 20:32:36.000000000 +0000
@@ -299,9 +299,9 @@
  _ZN18KUrlComboRequester16staticMetaObjectE@Base 4.96.0
  _ZN18KUrlComboRequesterC1EP7QWidget@Base 4.96.0
  _ZN18KUrlComboRequesterC2EP7QWidget@Base 4.96.0
- (optional=gccinternal)_ZN18KUrlComboRequesterD0Ev@Base 4.96.0
- (optional=gccinternal)_ZN18KUrlComboRequesterD1Ev@Base 4.96.0
- (optional=gccinternal)_ZN18KUrlComboRequesterD2Ev@Base 4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN18KUrlComboRequesterD0Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN18KUrlComboRequesterD1Ev@Base 
4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal)_ZN18KUrlComboRequesterD2Ev@Base 
4.96.0
  _ZN18KUrlPixmapProvider12virtual_hookEiPv@Base 4.96.0
  _ZN18KUrlPixmapProvider9pixmapForERK7QStringi@Base 4.96.0
  _ZN18KUrlPixmapProviderC1Ev@Base 4.96.0
@@ -982,6 +982,6 @@
  (c++)"non-virtual thunk to KSslInfoDialog::~KSslInfoDialog()@Base" 4.96.0
  (c++)"non-virtual thunk to KUrlComboBox::setCompletionObject(KCompletion*, 
bool)@Base" 4.96.0
  (c++)"non-virtual thunk to KUrlComboBox::~KUrlComboBox()@Base" 4.96.0
- (optional=gccinternal|c++)"non-virtual thunk to 
KUrlComboRequester::~KUrlComboRequester()@Base" 4.96.0
+#MISSING: 5.14.0-1# (optional=gccinternal|c++)"non-virtual thunk to 
KUrlComboRequester::~KUrlComboRequester()@Base" 4.96.0
  (c++)"non-virtual thunk to KUrlRequester::~KUrlRequester()@Base" 4.96.0
  (c++)"non-virtual thunk to KUrlRequesterDialog::~KUrlRequesterDialog()@Base" 
4.96.0

Reply via email to