[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fix order of -L flags added for libtool dep libs
From: |
Alexandre Oliva |
Subject: |
Re: fix order of -L flags added for libtool dep libs |
Date: |
04 Apr 2005 15:57:43 -0300 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 |
On Apr 4, 2005, Alexandre Oliva <address@hidden> wrote:
> Consider the following scenario:
> We're building a package that introduces libraries libA and libB, such
> that libA links with libB, and both link with a pre-installed libtool
> library /old/libC.la
> A previous version of the package is already installed, providing
> older, incompatible versions of libA and libB in say /old
> For this build, we're installing libA and libB in a separate location,
> say /new.
> The problem here is that, when we relink libA for installation, we
> start with tmp_libs="-lB -L/new" (it's in reverse order), and then we
> add prepend -lC but *append* -L/old to tmp_libs. Later on, when we
> de-reverse it, we end up searching -L/old before -L/new, so we try to
> link with the old -lB, and fail.
> This patch, for the 1.5 branch, fixes the problem. Ok to install?
> The scenario above was actually made up, but an original scenario
> involving staged installs actually came up at
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=132435
Err... Bad patch. This one should do better. We have to make sure
we add the -L flag such that, after reordering, it shows up before the
dep lib. Doh!
Index: ChangeLog
from Alexandre Oliva <address@hidden>
* ltmain.in (link mode): Add to tmp_libs paths for libtool dep
libs in reverse order as well.
Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/ltmain.in,v
retrieving revision 1.334.2.65
diff -u -p -r1.334.2.65 ltmain.in
--- ltmain.in 16 Mar 2005 17:31:02 -0000 1.334.2.65
+++ ltmain.in 4 Apr 2005 18:53:18 -0000
@@ -2867,12 +2867,12 @@ EOF
*) continue ;;
esac
case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
esac
case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$deplibs $path" ;;
+ *" $depdepl "*) ;;
+ *) deplibs="$depdepl $deplibs" ;;
esac
done
fi # link_all_deplibs != no
--
Alexandre Oliva http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer address@hidden, gcc.gnu.org}
Free Software Evangelist address@hidden, gnu.org}
- fix order of -L flags added for libtool dep libs, Alexandre Oliva, 2005/04/04
- Re: fix order of -L flags added for libtool dep libs,
Alexandre Oliva <=
- Re: fix order of -L flags added for libtool dep libs, Ralf Wildenhues, 2005/04/05
- Re: fix order of -L flags added for libtool dep libs, Ralf Wildenhues, 2005/04/08
- Re: fix order of -L flags added for libtool dep libs, Gary V. Vaughan, 2005/04/08
- FYI: fix order of -L flags added for libtool dep libs, Ralf Wildenhues, 2005/04/08
- Re: fix order of -L flags added for libtool dep libs, Ralf Wildenhues, 2005/04/11
- Re: fix order of -L flags added for libtool dep libs, Peter O'Gorman, 2005/04/11
- Re: fix order of -L flags added for libtool dep libs, Ralf Wildenhues, 2005/04/12
- Re: fix order of -L flags added for libtool dep libs, Peter O'Gorman, 2005/04/13
- FYI: fix order of -L flags added for libtool dep libs, Ralf Wildenhues, 2005/04/14
- Autotest (was: Re: FYI: fix order of -L flags added for libtool dep libs), Peter O'Gorman, 2005/04/14