Re: Libtool problems building New Aspell
"J.H.M. Dassen (Ray)" <dm@zensunni.demon.nl> writes:
> On Sat, Oct 05, 2002 at 19:11:10 +0200, Peter Makholm wrote:
>> "J.H.M. Dassen (Ray)" <dm@zensunni.demon.nl> writes:
>> The symptoms that are described in libtool bugs #57087 and #98342.
>>
>> Not being able to do a
>>
>> $ ./configure && make && make install prefix=`pwd`/debian/tmp
>>
>> which is needed for building debian-packages. Only libaspell-common
>> gets installed and neither libaspell og libpspell gets installed.
>
> Ah. This works for me:
[ snip make a chroot ]
> - Unpack tarball:
> cd /root && tar xfz aspell-0.50.2.tar.gz && cd aspell-0.50.2
> - Regenerate auto* generated files:
> aclocal-1.6 && libtoolize --force && automake-1.6 && autoconf
> - Build and install in temp area:
> ./configure --prefix=/usr -v && make CC=g++ && \
> mkdir -p debian/tmp && make install DESTDIR=`pwd`/debian/tmp
> (The "CC=g++" is to work around an upstream bug; note this uses DESTDIR
> rather than PREFIX)
>
> The resulting debian/tmp contains
> usr/lib/libaspell.so
> usr/lib/libaspell-common.so
> usr/lib/libpspell.so.15.0.1
> usr/lib/libaspell.so.15
> usr/lib/libpspell.so.15
> usr/lib/libpspell.so
> usr/lib/libaspell-common-0.50.2.so
> usr/lib/libaspell.so.15.0.1
> which I guess is what you want.
I've discovered another problem, however. For some reason, when using
this approach, the libraries that are built don't get linked against
libstdc++.
$ ldd libaspell.so.15.0.1
libaspell-common-0.50.2.so => /home/nelson/debian/aspell/aspell-0.50.2/common/.libs/libaspell-common-0.50.2.so (0x400b9000)
libc.so.6 => /lib/libc.so.6 (0x40115000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
Therefore, if you install and attempt to use the libraries, you get
relocation errors such as:
/usr/bin/perl: relocation error: /usr/lib/libaspell.so.15: undefined symbol: __10istrstreamiPCci
However, if you don't re-run the auto* chain and just use upstream's
generated files, the libraries are linked properly:
$ ldd libaspell.so.15.0.1
libaspell-common-0.50.2.so => /home/nelson/tmp/aspell-0.50.2/common/.libs/libaspell-common-0.50.2.so (0x400ba000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x4010d000)
libm.so.6 => /lib/libm.so.6 (0x40156000)
libc.so.6 => /lib/libc.so.6 (0x40177000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
though the previously mentioned bug with libtool failing to install all
of the libraries will still bite.
What's causing this linking problem? libtool? auto* something or
other?
--
People said I was dumb, but I proved them!
Reply to: