我在哪里可以获得在redhat linux上安装f2c的文件?

chr*_*ris 1 linux fortran fortran77

我正在寻找一个rpm或简单的安装说明,让f2c在我的redhat linux os上工作.我是linux新手,很难在google上找到类似这样的东西.

(目标是使用f2c将简单的fortran77文件转换为c,然后编译)

有人有什么建议吗?

Ins*_*lah 5

  1. 使用rsync获取源代码(推荐):

    $ rsync -avz netlib.org::netlib/f2c/src f2c
    
    Run Code Online (Sandbox Code Playgroud)

    通过FTP获取源:

    $ mkdir -p f2c/src
    $ cd f2c/src
    $ ftp ftp.netlib.org
    ftp> cd f2c
    ftp> prompt
    ftp> mget *
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要构建源代码,请在f2c/src目录中执行:

    $ make -f makefile.u
    
    Run Code Online (Sandbox Code Playgroud)
  3. 要安装二进制文件,请将其复制到$ PATH中的目录:

    $ mkdir -p /usr/local/bin /usr/local/man/man1
    $ cp f2c /usr/local/bin
    $ cp f2c.1t /usr/local/man/man1
    
    Run Code Online (Sandbox Code Playgroud)
  4. 要编译Fortran程序,您还需要libf2c:

    $ mkdir libf2c
    $ cd libf2c
    $ unzip ../libf2c.zip
    $ make -f makefile.u
    $ make -f makefile.u install LIBDIR=/usr/local/lib
    
    Run Code Online (Sandbox Code Playgroud)

    libf2c是libF77libI77库的组合.您可以单独安装这些库,然后使用"-lF77 -lI77"进行链接.假设当前目录中有f2c/src,请保存libF77libI77并执行以下操作(如果您已经安装了上面的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
    
    Run Code Online (Sandbox Code Playgroud)
  5. FC shell脚本是一个很好的前端与F2C使用.将它保存在某处并执行:

    $ cp fc /usr/local/bin/f77
    $ chmod 755 /usr/local/bin/f77
    
    Run Code Online (Sandbox Code Playgroud)

    我将其重命名为f77以避免冲突,因为fc是内置的bash.fc脚本需要libf2c而不是libF77和libI77,因此如果您已经安装了这些库而不是上面的libf2c,则必须编辑它并将"-lf2c"替换为"-lF77 -lI77".

  6. 最后,要编译您的程序,您可以:

    $ f77 source.f -o binary
    
    Run Code Online (Sandbox Code Playgroud)

另请查看f2c父目录.它包含getopt.c,f2c.pdf和其他一些可能有用的东西.

有关f2c的更多信息,请参阅readme(less f2c/src/readme)和联机帮助页(man f2c).有关fc脚本的更多信息,请查看文件开头的注释.