我正在寻找一个rpm或简单的安装说明让f2c在我的红帽linux操作系统上工作。 我是Linux新手,很难在谷歌上find这样的东西。
(目标是使用f2c将简单的fortran77文件转换为c,然后编译)
有人有什么build议吗?
使用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脚本是用于f2c的一个很好的前端。 保存在某个地方,然后执行:
$ cp fc /usr/local/bin/f77 $ chmod 755 /usr/local/bin/f77
我把它改名为f77来避免冲突,因为fc是bash内建的。 fc脚本需要libf2c而不是libF77和libI77,所以如果你已经安装了这些库而不是libf2c,你必须编辑它并用“-lf77 -lI77”替换“-lf2c”。
最后,要编译你的程序,你可以这样做:
$ f77 source.f -o binary
也检查出f2c父目录 。 它包含getopt.c , f2c.pdf和其他一些可能有用的东西。
有关f2c的更多信息,请参阅自述文件( 少于f2c / src /自述文件 )和联机帮助文件( man f2c )。 有关fc脚本的更多信息,请查看文件开头的注释。
你可以从ATrpms获得一个预编译的f2c包: http : f2c.h
它包含标准目录中的头文件(如f2c.h
)和库文件( libf2c
),所以你不应该之后编译有任何问题。
否则,您可以尝试使用免费的Fortran编译器直接编译; 尝试gfortran
。 如果没有安装,它在gcc-gfortran
软件包中,所以你可以用下面的命令安装它: yum install gcc-gfortran
。