локальная ошибка: 'уже зарегистрирован в AC_CONFIG_FILES; и / или $ '\ r': команда не найдена - PullRequest
0 голосов
/ 09 мая 2018

Я строил проект C automake. Запуск "aclocal" показывает следующую ошибку.

 $ aclocal
 ' is already registered with AC_CONFIG_FILES./usr/src/ports/autoconf2.5/autoconf2.5-2.69-3.noarch/src/autoconf-2.69/lib/autoconf/status.m4:288: AC_CONFIG_FILES is 
 expanded from...
 configure.ac:890: the top level
 autom4te-2.69: /usr/bin/m4 failed with exit status: 1
 aclocal-1.15: error: echo failed with exit status: 1

Я использую Cygwin на Windows 10.

В файле configure.ac есть строка от 886 до конца.

# ----------------------------------------------------------------------
# Create output files
#
echo $SLIM_VERSION > VERSION
AC_OUTPUT(Makefile \
      src/Makefile \
      src/genconfig \
      src/verifier/Makefile \
      src/utility/Makefile \
      src/test/Makefile \
      lib/Makefile \
      ext/Makefile \
      test/Makefile \
      test/system_check/Makefile \
      third_party/Makefile \
      third_party/zdelta-2.1/Makefile \
      third_party/google-perftools-1.8.3/Makefile \
      third_party/google-perftools-1.8.3/src/google/tcmalloc.h \
      third_party/google-perftools-1.8.3/src/windows/google/tcmalloc.h \
      doc/Makefile \
      doc/slim.1)

Как и предполагалось, я использовал "dos2unix" для всех файлов "* .am" и "configure.ac", но при запуске "make" выдается следующая ошибка.

configure.ac:596: the top level
cd ../.. && /bin/sh ./config.status third_party/zdelta-2.1/Makefile depfiles
config.status: creating third_party/zdelta-2.1/Makefile
config.status: executing depfiles commands
source='deflate.c' object='deflate.o' libtool=no \
DEPDIR=.deps depmode=none /bin/sh ../../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../../src     -Wall -export-dynamic -O3  -fopenmp -c -o deflate.o deflate.c
../../depcomp:行2: $'\r': 未找到命令
../../depcomp:行5: $'\r': 未找到命令
../../depcomp:行10: $'\r': 未找到命令
../../depcomp:行15: $'\r': 未找到命令
../../depcomp:行20: $'\r': 未找到命令
../../depcomp:行25: $'\r': 未找到命令
../../depcomp:行27: $'\r': 未找到命令
../../depcomp:行64: 未预期的符号 `$'in\r'' 附近有语法错误
'./../depcomp:行64: `case "$depmode" in
make[2]: *** [Makefile:419:deflate.o] 错误 2
make[2]: 离开目录“/cygdrive/c/LaViT2_8_9/lmntal/slim-lightweight- 
hlground/third_party/zdelta-2.1”
make[1]: *** [Makefile:386:all-recursive] 错误 1
make[1]: 离开目录“/cygdrive/c/LaViT2_8_9/lmntal/slim-lightweight- 
hlground/third_party”
make: *** [Makefile:425:all-recursive] 错误 1

Здесь

行2: $'\r': 未找到命令

означает строка 2: $ '\ r': не удается найти команду

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 09 мая 2018

Вы уверены, что ваша проблема вызвана символами новой строки DOS.

Дешевая распродажа - это ошибка:

'уже зарегистрирован в AC_CONFIG_FILES./usr/src/ports/autoconf2.5/autoconf2.5-2.69-3.noarch/src/autoconf-2.69/lib/autoconf/status.m4:288: AC_CONFIG_FILES is

Строка, начинающаяся с ' is already registered with, подразумевает, что курсор был отправлен обратно в начало строки в процессе записи строки в консоль - точное поведение при печати строки, считываемой из текстового файла в формате DOS, когда он ожидая, что он будет в формате UNIX.


Настройка git для извлечения текстовых файлов в формате UNIX

git config --global core.autocrlf false
git config --global core.eol lf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...