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等图形界面编辑器会无法使用(是否还有其它工具也是依赖于它则不得而知)
参考资料
转载于:https://blog.51cto.com/alwaysyunwei/1394836