“libvw.so:文件无法识别:文件被截断”和“make -j 8”

时间:2014-10-27 20:40:51

标签: makefile

我从libfoo.so: file not recognized: File truncated收到make -j 8错误。 当我删除文件并重新制作时,一切正常:

$ make clean
$ make -j 8
...
libvw.so: file not recognized: File truncated
make: *** [all] Error 2
$ mv libvw.so libvw.so-
$ make -j 8
success
$ cmp libvw.so libvw.so-

即,libvw.so没问题。

-j 8它可以立即使用:

$ make clean
$ make
success

那么,如何将-j 8用于共享库?

(这个项目使用GNU Make,所以GNU特定的解决方案很好)。

1 个答案:

答案 0 :(得分:1)

您很可能错过了一个makefile规则中的依赖项,并且发生错误是因为libw.so仍然在可执行文件尝试链接到它时构建。

但请注意,有一些版本的make有并行的依赖项的bug。确保你正在使用补丁这种东西的发行版。