[Pythonmac-SIG] py2app cannot move to target thread error

Scott Frankel leknarf at pacbell.net
Mon Aug 10 17:51:27 CEST 2009


Hello,

I'm troubleshooting a PyQt-PostgreSQL py2app error:  "Cannot move to  
target thread".  Note that a test app builds and runs happily.  The  
error only comes up when I add PyQt4.QtSql' to py2app's option  
includes.  eg:

This works:
	OPTIONS = {'argv_emulation': True, 'includes': ['sip', 'PyQt4._qt']}

This doesn't:
	OPTIONS = {'argv_emulation': True, 'includes': ['sip', 'PyQt4._qt',  
'PyQt4.QtSql']}

Researching the error, I've set DYLD_PRINT_LIBRARIES=1 in my shell and  
am looking for duplicate instances of Qt libraries.  I'm not seeing  
anything obvious.  But I also don't know exactly what to look for.

For example, should I be concerned with dyld output running the app or  
building it?

I created my build environment using macports.  It looks like the  
correct libs are being accessed.  The last of the dyld output looks  
like this:

dyld: loaded: /opt/local/libexec/qt4-mac/plugins/sqldrivers/ 
libqsqlpsql.bundle
dyld: loaded: /opt/local/lib/postgresql83/libpq.5.dylib
dyld: loaded: /opt/local/libexec/qt4-mac/lib/QtSql.framework/Versions/ 
4/QtSql
dyld: loaded: /opt/local/libexec/qt4-mac/lib/QtCore.framework/Versions/ 
4/QtCore
dyld: loaded: /opt/local/lib/libz.1.dylib
dyld: loaded: /opt/local/lib/libssl.0.9.8.dylib
dyld: loaded: /opt/local/lib/libcrypto.0.9.8.dylib
QObject::moveToThread: Current thread (0x1d17d0) is not the object's  
thread (0x1a7820).
Cannot move to target thread (0x1a7820)


Suggestions?

Thanks in advance!
Scott







More information about the Pythonmac-SIG mailing list