![尝试构建 ecolab 时出现“没有此文件或目录”](https://linux22.com/image/976875/%E5%B0%9D%E8%AF%95%E6%9E%84%E5%BB%BA%20ecolab%20%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9C%E6%B2%A1%E6%9C%89%E6%AD%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95%E2%80%9D.png)
我正在尝试构建 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 $< >$@