libtool-patches
[Top][All Lists]
Advanced

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

execute mode: finding -dlopen arguments correctly (was: How to use --who


From: Ralf Wildenhues
Subject: execute mode: finding -dlopen arguments correctly (was: How to use --whole-archive ld arg with libtool?)
Date: Mon, 7 Aug 2006 18:25:42 +0200
User-agent: Mutt/1.5.11

Moving from libtool to -patches:

* Ralf Wildenhues wrote on Mon, Aug 07, 2006 at 06:07:16PM CEST:
> 
> OK.  Here's a stripped-down case that tries to replicate your situation.
[...]
> I found an unrelated error, by the way (in a followup mail).

Here it goes: if you install the test package, and run the little-used
but helpful-in-this-case:
  .../libtool --mode=execute -dlopen $libdir/dup/barmod.la bin/bar

then you'd get a needless (and wrong) error:
| libtool: execute: cannot find `barmod.so.0' in `lib/dup' or `lib/dup/.libs'

fixed by the obvious patches below, checked into both branches.

Cheers,
Ralf

HEAD:
        * libltdl/config/ltmain.m4sh (func_mode_execute): Also search
        the directory above `$objdir' for the argument of "-dlopen", as
        mentioned in the error message.

Index: libltdl/config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v
retrieving revision 1.49
diff -u -r1.49 ltmain.m4sh
--- libltdl/config/ltmain.m4sh  8 Jun 2006 16:54:44 -0000       1.49
+++ libltdl/config/ltmain.m4sh  7 Aug 2006 16:17:23 -0000
@@ -1593,7 +1593,9 @@
        if test -f "$dir/$objdir/$dlname"; then
          dir="$dir/$objdir"
        else
-         func_fatal_error "cannot find \`$dlname' in \`$dir' or 
\`$dir/$objdir'"
+         if test ! -f "$dir/$dlname"; then
+           func_fatal_error "cannot find \`$dlname' in \`$dir' or 
\`$dir/$objdir'"
+         fi
        fi
        ;;
 
branch-1-5:
        * ltmain.in (execute mode): Also search the directory above `$objdir'
        for the argument of "-dlopen", as mentioned in the error message.

Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/ltmain.in,v
retrieving revision 1.334.2.132
diff -u -r1.334.2.132 ltmain.in
--- ltmain.in   12 Jun 2006 05:25:26 -0000      1.334.2.132
+++ ltmain.in   7 Aug 2006 16:17:58 -0000
@@ -6406,8 +6406,10 @@
        if test -f "$dir/$objdir/$dlname"; then
          dir="$dir/$objdir"
        else
-         $echo "$modename: cannot find \`$dlname' in \`$dir' or 
\`$dir/$objdir'" 1>&2
-         exit $EXIT_FAILURE
+         if test ! -f "$dir/$dlname"; then
+           $echo "$modename: cannot find \`$dlname' in \`$dir' or 
\`$dir/$objdir'" 1>&2
+           exit $EXIT_FAILURE
+         fi
        fi
        ;;
 




reply via email to

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