Ваш компилятор Fortran не может скомпилировать файл sample_d.f из-за нестандартного оператора формата. Исходный код того же файла содержит инструкции, как это исправить, если это произойдет:
9001 format( <mprint>(1X,D11.4) )
*--- Some compliers (e.g., g77) generate 'Unsupported FORMAT specifier'
* with the specification above. In this case, simply use this form:
* 9001 format( 5(1X,D11.4) )
Если вы прокомментируете первую строку выше (добавьте *
в качестве первого символа строки) и раскомментируете последнюю строку (удалите начальную *
), ошибка должна исчезнуть.
Я не думаю, что есть особая важность для запуска make sample_d
, кроме того, что нужно убедиться, что объектные файлы созданы и что пример программы может быть скомпилирован и связан с ними для создания рабочего двоичного файла.
Во-первых, вы должны знать, что вы скомпилировали Expokit и одну из примеров программ, используя то, что их Makefile называет случай 3, где необходимые подпрограммы BLAS и LAPACK предоставляются файлами blas.o и lapack.o, соответственно, скомпилированными от своих партнеров .f, предоставленных Expokit.
# Among the 3 possibilities below, uncomment the appropriate
# case for your environment and comment the others.
# case 1: works when LAPACK and BLAS are installed.
OBJLIBS =
LIBS = -llapack -lblas
# case 2: works when LAPACK is not installed but BLAS is.
#LIBS = -lblas
#OBJLIBS = lapack.o
# case 3: works when neither LAPACK nor BLAS are installed.
#OBJLIBS = blas.o lapack.o
#LIBS =
Если в вашей системе уже есть библиотеки BLAS и LAPACK, они, скорее всего, более оптимизированы, чем библиотеки blas.o и lapack.o, и вам, вероятно, захочется изменить регистр в Makefile (добавить / удалить ведущий #
комментировать / раскомментировать соответствующие определения OBJLIBS
и LIBS
), чтобы вы могли использовать систему BLAS и LAPACK.
Чтобы использовать Expokit в ваших программах на Fortran, вам необходимо вызвать из вашего исходного кода соответствующие подпрограммы (см. Статью Expokit и исходный код expokit.f и mataid.f, чтобы прочитать о предоставленных подпрограммах) и тогда самое простое - добавить к вашей ссылке следующую строку
- объектные файлы:
expokit.o mataid.o
, за которыми следуют все объектные файлы, перечисленные в активной переменной OBJLIBS
в Makefile Expokit, если таковые имеются; и
- библиотеки: все перечисленные в активной переменной
LIBS
в Makefile Expokit, если таковые имеются.