Re: autopackage of qt

Justin Karneges <[email protected]> Wed, 19 Aug 2009 17:42:01 -0700
Newsgroups gmane.comp.autopackage.devel
Message-ID <[email protected]>
On Wednesday 19 August 2009 15:34:49 Eugene Zolenko wrote:
> > Do I also need to set the rpath of the Qt libraries themselves?
> > What about on plugins that I may load?
> > Or will all of them use the app's rpath?
>
> Yes, both on libraries and on plugins. If you use ORIGIN rpath (and you
> should), all rpaths start from the location of whatever binary it is set
> on.
>
> So if you have layout like this:
>
> /opt/private/bin/theapp
> /opt/private/lib/libQtCore.so.4
> /opt/private/plugins/imageformats/libqjpeg.so
>
> theapp should have rpath at least "$ORIGIN/../lib"
> libQtCore.so.4 should have "$ORIGIN"
> and plugin should have "$ORIGIN/../../lib"
>
> It is a bit of pain to set up in build projects themselves, so I just make
> sure any rpath is set at all, and then change it with chrpath to proper
> location during installation build.
>
> Also, since you are building Qt yourself, make sure to set same buildkey
> for Qt, its plugins and your app. (otherwise plugins will not load). If you
> build everything with same compiler it should be same though.
>
> Also :). Don't forget to write out qt.conf (goes into /opt/private/bin/ in
> example) with location of plugin paths and settings and whatnot. Otherwise
> Qt might look in random places and you don't want that.

Thanks.  I didn't know about chrpath.  That helps a lot. :)

It looks like the libs are getting packed up (I can see my 'make install' step 
putting files in the right place, and autopackage gives me a warning about 
how libQtGui.so.4 dynamically links to libXrender, which is fine).  However, 
when I attempt to install the .package, the libs are not copied.

All lib files are under "lib/barracuda"

My apspec has this:

[Install]
# Put your installation script here. See the quickstart guide on
# the website for an API cheat-sheet
installExe bin/*
installLib lib/*
installData share/*

I get this at package install time:

objdump: Warning: 'lib/barracuda' is not an ordinary file

Is there a trick?

Thanks,
-Justin

---------------------------------------------------------------------
To unsubscribe, e-mail: autopackage-dev-unsubscribe-OfajU3CKLf1/[email protected]
For additional commands, e-mail: autopackage-dev-help-OfajU3CKLf1/[email protected]