[PyQt] qtdirs.app can't load QtCore
dpeterson at enthought.com
Thu Jun 25 12:44:41 BST 2009
Phil Thompson wrote:
> On Wed, 24 Jun 2009 12:54:37 -0500, Dave Peterson <dpeterson at enthought.com>
>> I'm trying to build PyQt 4.5.1 from source on Mac OSX 10.5 x86 and I'm
>> running into a problem right from the start in that the qtdirs.app built
>> during the configure step won't run because it won't load QtCore. I've
>> done an otool -L on "qtdirs.app/Contents/MacOS/qtdirs" and it doesn't
>> have any path prefix in front of the reference to QtCore.
> Mine does.
Right, when I do a build on another OS X box using the pre-built binary
install of Qt 4.5.1, it also does. It has something like
'QtCore.framework/Versions/4/QtCore' (typing from memory as I'm not at
that box right now).
>> Note that my Qt install is *not* a standard install. It is a custom
>> build installed into
>> "/Users/dpeterson/py/qtbuild/install/Qt-4.5.1-1.egg/EGG-INFO/usr". I
>> have verified I can run all the Qt apps, tools, and demos from this
>> install. I have exported QTDIR set to this path prior to invoking
>> PyQt's configure.py script. It looks like the build of the qtdirs.app
>> is picking up all the right paths for this install. But it looks to me
>> like PyQt's qtdirs.app assumes that the various Qt frameworks are in the
>> system location, even though configure explicitly passed the right
>> location for my frameworks via a -F flag to g++. Is this a bug with
>> PyQt's qtdirs build process?
> Is your QTDIR/bin directory on your PATH?
Yup, it's the first entry in PATH.
Forgot to mention that there is also a qt.conf in the
.../EGG-INFO/usr/bin dir that just contains:
I'm new-ish to Qt but I believe that is right in that it points at the
root of the install Qt dirtree? i.e. underneath that root dir are the
bin, include, lib, mkspecs, plugins, etc. directories. Does that sound
right or do I need to be explicit about the other possible path entries
in the qt.conf?
> If you are compiling Qt yourself then it isn't installed in any standard
> system location anyway. I build it myself, but to the standard location
> which is /usr/local/Trolltech.
> I'll trying building Qt in a non-default directory to see if I can
> reproduce the problem.
Thanks much! I'm tearing my hair out trying to find out why that macho
header reference isn't what it should be. Some additional thoughts I've
1) Could the presence of a QtCore.la and/or QtCore.prl file in the
.../EGG-INFO/usr/lib dir be causing this? I looked at the contents of
those, and they seem "right" to me, but then again I'm not 100% sure
what they should be.
2) I thought perhaps there might be an issue with the library actually
inside the QtCore.framework but I've verified that
.../EGG-INFO/usr/lib/QtCore.framework/Versions/4/QtCore exists, and is
the same as .../EGG-INFO/usr/lib/QtCore.framework/QtCore. Do both of
those need to be there?
Thanks for any advice you can offer.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PyQt