[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