Hello Kate, all, * Kate Minola wrote on Fri, Feb 02, 2007 at 03:37:05PM CET: > > echo 'SYSTEM_HEADER_DIR="'"`echo /usr/include | sed -e :a -e > "s,[^/]*/\.\.\/,," > -e ta`"'"' \ > > > /home/kate/gcc-4.1.2-20070128/alpha-OSF1-V4/lib/gcc/alphaev56- > dec-osf4.0f/4.1.2/install-tools/mkheaders.conf > /bin/sh: : cannot execute > /bin/sh: /]*/../,, -e ta: not found > sed: Function s,[ cannot be parsed. > make[2]: *** [install-mkheaders] Error 1 > make[2]: Leaving directory > `/home/kate/gcc-4.1.2-20070128/src/obj-alpha-OSF1-V4/ > gcc'
The macro $(SYSTEM_HEADER_DIR) is used in a double-quoted context, leading to nonportable "...`..."..."...`...", see <http://www.gnu.org/software/autoconf/manual/html_node/Shell-Substitutions.html>. Proposed untested patch. (I also haven't checked whether there are other instances of this issue in 'make install' code.) Cheers, Ralf gcc/ChangeLog: 2007-02-03 Ralf Wildenhues <[EMAIL PROTECTED]> PR other/27843 * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid nested double- and backquotes. Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 121494) +++ gcc/Makefile.in (working copy) @@ -386,7 +386,9 @@ # Purge it of unneccessary internal relative paths # to directories that might not exist yet. # The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta. -SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta` +# Use single quotes here to avoid nested double- and backquotes, this +# macro is also used in a double-quoted context. +SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta` # Control whether to run fixproto and fixincludes. STMP_FIXPROTO = @STMP_FIXPROTO@