我正在尝试构建 ecolab.5.D19,但即使目录和文件存在,并且我与 MAKEFILE 位于同一文件夹中,我也会收到错误消息“没有这样的文件或目录”。我使用以下命令,这是安装指南中建议的:
sudo make install PREFIX=/usr/local/ecolab
我收到如下错误:
ecolab.5.D19/include/Makefile.config: No such file or directory
Makefile:165: src/automorph.d: No such file or directory
Makefile:165: src/auxil.d: No such file or directory
Makefile:165: src/arrays.d: No such file or directory
Makefile:165: src/sparse_mat.d: No such file or directory etc.
然后它就冻结了:
rm: cannot remove 'functiondb.h': No such file or directory
make[1]: [functiondb.h] Error 1 (ignored)
sh functiondb.sh >functiondb.h
所有这些文件都在那里。
我有 ubuntu 14.04 64 位版本,内核为 3.13.0-39-lowlatency,似乎在 64 位系统上安装 32 位程序时会出现此问题。我安装了 32 位库,但问题没有解决。依赖项应该没问题。我正在尝试安装 minksy——它需要 ecolab。感谢您的时间。:)
答案1
当前的问题似乎是该functiondb.sh
脚本使用了 bash 功能,但调用它的 Makefile 明确使用了此功能sh
(并且 /bin/sh 是 Ubuntu 中 dash 的符号链接)。具体来说,++
后缀运算符不受支持,因此计数器不会递增,并且脚本会陷入 while 循环中。
您可以临时将 /bin/sh 符号链接到 bash,或者修改 /classdesc/Makefile,替换
functiondb.h: functiondb.sh
-rm $@
sh $< >$@
经过
functiondb.h: functiondb.sh
-rm $@
bash $< >$@