[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: 1.10.0-alpha3 up for signing/testing

From: Philip Martin <philip_at_codematters.co.uk>
Date: Wed, 19 Jul 2017 18:11:37 +0100

Daniel Shahaf <d.s_at_daniel.shahaf.name> writes:

> Please get the tarballs from
> https://dist.apache.org/repos/dist/dev/subversion
> and add your signatures there.

By default we build both shared and static libraries. When building
against KDE5 the static build of kwallet.cpp fails with the less than
obvious error:

  Makefile:776: recipe for target 'subversion/libsvn_auth_kwallet/kwallet.lo' failed

The underlying error (which the build hides by redirecting static build
errors to /dev/null) is:

  In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:43:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
                 from subversion/libsvn_auth_kwallet/kwallet.cpp:38:
  /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1113: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. "\

For now the user can resolve the build error by configuring with
--disable-static, or by replacing the KDE5 build environment with KDE4,
or by configuring with --without-kwallet.

What is the long-term solution? The static auth provider libraries are
a bit pointless. Our own libraries only ever dynamically loads the
shared libraries, and the configure script explicitly requires shared
library support to enable the auth providers.

I suppose we could pass -fPIC to the static kwallet auth provider build
but perhaps some Makefile magic to disable all the static auth provider
builds would be better.

Received on 2017-07-19 19:11:48 CEST

This is an archived mail posted to the Subversion Dev mailing list.