[Pythonmac-SIG] Weirdness with ld/PyQt-Mac build
Bob Ippolito
bob at redivi.com
Wed Mar 9 05:24:18 CET 2005
On Mar 8, 2005, at 11:00 PM, Kevin Walzer wrote:
> I'm working on a new build of PyQt-Mac. Everything seemed to build fine
> (Qt 3.3.4, latest versions of QScintilla, SIP, and PyQt), and install
> without incident. However, PyQt applications no longer launch: it seems
> they don't see libqscintilla. Here's a typical message:
>
> Contents/MacOS/Eric 3 can't open library: libqscintilla.5.dylib (No
> such file or directory, errno = 2)
>
> This is puzzling because that library is correctly installed in
> /Developer/qt/lib, which is where it should be. So I don't see why
> these
> other apps can't see it.
>
> Looking at the logs from building PyQt, I ran across this strange
> warning:
>
> ld: warning -L: directory name
> (/Users/kevin/Desktop/qt-mac-free-3.3.4-shared/lib) does not exist
>
> The directory that "does not exist" is the build directory for Qt.
> After
> ~ building Qt, I moved the build folder to /Developer and renamed it
> qt.
> Then I began building PyQt and the other bits.
>
> I'm pretty sure that these other apps think that libqscintilla.dylib
> should be in /Users/kevin/Desktop/qt-mac-free-3.3.4-shared/lib. But
> why?
> ~ What difference does it make, especially when I have $QTDIR set in my
> path to point to /Developer/qt? And if this is a problem, how do I fix
> it (short of rebuilding Qt in /Developer/qt--groan...)
The problem here is that the Qt developers did a poor job of porting to
the Mac and don't set the proper install_name on these libraries. You
will need to run install_name_tool over them after putting them in the
bundle. Better yet, run macho_standalone from py2app svn on the app.
-bob
More information about the Pythonmac-SIG
mailing list