在編譯fakeroot時,會遇到下面的錯誤。
/bin/sh ./libtool --tag=CC --mode=link gcc -g -O2 -o faked faked.o libcommunicate.la -ldl
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: libtool_args+=: not found
libtool: link: gcc ./.libs/libcommunicate.a -ldl
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main'
collect2: ld returned 1 exit status
google網頁的結果,好像是ubuntu/Debian才有的bug。如果想要cross compile,單單下載官方編譯好的版本是無濟於事的。解決方法如下:
1. 備份/bin/sh檔案
mv /bin/sh /bin/sh.bak
2. 建立連結
ln –s /bin/bash /bin/sh
這樣應該就可以正確通過編譯。
編譯完之後別忘了把之前改過的sh還原回來。
參考資料:
[1] libtool_args+=: not found - 想飛的翅膀
沒有留言:
張貼留言