Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#19217 closed defect (fixed)

All KDE4 ports needs to be built against qt4-kde not qt4-mac

Reported by: cjones051073 (Chris Jones) Owned by: illogic-al@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: chepra@…, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: phonon

Description (last modified by mf2k (Frank Schima))

Hi,

If I understand things, a new QT4 package has been introduced, qt4-kde, to provide a version compatible with the KDE4 packages. However, it seems that some KDE4 packages have been updated to use qt4-kde, but others still use qt4-mac, which means overall KDE4 depends on both e.g. kdelibs4 depends on phonon ad qt4-kde, whilst phonon itself uses qt4-mac....

This cause various (probably all) KDE applications to fail to start with messages like

Chris-Jones-Macbook-Pro ~ > kate
objc[639]: Class QMacSoundDelegate is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui.
objc[639]: Class QNSMenu is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui.
objc[639]: Class QNSStatusItem is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui.
objc[639]: Class QNSImageView is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui.
QObject::moveToThread: Current thread (0x375b420) is not the object's thread (0x370a4b0).
Cannot move to target thread (0x370a4b0)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded.

QObject::moveToThread: Current thread (0x375b420) is not the object's thread (0x370a4b0).
Cannot move to target thread (0x370a4b0)

Note this issue affects more KDE4 ports than just phonon, but until I get some feedback I won't submit any additional tickets for the other ports.

Change History (15)

comment:1 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: ram@… chepra@… added

Cc Me!

comment:2 Changed 12 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to illogic-al@…

comment:3 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

comment:4 Changed 12 years ago by skymoo (Adam Mercer)

Cc: ram@… removed

comment:5 Changed 12 years ago by illogic-al@…

Commit r49365 tries to fix this. If you find any more ports that need this change just report them here. Too busy to check myself atm. If this fixes the issue completely (and it should) you can close this ticket.

comment:6 Changed 12 years ago by illogic-al@…

r49369 should have taken care of all these problems. Thanks for the report.

comment:7 Changed 12 years ago by cjones051073 (Chris Jones)

Hi,

Thanks. The remaining dependencies (on my system at least) are

automoc uses qt4-mac, and many KDE4 packages depend on this

kdegraphics4 - Appears to have library dependencies on both qt4 versions.

Chris

comment:8 Changed 12 years ago by illogic-al@…

Fixed in r49454.

comment:9 Changed 12 years ago by illogic-al@…

Did this fix all the problems? can this ticket be closed now?

comment:10 Changed 12 years ago by cjones051073 (Chris Jones)

Hi,

Thanks but no, KDE4 is still not working properly here. I still have dependencies on qt4-mac

Chris-Jones-Macbook-Pro ~ > sudo port uninstall qt4-mac Password: ---> Unable to uninstall qt4-mac 4.5.0_1, the following ports depend on it: ---> phonon ---> akonadi ---> qimageblitz ---> qca ---> soprano ---> kdelibs4 ---> kdegraphics4 ---> automoc Error: port uninstall failed: Please uninstall the ports that depend on qt4-mac first.

and I still get errors about multiple QT4 versions when I try and start an application.

Chris-Jones-Macbook-Pro ~ > konqueror objc[360]: Class QMacSoundDelegate is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. objc[360]: Class QNSMenu is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. objc[360]: Class QNSStatusItem is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. objc[360]: Class QNSImageView is implemented in both /opt/local/libexec/qt4-kde/lib/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. Using implementation from /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject: Cannot create children for a parent that is in a different thread. (Parent is KonquerorApplication(0xbffff5c8), parent's thread is QThread(0x3009e90), current thread is QThread(0x30577c0) QObject::startTimer: QTimer can only be used with threads started with QThread QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject::moveToThread: Current thread (0x30577c0) is not the object's thread (0x3009e90). Cannot move to target thread (0x3009e90)

On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded. QObject: Cannot create children for a parent that is in a different thread. (Parent is KonqMainWindow(0x30867b0), parent's thread is QThread(0x3009e90), current thread is QThread(0x30577c0) QObject: Cannot create children for a parent that is in a different thread. (Parent is KonqMainWindow(0x30867b0), parent's thread is QThread(0x3009e90), current thread is QThread(0x30577c0) QObject: Cannot create children for a parent that is in a different thread. (Parent is KonqMainWindow(0x30867b0), parent's thread is QThread(0x3009e90), current thread is QThread(0x30577c0) QObject: Cannot create children for a parent that is in a different thread. (Parent is KonqMainWindow(0x30867b0), parent's thread is QThread(0x3009e90), current thread is QThread(0x30577c0) QObject: Cannot create children for a parent that is in a different thread. (Parent is ToggleViewGUIClient(0x3094740), parent's thread is QThread(0x30577c0), current thread is QThread(0x3009e90) Bus error Chris-Jones-Macbook-Pro ~ >

comment:11 Changed 12 years ago by cjones051073 (Chris Jones)

Hi,

Just pinging this bug report to see if you have any more thoughts ?

cheers Chris

comment:12 Changed 12 years ago by mf2k (Frank Schima)

Description: modified (diff)

comment:13 Changed 12 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:14 Changed 11 years ago by illogic-al@…

Resolution: fixed
Status: newclosed

Fixed.

comment:15 in reply to:  description Changed 11 years ago by cadeon924@…

Seems to be still a problem. I just installed digikam-devel from a clean install of MacPorts and all I got was qt4-mac, no qt4-kde - and, I'm having problems, and from what I can tell, they point towards QT.

I'm installing qt4-kde now, we'll see what happens after that.

Note: See TracTickets for help on using tickets.