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


_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to