bug-gnu-libiconv
[Top][All Lists]
Advanced

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

Re: [bug-gnu-libiconv] Compiling new libiconv version when an old versio


From: Dagobert Michelsen
Subject: Re: [bug-gnu-libiconv] Compiling new libiconv version when an old version is installed
Date: Fri, 11 Apr 2008 14:19:40 +0200

Hello Bruno,

Am 11.04.2008 um 13:13 schrieb Bruno Haible:
Dagobert Michelsen wrote:
I have a problem compiling a new version of libiconv (1.12) on
a system which already has an old version (1.9.2) installed.
Basically I do
   ./configure --prefix=/opt/csw
   gmake
to build the library and then make a DESTDIR-installation for
packaging with
   gmake DESTDIR=/tmp/pkgdir install
...
Undefined                       first referenced
  symbol                             in file
iconv_canonicalize                  iconv.o

This is a known problem with libtool and DESTDIR installations.
On some systems you simply cannot create an executable that should
link to /opt/csw/lib/libiconv.so if the library is not yet there.
On the other systems, libtool could do a bit better when you ask
to link with /tmp/pkgdir/opt/csw/lib/libiconv.la (it could use
/tmp/pkgdir/opt/csw/lib/libiconv.so).

I tried this with

  --prefix=/tmp/pkgdir/
--with-libintl-prefix=$(BOOTSTRAPINSTALLDIR) (where gettext is installed)
  --without-libiconv-prefix
  --enable-relocatable

but got the same error as in
<http://lists.gnu.org/archive/html/bug-gnu-libiconv/2008-04/ msg00010.html>
on 'make install':

/opt/studio/SOS12/SUNWspro/bin/cc -I/tmp/pkgdir/include -I/root/ automatic-multiarch-compile/lib/libiconv/work/install-i386/tmp/pkgdir/ include -I/root/automatic-multiarch-compile/lib/libiconv/work/i386/ bootstrapinstall/include -xO3 -m32 -xarch=386 -I/root/automatic- multiarch-compile/lib/libiconv/work/i386/bootstrapinstall/include -I/ tmp/pkgdir/include -I/root/automatic-multiarch-compile/lib/libiconv/ work/install-i386/tmp/pkgdir/include -m32 -xarch=386 -L/root/ automatic-multiarch-compile/lib/libiconv/work/i386/bootstrapinstall/ lib -L/tmp/pkgdir/lib -L/root/automatic-multiarch-compile/lib/ libiconv/work/install-i386/tmp/pkgdir/lib -I../srclib -I../srclib - I.. -DHAVE_CONFIG_H -DIN_RELOCWRAPPER -DNO_XMALLOC -DINSTALLPREFIX="/ tmp/pkgdir/" -DINSTALLDIR="/root/automatic-multiarch-compile/lib/ libiconv/work/install-i386/tmp/pkgdir//bin" - DLIBPATHVAR="LD_LIBRARY_PATH" -DLIBDIRS="/tmp/pkgdir//lib", - DEXEEXT="" ../srclib/relocwrapper.c ../srclib/progname.c ../srclib/ progreloc.c ../srclib/xreadlink.c ../srclib/areadlink.c ../srclib/ readlink.c ../srclib/canonicalize-lgpl.c ../srclib/malloca.c ../ srclib/relocatable.c ../srclib/setenv.c ../srclib/strerror.c ../ srclib/c-ctype.c -o /root/automatic-multiarch-compile/lib/libiconv/ work/install-i386/tmp/pkgdir//bin/iconv.wrapper
../srclib/relocwrapper.c:
../srclib/progname.c:
../srclib/progreloc.c:
../srclib/xreadlink.c:
../srclib/areadlink.c:
../srclib/readlink.c:
../srclib/canonicalize-lgpl.c:
../srclib/malloca.c:
../srclib/relocatable.c:
../srclib/setenv.c:
../srclib/strerror.c:
../srclib/c-ctype.c:
Undefined                       first referenced
 symbol                             in file
xalloc_die                          xreadlink.o
ld: fatal: Symbol referencing errors. No output written to /root/ automatic-multiarch-compile/lib/libiconv/work/install-i386/tmp/ pkgdir//bin/iconv.wrapper
gmake[2]: *** [install] Error 1
gmake[2]: Leaving directory `/root/automatic-multiarch-compile/lib/ libiconv/work/i386/libiconv-1.12/src'
gmake[1]: *** [install] Error 2
gmake[1]: Leaving directory `/root/automatic-multiarch-compile/lib/ libiconv/work/i386/libiconv-1.12'
gmake: *** [install-work/i386/libiconv-1.12/Makefile] Error 2

So, in general, I recommend to do first the "make install" and then only
"make install DESTDIR=..."

Yes, that would work. Unfortunately I don't have root
access on the blastwave project build machines.

This fails with
           *) /bin/sh ../libtool --mode=link gcc  -g -O2 `if test -n
''; then  /opt/csw/bin; fi` iconv.o ../srclib/libicrt.a /tmp/pkgdir/
opt/csw/lib/libiconv.la -L/opt/csw/lib -lintl -lsec -L/opt/csw/lib -
liconv -lc -R/opt/csw/lib  -o iconv;; \

Where does the -lsec come from?

I do a bootstrap of gettext 0.17 first, and therefore added
this manually, as this library is needed on Solaris
or acl_trivial can not be found. See gettext bug #21604 for
details:
  http://savannah.gnu.org/bugs/?21604
The gettext flags are then pulled in automatically when
compiling libiconv.


Best regards

  -- Dago





reply via email to

[Prev in Thread] Current Thread [Next in Thread]