我升级了系统(到ubuntu 13.04),并且gcc在进程的某个地方坏了:-(我在尝试编译某些东西时遇到了这个异常:
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../x86_64-linux-gnu/bin/as:
error while loading shared libraries:
libopcodes-2.22-system.so: cannot open shared object file: No such file or directory
实际上libopcodes- 2.22 -system.so不存在,但是libopcodes- 2.23.2 -system.so确实存在。如果我从2.22到2.23的符号链接gcc失败,只是另一个库。
因此出于某种原因,它正在寻找错误的版本。我疯狂地尝试通过重新安装gcc,binutils,libc6等来解决它,但是问题仍然存在。
我如何告诉gcc使用正确的共享库版本?/ gcc从哪里获取共享库使用的信息?
谢谢
谢谢大家,您的意见使我看到了正确的地方。
这条路让我感到怀疑:
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../x86_64-linux-gnu/bin/as
我想这一定是一个符号链接/usr/bin/as
,但它暴露了/usr/x86_64-linux-gnu/bin
是一个完整的复制的/usr/bin
-不是最新的,因此与不正确的链接二进制文件。我不知道为什么在那里存在整个bin目录的副本,为什么gcc使用它来代替/usr/bin
。
/usr/x86_64-linux-gnu
删除 后,编译器运行良好 。 编辑:最好先检查注释,然后再执行相同操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句