[devel] broken autoreconf & Fortran 90/95

REAL root на mmedia2.kemsu.ru
Ср Янв 13 07:50:12 UTC 2010


Dmitry V. Levin пишет:
> Посмотрите на aclocal.m4 внимательнее, может быть, сразу всё прояснится.
> Меня, например, настораживает использование некоего макроса AC_PROG_F90,
> который, судя по префиксу AC_, должен был бы быть стандартным, однако он
> таковым, очевидно, не является.

AC_PROG_F90 объявлен в aclocal.m4.

http://git.altlinux.org/people/real/packages/chasm.git?p=chasm.git;a=blob;f=cca-tools/chasm-1.4/aclocal.m4;h=9647940a5df0d1bb97b9153c5565ea18d91aae89;hb=HEAD

Строка 1583.

Пока что ни один из рецептов не помог. Непонятно даже, с какой стороны 
подходить к проблеме. Ещё раз кусок лога.

configure.in:653: error: AC_LANG_CONFTEST: unknown language: Fortran 90
../../lib/autoconf/lang.m4:195: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2563: _AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
../../lib/autoconf/general.m4:2004: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2025: AC_CACHE_CHECK is expanded from...
aclocal.m4:1583: AC_PROG_F90 is expanded from...
aclocal.m4:3213: CONFIRM_CHASM_F90_SUPPORT is expanded from...
configure.in:653: the top level
autom4te-2.60: /usr/bin/m4 failed with exit status: 1
autoreconf-default: configure.in: not using Libtool
autoreconf-default: configure.in: not using Intltool
autoreconf-default: configure.in: not using gtk-doc
autoreconf-default: running: /usr/bin/autoconf-2.60 --force
configure.in:653: error: AC_LANG_CONFTEST: unknown language: Fortran 90
../../lib/autoconf/lang.m4:195: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2563: _AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
../../lib/autoconf/general.m4:2004: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2025: AC_CACHE_CHECK is expanded from...
aclocal.m4:1583: AC_PROG_F90 is expanded from...
aclocal.m4:3213: CONFIRM_CHASM_F90_SUPPORT is expanded from...
configure.in:653: the top level
autom4te-2.60: /usr/bin/m4 failed with exit status: 1
autoreconf-default: /usr/bin/autoconf-2.60 failed with exit status: 1

Этот макрос вызывается из CONFIRM_CHASM_F90_SUPPORT (строка 3220). 
Никакие манипуляции там с AC_REQUIRE не помогают. Ну и вопрос сразу: 
ключевая фраза, указывающая на проблему - она какая?
aclocal.m4:1583: AC_PROG_F90 is expanded from...
или
aclocal.m4:3213: CONFIRM_CHASM_F90_SUPPORT is expanded from...

В общем, эксперименты. Погрепал я:
egrep -R AC_LANG_PUSH /usr/share
Нигде AC_LANG_PUSH(Fortran 90) не встречается. Вообще. С 95 - то же 
самое. Есть только AC_LANG_PUSH(Fortran 77) и AC_LANG_PUSH(Fortran), 
остальные языки другие все.

Заменил в AC_PROG_F90 на AC_LANG_PUSH(Fortran) и, соответственно 
AC_LANG_POP(Fortran 90) AC_LANG_POP(Fortran)

Кое-что изменилось в логе:

configure.in:653: error: AC_LANG_CONFTEST: unknown language: Fortran 90
../../lib/autoconf/lang.m4:195: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2563: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2579: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
../../lib/autoconf/general.m4:2004: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2025: AC_CACHE_CHECK is expanded from...
aclocal.m4:1746: _AC_PROG_F90_V is expanded from...
aclocal.m4:1796: AC_F90_LIBRARY_LDFLAGS is expanded from...
aclocal.m4:3216: CONFIRM_CHASM_F90_SUPPORT is expanded from...
configure.in:653: the top level
autom4te-2.60: /usr/bin/m4 failed with exit status: 1

Есть подозрение, что новые автотулзы теперь не знают, что такое 
Fortran90 и Fortran95. Не знаю, в этом ли проблемы, но у меня 
кончились идеи, куда копать.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


Подробная информация о списке рассылки Devel