[PyQt] qtdirs.app can't load QtCore
Phil Thompson
phil at riverbankcomputing.com
Thu Jun 25 18:55:58 BST 2009
On Thu, 25 Jun 2009 06:44:41 -0500, Dave Peterson <dpeterson at enthought.com>
wrote:
> Hi Phil,
>
> Phil Thompson wrote:
>> On Wed, 24 Jun 2009 12:54:37 -0500, Dave Peterson
>> <dpeterson at enthought.com>
>> wrote:
>>
>>> 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:
> [Paths]
>
Prefix=/Users/dpeterson/py/qtbuild/install/Qt-4.5.1-1.egg/EGG-INFO/usr
> 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?
You shouldn't need a qt.conf file.
>> 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
> had:
>
> 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?
I've built and installed Qt in a non-standard directory and PyQt has no
problems with it.
How did you configure, build and install Qt?
Phil
More information about the PyQt
mailing list