bug-libtool
[Top][All Lists]
Advanced

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

Re: [libtool 2.2.11a] testsuite: 48 69 92 failed [cygwin]


From: Ralf Wildenhues
Subject: Re: [libtool 2.2.11a] testsuite: 48 69 92 failed [cygwin]
Date: Tue, 15 Jun 2010 05:26:02 +0200
User-agent: Mutt/1.5.20 (2010-04-22)

* Charles Wilson wrote on Sun, Jun 13, 2010 at 08:51:00PM CEST:
> On 6/12/2010 4:58 AM, Ralf Wildenhues wrote:
> > * Charles Wilson wrote on Fri, Jun 11, 2010 at 02:28:41PM CEST:
> >> In 48, the problem occurs during libtool --clean:
> >> /usr/src/packages/libtool/git/build/libtool: line 1693:
> >> sub3/subsub/sub3/subsub/.libs/m1_ltshwrapper: No such file or directory
> > 
> > This failure is probably easiest to debug and fix if you run
> >   make check-local TESTSUITEFLAGS='-v -d -x 48'
> >   cd tests/testsuite.dir/048
> > 
> > and rerun the failing mode=clean command with --debug as first libtool
> > argument.
> 
> Here's the relevant portion:
[...]

Thanks.  $objdir is a "global" variable set in the initial section of
the libtool script, and temporarily overriding it in func_mode_uninstall
is the wrong thing to do.  Can you try whether this fixes the issue?

Thanks,
Ralf

    Fix cleaning of uninstalled w32 shell wrapper in subdirs.
    
    * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not
    override global objdir variable, instead use odir for the
    directory of to-be-removed files.  Drop unneeded origobjdir.
    Report by Charles Wilson.

diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index dd883a6..74c7114 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -7961,24 +7961,23 @@ func_mode_uninstall ()
 
     rmdirs=
 
-    origobjdir="$objdir"
     for file in $files; do
       func_dirname "$file" "" "."
       dir="$func_dirname_result"
       if test "X$dir" = X.; then
-       objdir="$origobjdir"
+       odir="$objdir"
       else
-       objdir="$dir/$origobjdir"
+       odir="$dir/$objdir"
       fi
       func_basename "$file"
       name="$func_basename_result"
-      test "$mode" = uninstall && objdir="$dir"
+      test "$mode" = uninstall && odir="$dir"
 
-      # Remember objdir for removal later, being careful to avoid duplicates
+      # Remember odir for removal later, being careful to avoid duplicates
       if test "$mode" = clean; then
        case " $rmdirs " in
-         *" $objdir "*) ;;
-         *) rmdirs="$rmdirs $objdir" ;;
+         *" $odir "*) ;;
+         *) rmdirs="$rmdirs $odir" ;;
        esac
       fi
 
@@ -8004,18 +8003,18 @@ func_mode_uninstall ()
 
          # Delete the libtool libraries and symlinks.
          for n in $library_names; do
-           rmfiles="$rmfiles $objdir/$n"
+           rmfiles="$rmfiles $odir/$n"
          done
-         test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+         test -n "$old_library" && rmfiles="$rmfiles $odir/$old_library"
 
          case "$mode" in
          clean)
            case "  $library_names " in
            # "  " in the beginning catches empty $dlname
            *" $dlname "*) ;;
-           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           *) rmfiles="$rmfiles $odir/$dlname" ;;
            esac
-           test -n "$libdir" && rmfiles="$rmfiles $objdir/$name 
$objdir/${name}i"
+           test -n "$libdir" && rmfiles="$rmfiles $odir/$name $odir/${name}i"
            ;;
          uninstall)
            if test -n "$library_names"; then
@@ -8082,12 +8081,12 @@ func_mode_uninstall ()
 
            # note $name still contains .exe if it was in $file originally
            # as does the version of $file that was added into $rmfiles
-           rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+           rmfiles="$rmfiles $odir/$name $odir/${name}S.${objext}"
            if test "$fast_install" = yes && test -n "$relink_command"; then
-             rmfiles="$rmfiles $objdir/lt-$name"
+             rmfiles="$rmfiles $odir/lt-$name"
            fi
            if test "X$noexename" != "X$name" ; then
-             rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+             rmfiles="$rmfiles $odir/lt-${noexename}.c"
            fi
          fi
        fi
@@ -8095,7 +8094,6 @@ func_mode_uninstall ()
       esac
       func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
-    objdir="$origobjdir"
 
     # Try to remove the ${objdir}s in the directories where we deleted files
     for dir in $rmdirs; do



reply via email to

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