解决编译中“file too short”问题,最近在编译中遇到下面的问题,由于代码是刚从svn上checkout下来的,下意识觉得没什么问题,因此折腾了比较久的时间,现在分享一下,问题如下:
/usr/lib/gcc/x86_64-linux-gnu/4.4.7/cc1: error while loading shared libraries: /home/zouchun/cucc/source/compatible_branch/make/../cross_compiler/arm-linux-glibc/lib/libmpfr.so.4: file too short
此时查看相应路径下的文件情况,发现相应的文件是软链接,但是仍然看不出软链接的链接方式,具体如下:
[zouchun@soft4dept-ubuntu lib]$ls -l
total 992
drwxr-xr-x 2 zouchun zouchun 4096 Aug 23 19:37 gawk
drwxr-xr-x 3 zouchun zouchun 4096 Aug 23 19:37 gcc
drwxr-xr-x 2 zouchun zouchun 4096 Aug 23 19:37 ldscripts
-rwxr--r-- 1 zouchun zouchun 21 Aug 23 19:37 libgmp.so
-rwxr--r-- 1 zouchun zouchun 21 Aug 23 19:37 libgmp.so.10
-rwxr--r-- 1 zouchun zouchun 478466 Aug 23 19:37 libgmp.so.10.2.0
-rwxr--r-- 1 zouchun zouchun 20 Aug 23 19:37 libmpc.so
-rwxr--r-- 1 zouchun zouchun 20 Aug 23 19:37 libmpc.so.3
-rwxr--r-- 1 zouchun zouchun 100581 Aug 23 19:37 libmpc.so.3.0.0
-rwxr--r-- 1 zouchun zouchun 21 Aug 23 19:37 libmpfr.so
-rwxr--r-- 1 zouchun zouchun 21 Aug 23 19:37 libmpfr.so.4
-rwxr--r-- 1 zouchun zouchun 395684 Aug 23 19:37 libmpfr.so.4.1.3
继续查看相关的文件,发现libgmp.so实际链接到libgmp.so.10.2.0,查看其它几个文件是同样的道理,如下:
[zouchun@soft4dept-ubuntu lib]$vi libgmp.so
link libgmp.so.10.2.0 //软链接指向
~
~
这说明我们的软链接出现了问题,此时我们可以删除软链接,然后重新建立软链接,如下:
[zouchun@soft4dept-ubuntu lib]$rm libgmp.so //删除软链接的.so文件
[zouchun@soft4dept-ubuntu lib]$rm libgmp.so.10 //删除软链接的.so文件
[zouchun@soft4dept-ubuntu lib]$ln -s libgmp.so.10.2.0 libgmp.so.10 //根据文件的指示重新建立软链接
[zouchun@soft4dept-ubuntu lib]$ln -s libgmp.so.10.2.0 libgmp.so //根据文件的指示重新建立软链接
[zouchun@soft4dept-ubuntu lib]$ls -l
total 984
drwxr-xr-x 2 zouchun zouchun 4096 Aug 23 19:37 gawk
drwxr-xr-x 3 zouchun zouchun 4096 Aug 23 19:37 gcc
drwxr-xr-x 2 zouchun zouchun 4096 Aug 23 19:37 ldscripts
lrwxrwxrwx 1 zouchun zouchun 16 Aug 25 09:01 libgmp.so -> libgmp.so.10.2.0 //建立软链接后
lrwxrwxrwx 1 zouchun zouchun 16 Aug 25 09:00 libgmp.so.10 -> libgmp.so.10.2.0 //建立软链接后
-rwxr--r-- 1 zouchun zouchun 478466 Aug 23 19:37 libgmp.so.10.2.0
-rwxr--r-- 1 zouchun zouchun 20 Aug 23 19:37 libmpc.so
-rwxr--r-- 1 zouchun zouchun 20 Aug 23 19:37 libmpc.so.3
-rwxr--r-- 1 zouchun zouchun 100581 Aug 23 19:37 libmpc.so.3.0.0
-rwxr--r-- 1 zouchun zouchun 21 Aug 23 19:37 libmpfr.so
-rwxr--r-- 1 zouchun zouchun 21 Aug 23 19:37 libmpfr.so.4
-rwxr--r-- 1 zouchun zouchun 395684 Aug 23 19:37 libmpfr.so.4.1.3
完成软链接建立后,重新编译OK