我正在寻找rpm或简单的安装说明让f2c在我的redhat linux操作系统上工作。我是linux新手,很难在谷歌上找到这样的东西。我在哪里可以得到的文件在红帽linux上安装f2c?
(我们的目标是用F2C转换一个简单的FORTRAN77文件到c,然后编译)
没有任何人有什么建议吗?
我正在寻找rpm或简单的安装说明让f2c在我的redhat linux操作系统上工作。我是linux新手,很难在谷歌上找到这样的东西。我在哪里可以得到的文件在红帽linux上安装f2c?
(我们的目标是用F2C转换一个简单的FORTRAN77文件到c,然后编译)
没有任何人有什么建议吗?
获取使用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
要编译您还需要libf2c Fortran程序:
$ 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更进一步信息请参阅自述(更少F2C/SRC /自述)和手册页(人F2C)。有关fc脚本的更多信息,请查看文件开头处的注释。
您可以从ATrpms获得预编译的F2C包:http://atrpms.net/name/f2c/ 它包括头(如f2c.h
),并在标准目录库(libf2c
),所以你不应该有后编译任何麻烦。
否则,您可以尝试使用免费的Fortran编译器直接编译;尝试gfortran
。如果未安装,则它位于包gcc-gfortran
中,因此您可以使用以下命令安装它:yum install gcc-gfortran
。
哇。这是一个令人难以置信的答案!谢谢!我得到它来安装。但是,当我运行“f77 source.f -o二进制”,我得到这个错误:“错误:f2c.h:没有这样的文件或目录”。你知道我做错了什么吗? (我根据你的第一套指令安装了libf2c) – chris 2009-07-26 01:14:26