2016-06-09 3 views
4

Я использую autoconf для восстановления файла конфигурации, он работает. Но когда я исполню сгенерированный файл конфигурации, при ./configure, есть некоторые сообщения об ошибках, какКак восстановить файл конфигурации с помощью autoconf?

./configure: line 3713: syntax error near unexpected token `blas' 
./configure: line 3713: ` withval=$with_blas; R_ARG_USE(blas)' 

Я гугле и обнаружил, что blas библиотека, но она по-прежнему дает сообщения об ошибках после установки. У меня есть autoconf с версией «autoconf (GNU Autoconf) 2.69», установленной на моем Mac, и то, что я пытаюсь скомпилировать, является источником R https://svn.r-project.org/R/.


Я бежал как Autoconf -f и AUTORECONF -f пытаться восстанавливать файл настройки, которая была успешно создан. Но когда я запустил ./configure, ошибка повторится.

Сообщения об ошибках: syntax error near unexpected token blas и withval=$with_blas; R_ARG_USE(blas). Я думаю, что проблема может быть неизвестной функцией R_ARG_USE. Я Grep R_ARG_USE в кодовой базе и найти, что оно определено в файле m4/R.m4:

AC_DEFUN([R_ARG_USE], 
[if test "${withval}" = no; then 
    use_$1=no 
else 
    use_$1=yes 
fi 
])# R_ARG_USE 

Означает ли это, когда я бегу Autoconf или AUTORECONF я пропустил что-то, чтобы позволить ему знать о существовании m4 /R.m4?

Я застрял здесь почти три дня, любые полезные советы будут оценены. Большое спасибо.

+0

Попробуй как этот 'макроса AC_ARG_WITH ([Блас], [AS_HELP_STRING ([- с-Блас], [использование системы BLAS библиотеки (если таковые имеются), или указать его @<:@[email protected]:> @])], [R_ARG_USE (blas)], [use_blas = unset]) 'и убедитесь, что он действительно установлен, конечно –

+0

@ Hack-R Спасибо за ответ! Но почему в файле конфигурации есть синтаксическая ошибка, которая автоматически генерируется autoconf? Я имею в виду, если configure.ac является правильным (это файл в R svn), почему конфигурация, сгенерированная с помощью правильной configure.ac, имеет синтаксическую ошибку? – hliu

+0

Попробуйте запустить 'autoreconf -f -i'. Это заставляет регенерировать все файлы. – rfkortekaas

ответ

4

Кажется, я решил эту проблему. Я переустанавливаю gnu m4, используя brew install m4, и проблема решена. После запуска autoreconf -i -f я могу получить правильный файл конфигурации, и источник R может быть скомпилирован. Возможно, это неправильная версия m4, которую я получил в Mac.

+0

Мне на самом деле пришлось делать «заваривать» homebrew/dupes/m4 && brew install libtool', а затем 'autoreconf -i -f -I m4' на OSX 10.11.6 и R 3.3.1 – fikovnik

Смежные вопросы