On Mon, Jun 29, 2009 at 9:47 AM, Paul Hartman<paul.hartman+gen...@gmail.com> wrote: > On Mon, Jun 29, 2009 at 12:04 AM, Roy Wright<r...@wright.org> wrote: >> Howdy, >> >> On ~x86 did the upgrade to qt 4.5.2 and get the following message: >> >> "After a rebuild or upgrade of Qt, it can happen that Qt plugins (such as Qt >> and KDE styles and widgets) can no longer be loaded. In this situation you >> should recompile the packages providing these plugins... >> >> "Packages that typically need to be recompiled are kdelibs from KDE4, any >> additional KDE4/Qt4 styles, qscintilla and PyQt4..." >> >> Then followed the link on the plugins which stated: >> >> "The Qt library and all plugins are built using a build key. The build key >> in the Qt library is examined against the build key in the plugin, and if >> they match, the plugin is loaded. If the build keys do not match, then the >> Qt library refuses to load the plugin." >> >> So how do I find all the installed qt plugins on my system and check their >> build keys? > > From a couple minutes of poking around: > > strings /usr/lib/qt4/libQtCore.so | grep Build.key > > strings some-other-file | grep buildkey > > Which comes back with seemingly everything build against Qt4... But I > don't know how to tell which ones qualify as a "plug-in"... > > Typically when I rebuild Qt4 I also rebuild kdelibs, PyQt4, and my > themes... in my case that is gtk-engines-kde4, gtk-engines-qt, and all > qtcurve packages. Seems to work for me. >
After a little more research, it looks like Qt maintains its own version-specific plug-in cache that lists the plugins and the build keys in the ~/.config/Trolltech.conf file (which appears to be an INI-style format). More info about accessing it via Qt here http://doc.trolltech.com/4.5/qsettings.html