libtool
[Top][All Lists]
Advanced

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

Re: cvs build prob


From: Patrick Welche
Subject: Re: cvs build prob
Date: Tue, 27 Jul 2004 16:07:14 +0100
User-agent: Mutt/1.5.6i

I can reproduce the

sed: 1: ""s/\*/\\\*/g"": invalid command code "

error with the minimum configure.ac which contains LT_LANG(C++)
which calls _LT_LANG_CXX_CONFIG,
which calls AC_LIBTOOL_PROG_LD_SHLIBS,
which calls AC_LIBTOOL_POSTDEP_PREDEP,
which has

  # The `*' in the case matches for architectures that use `case' in
  # $output_verbose_cmd can trigger glob expansion during the loop
  # eval without this substitution.
  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e 
\"$no_glob_subst\"`"

where

# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'

Before output_verbose_link_cmd is "no_globbed", its value is
$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e 
"s:-lgcc -lc -lgcc::"


The great part is this is a ksh quoting problem:

================= foo ==================
CC=cc
SED=sed
GREP=grep
echo=echo

Xsed='sed -e s/^X//'
no_glob_subst='s/\*/\\\*/g'

output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP 
conftest.$objext | $SED -e \"s:-lgcc -lc -lgcc::\""
echo "output_cmd: ($output_verbose_link_cmd)"
output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e 
\"$no_glob_subst\"`"
echo "output_cmd: ($output_verbose_link_cmd)"
========================================
% sh foo
output_cmd: (cc -shared  -v conftest. 2>&1 | grep conftest. | sed -e "s:-lgcc 
-lc -lgcc::")
output_cmd: (cc -shared  -v conftest. 2>&1 | grep conftest. | sed -e "s:-lgcc 
-lc -lgcc::")
% ksh foo
output_cmd: (cc -shared  -v conftest. 2>&1 | grep conftest. | sed -e "s:-lgcc 
-lc -lgcc::")
sed: 1: ""s/\*/\\\*/g"": invalid command code "
output_cmd: ()


Oh joy... (ksh version @(#)PD KSH v5.2.14 99/07/13.2)


Cheers,

Patrick




reply via email to

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