2014-10-27 36 views
0

我從make -j 8得到libfoo.so: file not recognized: File truncated錯誤。 當我刪除該文件,並重新作出,一切正常:「libvw.so:file not recognized:File truncated」and「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

很可能你錯過了你的一個makefile規則中的依賴項,並且發生錯誤是因爲libw.so在可執行文件嘗試鏈接到它時仍在構建。

但是請注意,有一些版本的並行錯誤與依賴關係存在錯誤。確保你使用的是發行版來修補這種東西。