我正在寻找一个rpm或简单的安装说明,让f2c在我的redhat linux os上工作。我是linux新手,很难在google上找到类似这样的东西。
(目标是使用f2c将简单的fortran77文件转换为c,然后编译)
有人有任何建议吗?
答案 0 :(得分:5)
使用rsync获取源代码(推荐):
$ rsync -avz netlib.org::netlib/f2c/src f2c
通过FTP获取资源:
$ mkdir -p f2c/src
$ cd f2c/src
$ ftp ftp.netlib.org
ftp> cd f2c
ftp> prompt
ftp> mget *
要构建源,请在f2c / src目录中执行:
$ make -f makefile.u
要安装二进制文件,请将其复制到$ PATH:
中的目录$ mkdir -p /usr/local/bin /usr/local/man/man1
$ cp f2c /usr/local/bin
$ cp f2c.1t /usr/local/man/man1
要编译Fortran程序,您还需要libf2c:
$ mkdir libf2c
$ cd libf2c
$ unzip ../libf2c.zip
$ make -f makefile.u
$ make -f makefile.u install LIBDIR=/usr/local/lib
libf2c是libF77和libI77库的组合。您可以单独安装这些库,然后使用“-lF77 -lI77”进行链接。假设当前目录中有f2c / src,请保存libF77和libI77并执行以下操作(如果您已经安装了上面的libf2c,则不需要):
$ sh libf77
$ sh libi77
$ cd libF77
$ make CFLAGS=-I../f2c/src
$ make install LIBDIR=/usr/local/lib
$ cd ../libI77
$ make CFLAGS=-I../f2c/src
$ make install LIBDIR=/usr/local/lib
fc shell script是与f2c一起使用的不错的前端。将它保存在某处并执行:
$ cp fc /usr/local/bin/f77
$ chmod 755 /usr/local/bin/f77
我将其重命名为f77以避免冲突,因为fc是内置的bash。 fc脚本需要libf2c而不是libF77和libI77,因此如果您已经安装了这些库而不是上面的libf2c,则必须编辑它并将“-lf2c”替换为“-lF77 -lI77”。
最后,要编译您的程序,您可以这样做:
$ f77 source.f -o binary
另请查看f2c parent directory。它包含getopt.c,f2c.pdf以及其他可能有用的内容。
有关f2c的更多信息,请参阅自述文件( less f2c / src / readme )和联机帮助页( man f2c )。有关fc脚本的更多信息,请查看文件开头的注释。
答案 1 :(得分:0)
您可以从ATrpms获取预编译的f2c包:http://atrpms.net/name/f2c/
它确实包含标准目录中的标题(例如f2c.h
)和库(libf2c
),因此在此之后您不应该遇到任何问题。
否则,您可以尝试使用免费的Fortran编译器直接编译;试试gfortran
。如果未安装,则它位于包gcc-gfortran
中,因此您可以使用以下命令安装它:yum install gcc-gfortran
。