bug-libtool
[Top][All Lists]
Advanced

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

library relinking problem


From: David Bustos
Subject: library relinking problem
Date: Fri, 20 Dec 2002 12:53:30 -0800
User-agent: Mutt/1.4i

I'm trying to install pango at my site, which has an unusual repository
structure.  Specifically, platform-independent files go into
/repository/share/pango-1.0.5, and platform-dependent files go in
/repository/$platform/pango-1.0.5.  Symlinks (and NFS trickery) are used
to make the software appear in /repository.

Pango builds ok.  But installation goes at this output:  (Here,
/repository is /home/bustos/kg, and platform is "sparc".)

========================================================================
...
/bin/bash ../libtool  --mode=install /home/kg/bin/ginstall -c libpangox-1.0.la 
/home/bustos/kg/sparc/pango-1.0.5/lib/libpangox-1.0.la
libtool: install: warning: relinking `libpangox-1.0.la'
cd /home/bustos/src/pango-1.0.5/pango; /bin/bash ../libtool --mode=relink gcc 
-O3 -Wall -D_REENTRANT -I/home/kg/include/glib-2.0 
-I/home/kg/lib/glib-2.0/include -o libpangox-1.0.la -rpath /home/bustos/kg/lib 
-version-info 0:5:0 module-defs-x.lo pangox.lo pangox-fontcache.lo 
pangox-fontmap.lo pango-indic.lo libpango-1.0.la 
../modules/basic/libpango-basic-x.la -lX11 -lsocket -lnsl
/usr/ccs/bin/ld -G -h libpangox-1.0.so.0 -o .libs/libpangox-1.0.so.0.0.5  
module-defs-x.lo pangox.lo pangox-fontcache.lo pangox-fontmap.lo pango-indic.lo 
-z allextract ../modules/basic/.libs/libpango-basic-x.al -z defaultextract  
-R/home/bustos/kg/lib  -L/home/kg/lib -L/home/bustos/kg/lib -lpango-1.0 
../modules/basic/.libs/libpango-basic-x.al -lX11 -lsocket -lnsl   -lc 
ld: fatal: library -lpango-1.0: not found
ld: fatal: File processing errors. No output written to 
.libs/libpangox-1.0.so.0.0.5
libtool: install: error: relink `libpangox-1.0.la' with the above command 
before installing it
libtool: install: warning: remember to run `libtool --finish 
/home/bustos/kg/lib'
...
========================================================================

and the installation process fails farther down the line.

First, ld can't find libpango-1.0 because it's been installed into
/home/bustos/kg/sparc/pango-1.0.5/lib, but that directory isn't on the
command line.  I think libtool is using /home/bustos/kg/lib because
that's what libdir is set to in libpango-1.0.la.  Which is where it will
be in the end, but until the symlinks are installed, it won't show up.
To verify this, I modified libtool thusly:

--- libtool.old Tue Dec 17 16:35:30 2002
+++ libtool     Tue Dec 17 16:35:09 2002
@@ -2169,11 +2169,18 @@
              *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
              esac
              add="-l$name"
            else
              # We cannot seem to hardcode it, guess we'll fake it.
-             add_dir="-L$libdir"
+             case $libdir in
+               /home/bustos/kg/lib)
+                 add_dir="-L/home/bustos/kg/sparc/pango-1.0.5/lib"
+                 ;;
+               *)
+                 add_dir="-L$libdir"
+                 ;;
+             esac
              add="-l$name"
            fi
 
            if test $linkmode = prog; then
              test -n "$add_dir" && finalize_deplibs="$add_dir 
$finalize_deplibs"

and indeed installation succeeded.  So, is pango doing something wrong?
If not, how can libtool be fixed to use the installation directory
rather than the destination directory?

Second, is libtool returning an error code?  If so, why does make
continue anyway?


David



reply via email to

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