【发布时间】:2015-02-07 01:02:32
【问题描述】:
我真的需要一些帮助。我正在尝试为我的论文编译和执行一些程序。
问题是,我以前从未使用过 Fortran,所以我一味地依赖文档......它说要使用一些命令来完成这项工作,特别是
setenv bc03 PATH TO SRC DIRECTORY
cd $bc03
source ./.bc_cshrc
所以,我安装了 Ubuntu 14.04(我在 Windows 上工作,这是另一个问题,我也是 Linux 新手),并在终端中使用了这些命令。
起初它没有工作,因为它无法识别 g77 命令,我按照教程安装 g77,再次启动“make all”命令,它似乎部分工作。 据我了解,编译器在目录中创建了一堆 .o 文件,但是在编译 6 个主要程序时
"make bin_ised ascii_ised vel_disp csp_galaxev add_bursts downgrade_resolution"
它给了我这些错误(我从意大利语翻译了一些部分)
make[1]: entering directory "/home/lews/Documenti/bc03/src"
g77 -ffixed-line-length-132 bin_ised.f ./public_utilities.a -o bin_ised
/usr/bin/ld: cannot find crt1.o: File o directory non esistente
/usr/bin/ld: cannot find crti.o: File o directory non esistente
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
make[1]: *** [bin_ised] Errore 1
make[1]: leaving directory "/home/lews/Documenti/bc03/src"
make: *** [all] Errore 2
我有点迷路了,因为我告诉过你我是 Fortran 和 Linux 的新手,所以我真的想不通....谢谢你的帮助!
【问题讨论】:
-
这很难说,因为它取决于安装。如果您执行
ls /usr/lib/x86_64-linux-gnu(或类似的,如果此目录不存在),它是否列出crt1.o、crti.o和libgcc_s.*?如果是,在make之前执行export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH可能会解决问题。 -
目录中有crt1.o和crti.o两个文件,另外一个不见了。无论如何我都尝试使用你的命令,但它不起作用......我忘了说在做任何事情之前,我正在使用命令“tcsh”,因为我应该用来编译文件的命令在 csh 中语法,所以我想我应该改变一下你建议的命令的语法
标签: linux fortran ubuntu-14.04 g77