简体   繁体   中英

problems with dynamically linked libraries

Problem:
When I try to open some applications I get errors from the linker like this:

/usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6QDebugD1Ev

Some applications affected are

  • texstudio shows
    /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6QDebugD1Ev
  • IPython's qtconsole shows
    /usr/lib/python3.5/site-packages/PyQt5/QtCore.so: undefined symbol: _ZNK12QStorageInfo11displayNameEv
  • konsole (KDE's terminal emulator - I'm using Unity though) shows /usr/lib/x86_64-linux-gnu/libKF5ItemViews.so.5: undefined symbol: ...
  • granatier (a KDE game), KSysguard and KAddressbook also show errors in KF5 libraries
  • VLC seems to be affected too since it says there is something wrong with Qt 4 (see below). However it doesn't ecplicitely say it's a linking problem.

It seems to be a problem with dynamic linking and I my guess would be that the problem is in the libraries

Qt
all of this errors seem to come from Qt linked libraries ("Qt" appears in most filenames and most symbol names). AFAIK KDE ist baed on Qt, which would explain why all KDE applications fail.
It seems to affect both Qt 4 and 5

I also had a similar problem with ssl but it went away eventually (maybe an update).

I'm using ld 2.25

Why I'm asking here
I realize that my Question is not about programming. The help center states that

Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming.

This seems to be a problem with the linker / the dynamic libraries so I would say it kind of involves programming tools.
If you disagree please spare the downvotes and write a comment explaining you POV.

Okay, this kind of problems happen a lot if you switch to 'unstable'.

What you need to do is downgrade all of your packages back to 'stable'. Modifying sources.list wouldn't be enough, you also need to change priorities.

Look this thread: https://unix.stackexchange.com/questions/117122/how-to-get-back-from-testing-to-stable-kernel-downgrade

Ok, so it seems the source of the problem was that I had Qt linked libraries like libQt5Core.so.5 in /usr/local/lib . When I remove them everything worked again.
I've read that the package manager doesn't put any libraries there, so it was probably me who did a dumb mistake. It looks like it wasn't a programming problem at all in the end.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM