Re: Проблема в configure
On Thu, Sep 27, 2007 at 12:15:00PM +0400, Pechnikov Alexey wrote:
> Команда ./configure выдает вот такую ошибку:
>
> checking system version (for dynamic loading)... ./configure: line 3789:
> syntax error near unexpected token `('
> ./configure: line 3789: ` case `(ac_space=' '; set | grep ac_space) 2>&1` in'
>
>
> Эта ошибка возникает в следующем блоке кода:
>
>
> # The following way of writing the cache mishandles newlines in values,
> # but we know of no workaround that is simple, portable, and efficient.
> # So, don't put newlines in cache variables' values.
> # Ultrix sh set writes to stderr and can't be redirected directly,
> # and sets the high bit in the cache file unless we assign to the vars.
> (set) 2>&1 |
> case `(ac_space=' '; set | grep ac_space) 2>&1` in
> *ac_space=\ *)
> # `set' does not quote correctly, so add quotes (double-quote substitution
> # turns \\\\ into \\, and sed turns \\ into \).
> sed -n \
> -e "s/'/'\\\\''/g" \
> -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
> ;;
> *)
> # `set' quotes correctly as required by POSIX, so do not add quotes.
> sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
> ;;
> esac >> confcache
>
>
> Есть ли способ починить этот код? Или можно в каком-то другом интерпретаторе
> его выполнить?
Интересно, в каком шелле вы это выполняете? bash и dash проглотили этот
фрагмент не поперхнувшись.
Попробуйте заменить ` ` на $( ).
--
Stanislav
Reply to: