public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] finding qt plugins?
@ 2009-06-29  5:04 Roy Wright
  2009-06-29  5:21 ` Dale
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Roy Wright @ 2009-06-29  5:04 UTC (permalink / raw
  To: gentoo-user

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?

TIA,
Roy



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] finding qt plugins?
  2009-06-29  5:04 [gentoo-user] finding qt plugins? Roy Wright
@ 2009-06-29  5:21 ` Dale
  2009-06-29  6:03   ` [gentoo-user] " Nikos Chantziaras
  2009-06-29  6:11 ` Nikos Chantziaras
  2009-06-29 14:47 ` [gentoo-user] " Paul Hartman
  2 siblings, 1 reply; 15+ messages in thread
From: Dale @ 2009-06-29  5:21 UTC (permalink / raw
  To: gentoo-user

Roy Wright 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?
>
> TIA,
> Roy
>
>

I saw the same message on qt-4.5.1 and I just ran revdep-rebuild -i and
it said all was fine.  It has only been a few hours since the upgrade
but everything is working so far.

I did however go to single user then back up to default runlevel just to
make sure.  I wasn't sure if just restarting X was enough or not.

Dale

:-)  :-) 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [gentoo-user]  Re: finding qt plugins?
  2009-06-29  5:21 ` Dale
@ 2009-06-29  6:03   ` Nikos Chantziaras
  2009-06-29  8:18     ` Graham Murray
  2009-06-29  8:56     ` Dale
  0 siblings, 2 replies; 15+ messages in thread
From: Nikos Chantziaras @ 2009-06-29  6:03 UTC (permalink / raw
  To: gentoo-user

On 06/29/2009 08:21 AM, Dale wrote:
> Roy Wright 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?
>
> I saw the same message on qt-4.5.1 and I just ran revdep-rebuild -i and
> it said all was fine.

revdep-rebuild only resolves link-time errors, not runtime errors.  You 
need to observe yourself if something is broken and then rebuild it 
manually; revdep-rebuild ain't gonna help in this case.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [gentoo-user]  Re: finding qt plugins?
  2009-06-29  5:04 [gentoo-user] finding qt plugins? Roy Wright
  2009-06-29  5:21 ` Dale
@ 2009-06-29  6:11 ` Nikos Chantziaras
  2009-06-29 14:47 ` [gentoo-user] " Paul Hartman
  2 siblings, 0 replies; 15+ messages in thread
From: Nikos Chantziaras @ 2009-06-29  6:11 UTC (permalink / raw
  To: gentoo-user

On 06/29/2009 08:04 AM, Roy Wright wrote:
> 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?

You can obtain a list of packages that might depend upon any Qt 4 
package with:

for p in `qlist -IC x11-libs/qt:4`; do equery -q depends "$p"; done | 
sort | uniq

This command can take several minutes to complete.  Of course not every 
one of those packages needs to be rebuilt, but it makes it easier to 
pick some by hand.  Usually though, it's not necessary to rebuild 
anything, especially during minor updates (like from Qt 4.5.1 to 4.5.2).




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user]  Re: finding qt plugins?
  2009-06-29  6:03   ` [gentoo-user] " Nikos Chantziaras
@ 2009-06-29  8:18     ` Graham Murray
  2009-06-29  8:56     ` Dale
  1 sibling, 0 replies; 15+ messages in thread
From: Graham Murray @ 2009-06-29  8:18 UTC (permalink / raw
  To: gentoo-user

Nikos Chantziaras <realnc@arcor.de> writes:

> revdep-rebuild only resolves link-time errors, not runtime errors.
> You need to observe yourself if something is broken and then rebuild
> it manually; revdep-rebuild ain't gonna help in this case.

Though it would be nice if there was some process to detect what needs
to be rebuilt. Having to wait for something to break is not really very
good practice, and rebuilding everything using the qt4 libraries is a
little OTT.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user]  Re: finding qt plugins?
  2009-06-29  6:03   ` [gentoo-user] " Nikos Chantziaras
  2009-06-29  8:18     ` Graham Murray
@ 2009-06-29  8:56     ` Dale
  2009-06-30 19:54       ` Roy Wright
  1 sibling, 1 reply; 15+ messages in thread
From: Dale @ 2009-06-29  8:56 UTC (permalink / raw
  To: gentoo-user

Nikos Chantziaras wrote:
>
> revdep-rebuild only resolves link-time errors, not runtime errors. 
> You need to observe yourself if something is broken and then rebuild
> it manually; revdep-rebuild ain't gonna help in this case.
>
>
>

Sounds like Gentoo needs a new tool.  Calling all geeks and nerds !!

Dale

:-)  :-) 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] finding qt plugins?
  2009-06-29  5:04 [gentoo-user] finding qt plugins? Roy Wright
  2009-06-29  5:21 ` Dale
  2009-06-29  6:11 ` Nikos Chantziaras
@ 2009-06-29 14:47 ` Paul Hartman
  2009-07-01 16:25   ` Paul Hartman
  2 siblings, 1 reply; 15+ messages in thread
From: Paul Hartman @ 2009-06-29 14:47 UTC (permalink / raw
  To: gentoo-user

On Mon, Jun 29, 2009 at 12:04 AM, Roy Wright<roy@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.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user]  Re: finding qt plugins?
  2009-06-29  8:56     ` Dale
@ 2009-06-30 19:54       ` Roy Wright
  2009-06-30 20:16         ` Paul Hartman
  2009-07-01  1:13         ` Dale
  0 siblings, 2 replies; 15+ messages in thread
From: Roy Wright @ 2009-06-30 19:54 UTC (permalink / raw
  To: gentoo-user


On Jun 29, 2009, at 3:56 AM, Dale wrote:

> Nikos Chantziaras wrote:
>>
>> revdep-rebuild only resolves link-time errors, not runtime errors.
>> You need to observe yourself if something is broken and then rebuild
>> it manually; revdep-rebuild ain't gonna help in this case.
>>
>>
>>
>
> Sounds like Gentoo needs a new tool.  Calling all geeks and nerds !!
>
> Dale

Drum roll please...

http://github.com/royw/qt-rebuild

A couple of notes:
* if you run qt-rebuild --pretend, you should have only one build key.
    if you have more than one, you really need to rebuild them.
* the build key does not contain the qt version.  Instead it describes
   the build environment.

So currently I don't see how to verify that all the plugins are built  
to the
same qt API.

Here's the readme:

= qt-rebuild

This is a utility for gentoo (http://gentoo.org) linux.

When QT is upgraded, you may have to rebuild any QT plugins.  This  
utility
attempts to find and rebuild packages with QT plugins.

Here's the discussion thread:
http://archives.gentoo.org/gentoo-user/msg_d9357c6f26dec67492b794f8f66db29d.xml

== Installation

   $ emerge ruby rubygems
   $ sudo gem install royw-qt-rebuild --source http://gems.github.com

== Usage

   $ qt-rebuild -h
   OPTIONS

     --version,-v
         This version of qt-rebuild

     --help,-h
         Print usage.

     --quiet,-q
         Display error messages only.

     --debug,-d
         Display debug messages.

     --set,-s
         Output in portage's set format.

     --nocolor,-C
         Turn off colored output. (This option is also passed to
         portage.)

     --pretend,-p
         Do a dry-run.

It is recommended to do a dry run first:

   $ qt-rebuild -p

To create a set file:

   $ qt-rebuild -s -p > /etc/portage/sets/qt-rebuild


== Copyright

Copyright (c) 2009 Roy Wright. See LICENSE for details.

-------------------





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] Re: finding qt plugins?
  2009-06-30 19:54       ` Roy Wright
@ 2009-06-30 20:16         ` Paul Hartman
  2009-06-30 21:41           ` Roy Wright
  2009-07-01  1:13         ` Dale
  1 sibling, 1 reply; 15+ messages in thread
From: Paul Hartman @ 2009-06-30 20:16 UTC (permalink / raw
  To: gentoo-user

On Tue, Jun 30, 2009 at 2:54 PM, Roy Wright<roy@wright.org> wrote:
> == Installation
>
>  $ emerge ruby rubygems
>  $ sudo gem install royw-qt-rebuild --source http://gems.github.com

Hi,

$ sudo gem install royw-qt-rebuild --source http://gems.github.com
ERROR:  could not find gem royw-qt-rebuild locally or in a repository

I know nothing about ruby or gems. Any idea what I'm missing?

Thanks.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] Re: finding qt plugins?
  2009-06-30 20:16         ` Paul Hartman
@ 2009-06-30 21:41           ` Roy Wright
  2009-06-30 22:26             ` Roy Wright
  0 siblings, 1 reply; 15+ messages in thread
From: Roy Wright @ 2009-06-30 21:41 UTC (permalink / raw
  To: gentoo-user


On Jun 30, 2009, at 3:16 PM, Paul Hartman wrote:

> On Tue, Jun 30, 2009 at 2:54 PM, Roy Wright<roy@wright.org> wrote:
>> == Installation
>>
>> $ emerge ruby rubygems
>> $ sudo gem install royw-qt-rebuild --source http://gems.github.com
>
> Hi,
>
> $ sudo gem install royw-qt-rebuild --source http://gems.github.com
> ERROR:  could not find gem royw-qt-rebuild locally or in a repository
>
> I know nothing about ruby or gems. Any idea what I'm missing?
>
> Thanks.
>

I was a little premature in posting the announcement, github takes a  
while
to actually publish the gem.  But there is another problem so please  
wait
for my next message before trying again.

Thank you,
Roy



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] Re: finding qt plugins?
  2009-06-30 21:41           ` Roy Wright
@ 2009-06-30 22:26             ` Roy Wright
  2009-07-01  5:29               ` Graham Murray
  0 siblings, 1 reply; 15+ messages in thread
From: Roy Wright @ 2009-06-30 22:26 UTC (permalink / raw
  To: gentoo-user


On Jun 30, 2009, at 4:41 PM, Roy Wright wrote:

>
> On Jun 30, 2009, at 3:16 PM, Paul Hartman wrote:
>
>> On Tue, Jun 30, 2009 at 2:54 PM, Roy Wright<roy@wright.org> wrote:
>>> == Installation
>>>
>>> $ emerge ruby rubygems
>>> $ sudo gem install royw-qt-rebuild --source http://gems.github.com
>>
>> Hi,
>>
>> $ sudo gem install royw-qt-rebuild --source http://gems.github.com
>> ERROR:  could not find gem royw-qt-rebuild locally or in a repository
>>
>> I know nothing about ruby or gems. Any idea what I'm missing?
>>
>> Thanks.
>>
>
> I was a little premature in posting the announcement, github takes a  
> while
> to actually publish the gem.  But there is another problem so please  
> wait
> for my next message before trying again.
>
> Thank you,
> Roy
>

OK, it's verified and ready now.  Please try again.

Thank you,
Roy




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user]  Re: finding qt plugins?
  2009-06-30 19:54       ` Roy Wright
  2009-06-30 20:16         ` Paul Hartman
@ 2009-07-01  1:13         ` Dale
  1 sibling, 0 replies; 15+ messages in thread
From: Dale @ 2009-07-01  1:13 UTC (permalink / raw
  To: gentoo-user

Roy Wright wrote:
>
> On Jun 29, 2009, at 3:56 AM, Dale wrote:
>
>>
>> Sounds like Gentoo needs a new tool.  Calling all geeks and nerds !!
>>
>> Dale
>
> Drum roll please...
>

Roy, geek or nerd?  Your choice.  LOL  I knew there had to be at least
one around here.  This is Gentoo after all.  ;-) 

Dale

:-)  :-) 



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] Re: finding qt plugins?
  2009-06-30 22:26             ` Roy Wright
@ 2009-07-01  5:29               ` Graham Murray
  2009-07-01  5:42                 ` Roy Wright
  0 siblings, 1 reply; 15+ messages in thread
From: Graham Murray @ 2009-07-01  5:29 UTC (permalink / raw
  To: gentoo-user

Roy Wright <roy@wright.org> writes:
> OK, it's verified and ready now.  Please try again.

Will not install for me. It gives the following error
ERROR:  Error installing royw-qt-rebuild:
        royw-qt-rebuild requires commandline (>= 0.7.10, runtime)



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] Re: finding qt plugins?
  2009-07-01  5:29               ` Graham Murray
@ 2009-07-01  5:42                 ` Roy Wright
  0 siblings, 0 replies; 15+ messages in thread
From: Roy Wright @ 2009-07-01  5:42 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 563 bytes --]


On Jul 1, 2009, at 12:29 AM, Graham Murray wrote:

> Roy Wright <roy@wright.org> writes:
>> OK, it's verified and ready now.  Please try again.
>
> Will not install for me. It gives the following error
> ERROR:  Error installing royw-qt-rebuild:
>        royw-qt-rebuild requires commandline (>= 0.7.10, runtime)
>

Paul and I worked this out offline.  Here's the corrected install  
instructions:

sudo gem install royw-qt-rebuild --source http://gems.rubyforge.org -- 
source http://gems.github.com

I'll update the readme in a few minutes...

Thank you,
Roy


[-- Attachment #2: Type: text/html, Size: 1139 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-user] finding qt plugins?
  2009-06-29 14:47 ` [gentoo-user] " Paul Hartman
@ 2009-07-01 16:25   ` Paul Hartman
  0 siblings, 0 replies; 15+ messages in thread
From: Paul Hartman @ 2009-07-01 16:25 UTC (permalink / raw
  To: gentoo-user

On Mon, Jun 29, 2009 at 9:47 AM, Paul
Hartman<paul.hartman+gentoo@gmail.com> wrote:
> On Mon, Jun 29, 2009 at 12:04 AM, Roy Wright<roy@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



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2009-07-01 16:25 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-29  5:04 [gentoo-user] finding qt plugins? Roy Wright
2009-06-29  5:21 ` Dale
2009-06-29  6:03   ` [gentoo-user] " Nikos Chantziaras
2009-06-29  8:18     ` Graham Murray
2009-06-29  8:56     ` Dale
2009-06-30 19:54       ` Roy Wright
2009-06-30 20:16         ` Paul Hartman
2009-06-30 21:41           ` Roy Wright
2009-06-30 22:26             ` Roy Wright
2009-07-01  5:29               ` Graham Murray
2009-07-01  5:42                 ` Roy Wright
2009-07-01  1:13         ` Dale
2009-06-29  6:11 ` Nikos Chantziaras
2009-06-29 14:47 ` [gentoo-user] " Paul Hartman
2009-07-01 16:25   ` Paul Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox