gamedb:/data/soft/libpcap-1.4.0 # zypper flex
zypper: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: PC

翻阅资料发现libreadline是系统自带的库,作为一个底层库,非常多的库都依赖于这个库。

因此在开机的时候系统bash启动某些服务的时候调用了这个库,而这个库里面有“PC”字样的符号。


目前解决方法是将libreadline库删掉。

gamedb:/usr/local/lib # ls|grep libreadline
libreadline.a
libreadline.so
libreadline.so.6
libreadline.so.6.2
gamedb:/usr/local/lib # mv libreadline.* /tmp/


就可正常使用

gamedb:/usr/local/lib # zypper install flex
Retrieving repository 'Updates for openSUSE 11.4 11.4-0' metadata [done]
Building repository 'Updates for openSUSE 11.4 11.4-0' cache [done]
Download (curl) error for 'http://download.opensuse.org/distribution/11.4/repo/non-oss/content':
Error code: Unrecognized error
Error message: Empty reply from server


但是该方法是有后遗症的:如果在编译某些程序的时候需要运行libreadline,则会提示无法通过。
并且后续运行,根据以往文献,gome等界面均是依赖该库文件的,因此gome等图形界面编辑器会无法使用(是否还有其它工具也是依赖于它则不得而知)


参考资料

http://blog.csdn.net/samed/article/details/9001601