|
|
以前编译 gnome-desktop 时,总是出错,不知如是好,今天仔细看了一下出错信息collect2: ld returned 1 exit status
make[3]: *** [test-ditem] 错误 1
make[3]: *** 正在等待未完成的任务....
/usr/lib64/libgnomeui-2.so: undefined reference to `g_once_init_enter_impl'
/usr/lib64/libgnomeui-2.so: undefined reference to `g_once_init_leave'
collect2: ld returned 1 exit status
make[3]: *** [test-hint] 错误 1
make[3]: Leaving directory `/var/tmp/portage/gnome-base/gnome-desktop-2.18.3/work/gnome-desktop-2.18.3/libgnome-desktop'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/var/tmp/portage/gnome-base/gnome-desktop-2.18.3/work/gnome-desktop-2.18.3/libgnome-desktop'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/var/tmp/portage/gnome-base/gnome-desktop-2.18.3/work/gnome-desktop-2.18.3'
make: *** [all] 错误 2 于是想到编译错误是由于/usr/lib64/libgnomeui-2.so造成的
这个库文件一定有问题,用qfile看看这个文件属于哪个包(如果你没有qfile,请 emerge portage-utils 先。)
# qfile /usr/lib64/libgnomeui-2.so
gnome-base/libgnomeui (/usr/lib64/libgnomeui-2.so)
可知该文件属于libgnomeui包,于是重装这个包:
emerge libgnomeui
装完后再 emerge gnome-desktop
一切OK!
又用这种方法解决了别的两次编译错误,都成功了。
可见,只要包没有真正的bug,把包含引起错误的库文件的包重装一次,再装你要装的包,应该就没有问题了。
再说一句:认真看出错信息! |
|