kdevplatform tries to link a static lib into a shared lib...
Andreas Pakulat
apaku at gmx.de
Tue Aug 21 10:03:56 UTC 2007
On 20.08.07 23:57:08, Alexander Neundorf wrote:
> On Sunday 19 August 2007 16:22, Andreas Pakulat wrote:
> > On 13.08.07 16:29:47, David Faure wrote:
> > > ... and that doesn't work, in particular on x86_64.
> > >
> > > Linking CXX shared module ../../lib/kdevteamwork.so
> > > /usr/bin/ld: /d/kde/build/4/kdevplatform/lib/libnetwork.a(message.o):
> > > relocation R_X86_64_32 against `a local symbol' can not be used when
> > > making a shared object; recompile with -fPIC
> > > /d/kde/build/4/kdevplatform/lib/libnetwork.a: could not read symbols: Bad
> > > value collect2: ld returned 1 exit status
> > > make[2]: *** [lib/kdevteamwork.so] Error 1
> > > make[1]: *** [plugins/teamwork/CMakeFiles/kdevteamwork.dir/all] Error 2
> > > make: *** [all] Error 2
> > > makeobj[0]: Leaving directory `/d/kde/build/4/kdevplatform'
> > >
> > > libnetwork.a seems to be used only from plugins/teamwork/CMakeLists.txt,
> > > how about referencing the libnetwork files from there? Possibly using a
> > > var that is set by plugins/teamwork/CMakeLists.txt like we do in
> > > koffice/kdgantt/CMakeLists.txt.
> > > Or using a real shared library.
> >
> > Neither nor, the only solution atm is disabling it on 64 bit systems,
> > but I don't know how to do that with cmake.
>
> Do I understand correctly that a static library is linked into a shared
> library in the hope that it will work as a libtool convenience library ?
Basically yes (the static lib is linked into a plugin)
> Please don't do this, this doesn't work on all platforms, sooner or later
> there will be problems. Just use the source files directly.
No, the right solution is to make it a shared lib but there's nobody
with the time for that at the moment. If you have a suggestion how to
disable the plugin for all 64 bit I can quickly workaround the current
build-problems on such systems (its not working on win32 anyway).
As I said: We are aware of the problem and it will be fixed before the
KDevelop4.0 release.
Andreas
--
You are always busy.
More information about the KDevelop-devel
mailing list