[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

first problem solved, another found with libtool



On Thu, Jan 24, 2002 at 10:49:52AM +0900, Junichi Uekawa wrote:
...
> 
> This reminds me of bug #128391
> Which essentially was that 
> $ libtool c++ [linking operation to make a .so]
> invokes gcc, not g++, and I was pretty puzzled by the behavior.
>
... and then libstdc++ (or the c++ library preferred by that g++)
doesn't get linked nor goes into libtool lib dependencies (those in
libpspell.la). this is a know (now to me too) problem that libtool
manual reports (look for "Writing libraries for C++").

so, the first that compiles against libpspell and that doesn't
know anything about its real c++ nature gets these errors. living
examples are balsa and sylpheed-claws. aspell ans pspell-ispell are not
affected because they are c++ sources and then link against libstdc++
on their own.

yes, i know that policy requires that a shared library gets linked
against all the needed libraries but i never really checked my shareds
for this requirement. sorry, my fault.

this is first time i dig into this kind of problems.

i thought to solve this issue putting "LDFLAGS=-lstdc++" in front of
"./configure ..." in pspell debian/rules.

[ can i safely suppose that all our archs provide standard c++ library
in libstdc++ shared? ]

the thing seems to work, libpspell shared is now linked against libstdc++
and libtool depends go well but... hey... they contain a long and useless
"-L/home/cavok/archive/debian_working/pspell/pspell-0.12.2/modules/.libs"!!

[ /home/cavok/archive/debian_working/pspell/pspell-0.12.2/ is where
cvs-buildpackage builds my pspell packages ]

hmm.. all the latest releases of pspell are affected by this bloat.
libaspell too... i see, any shared linked against libpspell... aarghh

so, technically speaking, the problem that generated this thread is
solved (in my home version, of course) but i have discovered another
one and i'd like to fix it before next release of pspell packages.

it can be observed by anybody having installed lib{p,a}spell-dev,
please use "grep dependency_libs /usr/lib/lib{p,a}spell.la".

pspell is composed by three shared libraries. they are libpspell,
libpspell-impl and libpspell-modules. dependencies between them can be
found with something like "ldd /usr/lib/libpspell{,-*}.so".

my hypothesis is that during install in debian/tmp of one of them,
libtool, not knowing that they are all go to be installed in a dir
in the linker path, tries to keep them in sight each other. but paths
passed to -rpath are not coherent with it IMHO.

a build log of pspell is available at
http://filibusta.crema.unimi.it/~cavok/pspell_build.log as well as your
preferred auto-builder.

any hint would be appreciated.


-----[ Domenico Andreoli, aka cavok
 --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc
   ---[ 3A0F 2F80 F79C 678A 8936  4FEE 0677 9033 A20E BC50



Reply to: