bug-libtool
[Top][All Lists]
Advanced

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

Re: Incorrect PathName for $exported_symbols on Cygwin


From: Ralf Wildenhues
Subject: Re: Incorrect PathName for $exported_symbols on Cygwin
Date: Wed, 29 Dec 2004 10:01:52 +0100
User-agent: Mutt/1.4.1i

Hi Reid,

* Reid Spencer wrote on Fri, Dec 24, 2004 at 01:39:52AM CET:
> Version: ltmain.sh (GNU libtool) 1.5.10 (1.1220.2.130 2004/09/19 12:13:49)
> config.guess: i686-pc-cygwin
> 
> In building LLVM (http://llvm.cs.uiuc.edu/) on Cygwin, I noticed a
> problem with the following symptom from libtool (line 4332):
> 
> eval: 
> /proj/work/llvm/build/Debug/bin/.libs//proj/work/llvm/build/Debug/bin/lli.exe.exp:No
>  such file or directory
*snip*
> 
> The problem is that when we invoke libtool, we pass the entire path to
> libtool to be built, not just the filename. The libtool script is is
> using $output_objdir/$output.exp to formulate the name of a temporary
> file for the exported symbols. However, the script does not ensure that
> all intermediate directories are created. Instead of creating them, I
> figured the file should be named $output_objdir/$outputname.exp instead.
> The following patch makes that change.

You got the patch reversed (and that had me quite confused for a while).

Could you please provide a small recipe to reproduce this?  I'd like to
see exactly what you do (also to see whether we have to prevent possible
name clashes resulting from your change).

Thanks,
Ralf


> --- ltmain.sh 2004-12-23 16:09:53.000000000 -0800
> +++ /proj/install/share/libtool/ltmain.sh     2004-10-12 17:05:17.000000000 
> -0700
> @@ -4325,16 +4325,16 @@
>             $run eval '$mv "$nlist"T "$nlist"'
>           fi
>  
>           # Prepare the list of exported symbols
>           if test -z "$export_symbols"; then
> -           export_symbols="$output_objdir/$outputname.exp"
> +           export_symbols="$output_objdir/$output.exp"
>             $run $rm $export_symbols
>             $run eval "${SED} -n -e '/^: @address@hidden/d' -e 's/^.* 
> \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
>           else
> -           $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 
> 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
> -           $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > 
> "$nlist"T'
> +           $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 
> 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
> +           $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > 
> "$nlist"T'
>             $run eval 'mv "$nlist"T "$nlist"'
>           fi
>         fi
>  
>         for arg in $dlprefiles; do




reply via email to

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