On 16/09/15 18:02, Martin Zibricky wrote:
> On Wednesday 16 of September 2015 15:32:34 Glenn Ramsey wrote:
>> ./QtPrintSupport.framework/Versions/5/QtPrintSupport (needed by
>> /Users/glenn/rp/thirdparty/qt-everywhere-opensource-src-5.5.0/qtbase/plugins
>> /platforms/libqcocoa.dylib)
>>
>> This is saying that several Qt framework libraries can't be found, but they
>> seem to be getting packaged anyway. How are they being found?
> 
> Your Qt installation does not use absolute install paths but uses relative 
> with @loader_path and similar.
> 
> PyInstaller might have issues how to resolve these relative paths and find 
> the 
> dependent dylibs.
> 
> PyInstaller is looking for qt plugins (libqcocoa.dylib) and then it tries to 
> find files that depend on it.
> 
> The code for finding plugins is in ./PyInstaller/utils/hooks/hookutils.py.
> 
> It looks like you do not use homebrew or macports to install PyQt5. With 
> homebrew or macports it might work.

I've had a look at this and what is happening is that any Qt libs that are
referenced directly from one of the PyQt modules get included. Other Qt libs
that are second level dependencies do not get included. This is because the PyQt
modules have LC_RPATH set and PyInstaller uses this to find the Qt libs. The Qt
libs themselves do not have LC_RPATH set so PyInstaller can't find the
dependencies. A solution to this could be to use the LC_RPATH from the
grandparent. The code for this is in depend/bindepend.py. I'll send a pull
request when (or if) I figure it out.

Glenn

-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/d/optout.

Reply via email to