Binary compatiblity for liboxygenstyle.so
Andras Mantia
amantia at kde.org
Sat Feb 25 19:53:09 GMT 2012
On Saturday, February 25, 2012 08:37:05 PM Thomas Lübking wrote:
> > Tell me what do I do wrongly, and I'm willing to apologize and fix my
> > system.
>
> try
> QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins:/usr/lib64/kde4/plugins strace
> kwrite --style oxygen 2>&1 | grep -i oxygen | grep open
> ^^^^^^ good path ^^^^^^^^^^ ^^^ bad
> path ^^^^^^^^^
Thanks, we are getting somewhere, but what I found is weird.
QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins:/usr/lib64/kde4/plugins /usr/bin/kwrite
works as expected
(just as a reminder my QT_PLUGIN_PATH is this:
QT_PLUGIN_PATH=/opt/qt4/plugins:/opt/kde4/lib64/kde4/plugins::/encrypted/home/andris/.kde4/lib64/kde4/plugins/:/opt/kde4/lib64/kde4/plugins/
)
Now comes the weird thing:
QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins /usr/bin/kwrite
/usr/bin/kwrite: symbol lookup error: /usr/lib64/kde4/plugins/styles/oxygen.so: undefined symbol: _ZN6Oxygen7TileSetC1ERK7QPixmapiiii
So it works when I add *also* the /usr/... path to the plugin list, but it doesn't work if I don't add it!
Here is the two strace.
Working:
QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins:/usr/lib64/kde4/plugins strace /usr/bin/kwrite --style oxygen 2>&1 | grep -i oxygen | grep open
open("/opt/kde4/share/icons/Oxygen_White/cursors/left_ptr", O_RDONLY) = 8
open("/opt/kde4/share/icons/oxygen/index.theme", O_RDONLY|O_CLOEXEC) = 8
open("/opt/kde4/lib64/kde4/plugins/styles/oxygen.so", O_RDONLY) = 9
open("/opt/kde4/lib64/liboxygenstyle.so.4", O_RDONLY) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/opt/kde4/share/icons/Oxygen_White/cursors/ibeam", O_RDONLY) = 12
Not working:
QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins strace /usr/bin/kwrite --style oxygen 2>&1 | grep -i oxygen | grep open
open("/opt/kde4/share/icons/Oxygen_White/cursors/left_ptr", O_RDONLY) = 8
open("/opt/kde4/share/icons/oxygen/index.theme", O_RDONLY|O_CLOEXEC) = 8
open("/usr/lib64/kde4/plugins/styles/oxygen.so", O_RDONLY) = 9
open("/opt/kde4/lib64/liboxygenstyle.so.4", O_RDONLY) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/etc/kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
open("/encrypted/home/andris/.kde4/share/config/oxygenrc", O_RDONLY|O_CLOEXEC) = 9
If you ask me, this is very unexpected.
I can fix now my system, so I have to apologize, as looks that this is some weird behavior in how
Qt loads the plugins.
To reply about the KApp/QApp difference: Qt Creator also shows the problem, so it is not really KApplication
related.
Andras
More information about the kde-core-devel
mailing list