libtool-patches
[Top][All Lists]
Advanced

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

Re: cygwin breakage


From: Noah Misch
Subject: Re: cygwin breakage
Date: Sat, 16 Oct 2004 09:57:10 -0700
User-agent: Mutt/1.5.6i

On Sat, Oct 16, 2004 at 12:29:33AM -0400, Charles Wilson wrote:
> Peter O'Gorman wrote:
> 
> >This successfully fixed the (purely aesthetic) bug recently reported by 
> >the sleepycat folks on Mac OS X :(.
> >Sorry that you are unhappy, I will revert the change after work tonight, 
> >but I am curious as to how exactly it is failing. Could you send the 
> >relevant bits of VERBOSE output?
> 
> during mdemo-make (after mdemo-conf):
> 
> /bin/sh ./libtool --mode=link --tag=CC gcc  -g -O2   -o libfoo2.la 
> -rpath 
> /usr/src/libtool/devel/CVS/libtool-b20-temp/.build/tests/_inst/lib 
> -no-undefined -module -export-symbols-regex "libfoo2.*" foo2.lo  libsub.la
> libtool: link: generating symbol list for `libfoo2.la'
> /usr/bin/nm -B  .libs/foo2.o   | sed -n -e 's/^.*[ 
> ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][ 
> ]*\(_\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p' | /usr/bin/sed -e 
> '/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/' | /usr/bin/sed -e '/^[AITW] /s/.* 
> //' | sort | uniq > .libs/libfoo2.exp
> grep -E -e "libfoo2.*" ".libs/libfoo2.exp" > ".libs/libfoo2.expT"
> mv -f ".libs/libfoo2.expT" ".libs/libfoo2.exp"
> eval: 1: Syntax error: "then" unexpected
> if test xlibfoo2_LTX_foo2 = xEXPORTS
> make[4]: *** [libfoo2.la] Error 2
> 
> Attached, the libtool for this build.

Not to crash any Virtual PC parties, but here is a shell trace of the failure:

+ func_quote_for_eval if test "x`/usr/bin/sed 1q .libs/libfoo2.exp`" = 
xEXPORTS; then cp .libs/libfoo2.exp .libs/cygfoo2-0.dll.def; else echo EXPORTS 
> .libs/cygfoo2-0.dll.def; cat .libs/libfoo2.exp >> .libs/cygfoo2-0.dll.def; fi
+ my_arg=if test "x`/usr/bin/sed 1q .libs/libfoo2.exp`" = xEXPORTS; then cp 
.libs/libfoo2.exp .libs/cygfoo2-0.dll.def; else echo EXPORTS > 
.libs/cygfoo2-0.dll.def; cat .libs/libfoo2.exp >> .libs/cygfoo2-0.dll.def; fi
+ my_arg="if test "x`/usr/bin/sed 1q .libs/libfoo2.exp`" = xEXPORTS; then cp 
.libs/libfoo2.exp .libs/cygfoo2-0.dll.def; else echo EXPORTS > 
.libs/cygfoo2-0.dll.def; cat .libs/libfoo2.exp >> .libs/cygfoo2-0.dll.def; fi"
+ func_quote_for_eval_result="if test "x`/usr/bin/sed 1q .libs/libfoo2.exp`" = 
xEXPORTS; then cp .libs/libfoo2.exp .libs/cygfoo2-0.dll.def; else echo EXPORTS 
> .libs/cygfoo2-0.dll.def; cat .libs/libfoo2.exp >> .libs/cygfoo2-0.dll.def; fi"
+ eval $show ""if test "x`/usr/bin/sed 1q .libs/libfoo2.exp`" = xEXPORTS; then 
cp .libs/libfoo2.exp .libs/cygfoo2-0.dll.def; else echo EXPORTS > 
.libs/cygfoo2-0.dll.def; cat .libs/libfoo2.exp >> .libs/cygfoo2-0.dll.def; fi""
+ /usr/bin/sed 1q .libs/libfoo2.exp
+ echo if test xlibfoo2_LTX_foo2 = xEXPORTS
if test xlibfoo2_LTX_foo2 = xEXPORTS
eval: 1: Syntax error: "then" unexpected

The two pairs of quotes cancel, so the variable expansion evals unprotected.

-eval \$show \"$func_quote_for_eval_result\"
+eval \$show "$func_quote_for_eval_result"

plugs the failure in this case, but I think it unfixes the problem Peter was
trying to fix.  Indeed, ``$show "$my_arg"'' is equivalent.  Hmmm.




reply via email to

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