我正在尝试在我的 ubuntu 系统上安装一个名为 MISES 的 CFD 代码,但每次我尝试创建该文件时,它都会生成一堆 .o 文件,然后失败并显示以下输出:
install -s ises ../bin/
install: 'ises' and '../bin/ises' are the same file
Makefile:213: recipe for target 'ises' failed
make: *** [ises] Error 1
错误中指定的行如下:
ises: $(ISESOBJ)
$(FC) -o ises $(ISESOBJ) $(FTNLIB)
$(INSTALL) ises $(BIN)
在论坛上寻找该问题的解决方案表明$(prefix) 变量可能未定义,但我无法弄清楚这对这个问题和系统意味着什么。
如果我更改 makefile 中提供的 bin 路径定义,make 将会完成。发生这种情况时,共享库文件将放置在新文件夹中,但在终端中调用时程序不会运行(如文档中预期的那样)。
一位同事之前在另一个系统上使用过这个 makefile,所以我知道它可以工作,但我不确定如何让它在我的系统上运行。
答案1
原来问题出在 bin 位置。更改 bin 路径可使 make 完成,只要使用路径 (即 ../codes/ises) 调用代码,代码就会运行。