On 16/09/15 20:39, Glenn Ramsey wrote: > 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. >
I now have QtWebEngine working on OSX and have submitted a pull request. 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.
