Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

Andrew Wiles-2
Hello everyone,
 
I have successfully built the most recent release of Slicer on my Macbook Pro with Snow Leopard.  I was trying to use Qt Creator by launching with the Slicer launcher:
 
./Slicer-build/Slicer --launch /pathToQtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
 
However, I get a message saying I have two versions of the Qt libs installed.  Looking closer, the launcher is loading Qt libs from
 
1) pathToQtSDK/Desktop/Qt/474/gcc/bin
2) pathToQtSDK/Qt \Creator.app/Contents/MacOS/../Frameworks/ etc.
 
I obviously built Slicer against the gcc/bin version and Qt Creator wants its own version in the bundle.  I saw something about this on the mailing lists but I was unable to find a resolution.
 
Any suggestions?
 
Cheers.
Andrew
 
 
 
 

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: +1 (519) 884-5142 ext. 314
Toll Free: +1 (877) 634-6340
Global: ++ (800) 634-634-00
Facsimile: +1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
Reply | Threaded
Open this post in threaded view
|

Re: Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

Jean-Christophe Fillion-Robin
Hi Andrew, 

Could you share you launcher settings with the list ? 

To be able to successfully load the QtDesigner plugin, the plugins need to be built against the same version that QtCreator/Designer will be using. 

Could you also share the exact error message you obtained ?

Creating an issue in the tracker with the details and uploading the launcher setting would be ideal.

Thanks,
Jc


On Thu, Nov 1, 2012 at 3:59 PM, Andrew Wiles <[hidden email]> wrote:
Hello everyone,
 
I have successfully built the most recent release of Slicer on my Macbook Pro with Snow Leopard.  I was trying to use Qt Creator by launching with the Slicer launcher:
 
./Slicer-build/Slicer --launch /pathToQtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
 
However, I get a message saying I have two versions of the Qt libs installed.  Looking closer, the launcher is loading Qt libs from
 
1) pathToQtSDK/Desktop/Qt/474/gcc/bin
2) pathToQtSDK/Qt \Creator.app/Contents/MacOS/../Frameworks/ etc.
 
I obviously built Slicer against the gcc/bin version and Qt Creator wants its own version in the bundle.  I saw something about this on the mailing lists but I was unable to find a resolution.
 
Any suggestions?
 
Cheers.
Andrew
 
 
 
 

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <a href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" value="+15198845142" target="_blank">+1 (519) 884-5142 ext. 314
Toll Free: <a href="tel:%2B1%20%28877%29%20634-6340" value="+18776346340" target="_blank">+1 (877) 634-6340
Global: <a href="tel:%2B%2B%20%28800%29%20634-634-00" value="+80063463400" target="_blank">++ (800) 634-634-00
Facsimile: <a href="tel:%2B1%20%28519%29%20884-5184" value="+15198845184" target="_blank">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject



--
<a href="tel:%2B1%20919%20869%208849" value="+19198698849" target="_blank">+1 919 869 8849


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
Reply | Threaded
Open this post in threaded view
|

Re: Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

Andrew Wiles-2
Hi JC,
 
Thanks for getting back to me.  As for the settings, I am not sure what you mean.  I followed the instructions here: http://www.slicer.org/slicerWiki/index.php/Documentation/4.2/Developers/Tutorials/QtCreator
 
I installed the Qt SDK and only installed the 4.74 libs.  I looked at the Qt Creator and the About Message says it is built against 4.7.4 but it is trying to access two different sets of libs.  If it is not something simple, then I will log an issue in the tracker. I assumed I had not configured it properly.  The exact error output is below.
 
Cheers.
Andrew
 
demo2s-MacBook-Pro:Slicer4 demo2$ ./Slicer-SuperBuild-Debug/Slicer-build/Slicer --launch ~/Documents/awiles/src/QtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
objc[1547]: Class QCocoaColorPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QMacSoundDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPanel is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindow is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenuLoader is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSApplication is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaApplicationDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowCustomThemeFrame is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaToolBarDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSOpenSavePanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaFontPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSWindowProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSPanelProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPageLayoutDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPrintPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSStatusItem is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSImageView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x1011140a0) is not the object's thread (0x101429100).
Cannot move to target thread (0x1011140a0)
 
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.
QPixmap: Must construct a QApplication before a QPaintDevice
error: [/Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/Qt Creator] exit abnormally - Report the problem.
 


 
 

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: +1 (519) 884-5142 ext. 314
Toll Free: +1 (877) 634-6340
Global: ++ (800) 634-634-00
Facsimile: +1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------
>>> Jean-Christophe Fillion-Robin <[hidden email]> 01/11/2012 9:12 PM >>>
Hi Andrew,

Could you share you launcher settings with the list ?

To be able to successfully load the QtDesigner plugin, the plugins need to be built against the same version that QtCreator/Designer will be using.

Could you also share the exact error message you obtained ?

Creating an issue in the tracker with the details and uploading the launcher setting would be ideal.

Thanks,
Jc


On Thu, Nov 1, 2012 at 3:59 PM, Andrew Wiles <[hidden email]> wrote:
Hello everyone,
I have successfully built the most recent release of Slicer on my Macbook Pro with Snow Leopard. I was trying to use Qt Creator by launching with the Slicer launcher:
./Slicer-build/Slicer --launch /pathToQtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
However, I get a message saying I have two versions of the Qt libs installed. Looking closer, the launcher is loading Qt libs from
1) pathToQtSDK/Desktop/Qt/474/gcc/bin
2) pathToQtSDK/Qt \Creator.app/Contents/MacOS/../Frameworks/ etc.
I obviously built Slicer against the gcc/bin version and Qt Creator wants its own version in the bundle. I saw something about this on the mailing lists but I was unable to find a resolution.
Any suggestions?
Cheers.
Andrew

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <A href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" target=_blank value="+15198845142">+1 (519) 884-5142 ext. 314
Toll Free: <A href="tel:%2B1%20%28877%29%20634-6340" target=_blank value="+18776346340">+1 (877) 634-6340
Global: <A href="tel:%2B%2B%20%28800%29%20634-634-00" target=_blank value="+80063463400">++ (800) 634-634-00
Facsimile: <A href="tel:%2B1%20%28519%29%20884-5184" target=_blank value="+15198845184">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject



--
<A href="tel:%2B1%20919%20869%208849" target=_blank value="+19198698849">+1 919 869 8849


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
Reply | Threaded
Open this post in threaded view
|

Re: Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

Jean-Christophe Fillion-Robin
Hi Andrew, 

Forget what I mention about the settings ... for some reason I thought the word "settings" was in your first email. 



1) That said, would be nice to confirm that the issue come from the custom QtPlugins build within Slicer. If you update the file:

  /Users/demo2/Slicer-SuperBuild-Debug/Slicer-build/SlicerLauncherSettings.ini

and remove the line mentioning "QT_PLUGIN_PATH=" in the EnvironmentVariables section.

After updating the file, can you start QtCreator ? Do you still see the reported errors ?



2) Assuming the problem is "caused" by Slicer custom plugin, I envision the following solutions:

a) Recursively patch/fixup (using install_name executable) QtCreator so that it uses the Qt libraries built in the folder /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/
That would be possible only if QtCreator is build against 4.7.4 and not 4.8

b) Assuming QtCreator uses 4.7.4, a custom command could be added to the custom Slicer/CTK plugins build process so that they are "patched/fixedup" each time they are built.

c) Build QtCreator against the same library that Slicer is using

d) Instead of building Qt your self, you could install qt-mac-opensource-4.7.4.dmg referenced in slicer build instruction. And install QtCreator that depend on these installed libraries. 

I will let you explore and experiment. 

Let me know if you have any other questions, 
Thanks
Jc



On Fri, Nov 2, 2012 at 9:02 AM, Andrew Wiles <[hidden email]> wrote:
Hi JC,
 
Thanks for getting back to me.  As for the settings, I am not sure what you mean.  I followed the instructions here: http://www.slicer.org/slicerWiki/index.php/Documentation/4.2/Developers/Tutorials/QtCreator
 
I installed the Qt SDK and only installed the 4.74 libs.  I looked at the Qt Creator and the About Message says it is built against 4.7.4 but it is trying to access two different sets of libs.  If it is not something simple, then I will log an issue in the tracker. I assumed I had not configured it properly.  The exact error output is below.
 
Cheers.
Andrew
 
demo2s-MacBook-Pro:Slicer4 demo2$ ./Slicer-SuperBuild-Debug/Slicer-build/Slicer --launch ~/Documents/awiles/src/QtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
objc[1547]: Class QCocoaColorPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QMacSoundDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPanel is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindow is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenuLoader is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSApplication is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaApplicationDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowCustomThemeFrame is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaToolBarDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSOpenSavePanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaFontPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSWindowProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSPanelProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPageLayoutDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPrintPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSStatusItem is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSImageView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x1011140a0) is not the object's thread (0x101429100).
Cannot move to target thread (0x1011140a0)
 
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.
QPixmap: Must construct a QApplication before a QPaintDevice
error: [/Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/Qt Creator] exit abnormally - Report the problem.
 


 
 

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <a href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" value="+15198845142" target="_blank">+1 (519) 884-5142 ext. 314
Toll Free: <a href="tel:%2B1%20%28877%29%20634-6340" value="+18776346340" target="_blank">+1 (877) 634-6340
Global: <a href="tel:%2B%2B%20%28800%29%20634-634-00" value="+80063463400" target="_blank">++ (800) 634-634-00
Facsimile: <a href="tel:%2B1%20%28519%29%20884-5184" value="+15198845184" target="_blank">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------
>>> Jean-Christophe Fillion-Robin <[hidden email]> 01/11/2012 9:12 PM >>>
Hi Andrew,

Could you share you launcher settings with the list ?

To be able to successfully load the QtDesigner plugin, the plugins need to be built against the same version that QtCreator/Designer will be using.

Could you also share the exact error message you obtained ?

Creating an issue in the tracker with the details and uploading the launcher setting would be ideal.

Thanks,
Jc


On Thu, Nov 1, 2012 at 3:59 PM, Andrew Wiles <[hidden email]> wrote:
Hello everyone,
I have successfully built the most recent release of Slicer on my Macbook Pro with Snow Leopard. I was trying to use Qt Creator by launching with the Slicer launcher:
./Slicer-build/Slicer --launch /pathToQtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
However, I get a message saying I have two versions of the Qt libs installed. Looking closer, the launcher is loading Qt libs from
1) pathToQtSDK/Desktop/Qt/474/gcc/bin
2) pathToQtSDK/Qt \Creator.app/Contents/MacOS/../Frameworks/ etc.
I obviously built Slicer against the gcc/bin version and Qt Creator wants its own version in the bundle. I saw something about this on the mailing lists but I was unable to find a resolution.
Any suggestions?
Cheers.
Andrew

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <a href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" value="+15198845142" target="_blank">+1 (519) 884-5142 ext. 314
Toll Free: <a href="tel:%2B1%20%28877%29%20634-6340" value="+18776346340" target="_blank">+1 (877) 634-6340
Global: <a href="tel:%2B%2B%20%28800%29%20634-634-00" value="+80063463400" target="_blank">++ (800) 634-634-00
Facsimile: <a href="tel:%2B1%20%28519%29%20884-5184" value="+15198845184" target="_blank">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject



--
<a href="tel:%2B1%20919%20869%208849" value="+19198698849" target="_blank">+1 919 869 8849




--
+1 919 869 8849


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
Reply | Threaded
Open this post in threaded view
|

Re: Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

Andrew Wiles-2
Hi JC,
 
So I have things mostly working.  In answer to your questions below:
 
1) Removing the Qt_PLUGIN_PATH works.  It does have to do with the plugin.
 
2) I did a combination of d) then c).  I installed the dmg.  When I originally looked at that table, I read "SDK" which I assumed was the Qt SDK 1.2.1 (http://www.developer.nokia.com/dp?uri=http%3A%2F%2Fsw.nokia.com%2Fid%2F0ea024bd-2879-4098-98d8-67966a9615ef%2FQt_SDK_Mac64_online) with the various libs, Qt Creator and the other mobile Qt libs and tools.  I had a download of that already and checked that it was built against 4.7.4 and I used that.  Perhaps that table should be changed to have the Qt SDK removed and just have the link to the dmg with the binaries.  So I think that is where I got into trouble.  So I (i) installed the 4.7.4 binaries release and debug, (ii) build qt-creator against that and (iii) built slicer against the same as qt-creator.  I can now launch Qt Creator and build slicer in there without difficulty.
 
However, I do have another question about how I can work on the OpenIGTLink IF module inside Qt Creator (or any IDE) without building the full SuperBuild.  But I will send another email about that with a different subject line for the mailing list.
 
Thanks again for your help.
 
Cheers.
Andrew

 

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: +1 (519) 884-5142 ext. 314
Toll Free: +1 (877) 634-6340
Global: ++ (800) 634-634-00
Facsimile: +1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------
>>> Jean-Christophe Fillion-Robin <[hidden email]> 02/11/2012 2:26 PM >>>
Hi Andrew,

Forget what I mention about the settings ... for some reason I thought the word "settings" was in your first email.



1) That said, would be nice to confirm that the issue come from the custom QtPlugins build within Slicer. If you update the file:

/Users/demo2/Slicer-SuperBuild-Debug/Slicer-build/SlicerLauncherSettings.ini

and remove the line mentioning "QT_PLUGIN_PATH=" in the EnvironmentVariables section.

After updating the file, can you start QtCreator ? Do you still see the reported errors ?



2) Assuming the problem is "caused" by Slicer custom plugin, I envision the following solutions:

a) Recursively patch/fixup (using install_name executable) QtCreator so that it uses the Qt libraries built in the folder /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/
That would be possible only if QtCreator is build against 4.7.4 and not 4.8

b) Assuming QtCreator uses 4.7.4, a custom command could be added to the custom Slicer/CTK plugins build process so that they are "patched/fixedup" each time they are built.

c) Build QtCreator against the same library that Slicer is using

d) Instead of building Qt your self, you could install qt-mac-opensource-4.7.4.dmg referenced in slicer build instruction. And install QtCreator that depend on these installed libraries.

I will let you explore and experiment.

Let me know if you have any other questions,
Thanks
Jc



On Fri, Nov 2, 2012 at 9:02 AM, Andrew Wiles <[hidden email]> wrote:
Hi JC,
Thanks for getting back to me. As for the settings, I am not sure what you mean. I followed the instructions here: http://www.slicer.org/slicerWiki/index.php/Documentation/4.2/Developers/Tutorials/QtCreator
I installed the Qt SDK and only installed the 4.74 libs. I looked at the Qt Creator and the About Message says it is built against 4.7.4 but it is trying to access two different sets of libs. If it is not something simple, then I will log an issue in the tracker. I assumed I had not configured it properly. The exact error output is below.
Cheers.
Andrew
demo2s-MacBook-Pro:Slicer4 demo2$ ./Slicer-SuperBuild-Debug/Slicer-build/Slicer --launch ~/Documents/awiles/src/QtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
objc[1547]: Class QCocoaColorPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QMacSoundDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPanel is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindow is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenuLoader is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSApplication is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaApplicationDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowCustomThemeFrame is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaToolBarDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSOpenSavePanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaFontPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSWindowProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSPanelProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPageLayoutDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPrintPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSStatusItem is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSImageView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x1011140a0) is not the object's thread (0x101429100).
Cannot move to target thread (0x1011140a0)
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.
QPixmap: Must construct a QApplication before a QPaintDevice
error: [/Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/Qt Creator] exit abnormally - Report the problem.


---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <A href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" target=_blank value="+15198845142">+1 (519) 884-5142 ext. 314
Toll Free: <A href="tel:%2B1%20%28877%29%20634-6340" target=_blank value="+18776346340">+1 (877) 634-6340
Global: <A href="tel:%2B%2B%20%28800%29%20634-634-00" target=_blank value="+80063463400">++ (800) 634-634-00
Facsimile: <A href="tel:%2B1%20%28519%29%20884-5184" target=_blank value="+15198845184">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------
>>> Jean-Christophe Fillion-Robin <[hidden email]> 01/11/2012 9:12 PM >>>
Hi Andrew,

Could you share you launcher settings with the list ?

To be able to successfully load the QtDesigner plugin, the plugins need to be built against the same version that QtCreator/Designer will be using.

Could you also share the exact error message you obtained ?

Creating an issue in the tracker with the details and uploading the launcher setting would be ideal.

Thanks,
Jc


On Thu, Nov 1, 2012 at 3:59 PM, Andrew Wiles <[hidden email]> wrote:
Hello everyone,
I have successfully built the most recent release of Slicer on my Macbook Pro with Snow Leopard. I was trying to use Qt Creator by launching with the Slicer launcher:
./Slicer-build/Slicer --launch /pathToQtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
However, I get a message saying I have two versions of the Qt libs installed. Looking closer, the launcher is loading Qt libs from
1) pathToQtSDK/Desktop/Qt/474/gcc/bin
2) pathToQtSDK/Qt \Creator.app/Contents/MacOS/../Frameworks/ etc.
I obviously built Slicer against the gcc/bin version and Qt Creator wants its own version in the bundle. I saw something about this on the mailing lists but I was unable to find a resolution.
Any suggestions?
Cheers.
Andrew

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <A href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" target=_blank value="+15198845142">+1 (519) 884-5142 ext. 314
Toll Free: <A href="tel:%2B1%20%28877%29%20634-6340" target=_blank value="+18776346340">+1 (877) 634-6340
Global: <A href="tel:%2B%2B%20%28800%29%20634-634-00" target=_blank value="+80063463400">++ (800) 634-634-00
Facsimile: <A href="tel:%2B1%20%28519%29%20884-5184" target=_blank value="+15198845184">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject



--
<A href="tel:%2B1%20919%20869%208849" target=_blank value="+19198698849">+1 919 869 8849




--
+1 919 869 8849


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
Reply | Threaded
Open this post in threaded view
|

Re: Using Qt Creator with Slicer4 On Mac OS X -- Multiple Qt libs loaded

Jean-Christophe Fillion-Robin
Hi Andrew, 

Thanks for your feedback. Glad to know you managed to have the Slicer designer plugins working on MacOSX.

I also updated the documentation to make things more explicit. See 

Thanks
Jc


On Sat, Nov 3, 2012 at 10:32 PM, Andrew Wiles <[hidden email]> wrote:
Hi JC,
 
So I have things mostly working.  In answer to your questions below:
 
1) Removing the Qt_PLUGIN_PATH works.  It does have to do with the plugin.
 
2) I did a combination of d) then c).  I installed the dmg.  When I originally looked at that table, I read "SDK" which I assumed was the Qt SDK 1.2.1 (http://www.developer.nokia.com/dp?uri=http%3A%2F%2Fsw.nokia.com%2Fid%2F0ea024bd-2879-4098-98d8-67966a9615ef%2FQt_SDK_Mac64_online) with the various libs, Qt Creator and the other mobile Qt libs and tools.  I had a download of that already and checked that it was built against 4.7.4 and I used that.  Perhaps that table should be changed to have the Qt SDK removed and just have the link to the dmg with the binaries.  So I think that is where I got into trouble.  So I (i) installed the 4.7.4 binaries release and debug, (ii) build qt-creator against that and (iii) built slicer against the same as qt-creator.  I can now launch Qt Creator and build slicer in there without difficulty.
 
However, I do have another question about how I can work on the OpenIGTLink IF module inside Qt Creator (or any IDE) without building the full SuperBuild.  But I will send another email about that with a different subject line for the mailing list.
 
Thanks again for your help.
 
Cheers.
Andrew

 

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <a href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" value="+15198845142" target="_blank">+1 (519) 884-5142 ext. 314
Toll Free: <a href="tel:%2B1%20%28877%29%20634-6340" value="+18776346340" target="_blank">+1 (877) 634-6340
Global: <a href="tel:%2B%2B%20%28800%29%20634-634-00" value="+80063463400" target="_blank">++ (800) 634-634-00
Facsimile: <a href="tel:%2B1%20%28519%29%20884-5184" value="+15198845184" target="_blank">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------
>>> Jean-Christophe Fillion-Robin <[hidden email]> 02/11/2012 2:26 PM >>>
Hi Andrew,

Forget what I mention about the settings ... for some reason I thought the word "settings" was in your first email.



1) That said, would be nice to confirm that the issue come from the custom QtPlugins build within Slicer. If you update the file:

/Users/demo2/Slicer-SuperBuild-Debug/Slicer-build/SlicerLauncherSettings.ini

and remove the line mentioning "QT_PLUGIN_PATH=" in the EnvironmentVariables section.

After updating the file, can you start QtCreator ? Do you still see the reported errors ?



2) Assuming the problem is "caused" by Slicer custom plugin, I envision the following solutions:

a) Recursively patch/fixup (using install_name executable) QtCreator so that it uses the Qt libraries built in the folder /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/
That would be possible only if QtCreator is build against 4.7.4 and not 4.8

b) Assuming QtCreator uses 4.7.4, a custom command could be added to the custom Slicer/CTK plugins build process so that they are "patched/fixedup" each time they are built.

c) Build QtCreator against the same library that Slicer is using

d) Instead of building Qt your self, you could install qt-mac-opensource-4.7.4.dmg referenced in slicer build instruction. And install QtCreator that depend on these installed libraries.

I will let you explore and experiment.

Let me know if you have any other questions,
Thanks
Jc



On Fri, Nov 2, 2012 at 9:02 AM, Andrew Wiles <[hidden email]> wrote:
Hi JC,
Thanks for getting back to me. As for the settings, I am not sure what you mean. I followed the instructions here: http://www.slicer.org/slicerWiki/index.php/Documentation/4.2/Developers/Tutorials/QtCreator
I installed the Qt SDK and only installed the 4.74 libs. I looked at the Qt Creator and the About Message says it is built against 4.7.4 but it is trying to access two different sets of libs. If it is not something simple, then I will log an issue in the tracker. I assumed I had not configured it properly. The exact error output is below.
Cheers.
Andrew
demo2s-MacBook-Pro:Slicer4 demo2$ ./Slicer-SuperBuild-Debug/Slicer-build/Slicer --launch ~/Documents/awiles/src/QtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
objc[1547]: Class QCocoaColorPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QMacSoundDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPanel is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindow is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenuLoader is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSApplication is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaApplicationDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaWindowCustomThemeFrame is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaToolBarDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSOpenSavePanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaFontPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSWindowProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSPanelProxy is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPageLayoutDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QCocoaPrintPanelDelegate is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSMenu is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSStatusItem is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[1547]: Class QNSImageView is implemented in both /Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /Users/demo2/Documents/awiles/src/QtSDK/Desktop/Qt/474/gcc/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x1011140a0) is not the object's thread (0x101429100).
Cannot move to target thread (0x1011140a0)
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.
QPixmap: Must construct a QApplication before a QPaintDevice
error: [/Users/demo2/Documents/awiles/src/QtSDK/Qt Creator.app/Contents/MacOS/Qt Creator] exit abnormally - Report the problem.


---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <a href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" value="+15198845142" target="_blank">+1 (519) 884-5142 ext. 314
Toll Free: <a href="tel:%2B1%20%28877%29%20634-6340" value="+18776346340" target="_blank">+1 (877) 634-6340
Global: <a href="tel:%2B%2B%20%28800%29%20634-634-00" value="+80063463400" target="_blank">++ (800) 634-634-00
Facsimile: <a href="tel:%2B1%20%28519%29%20884-5184" value="+15198845184" target="_blank">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------
>>> Jean-Christophe Fillion-Robin <[hidden email]> 01/11/2012 9:12 PM >>>
Hi Andrew,

Could you share you launcher settings with the list ?

To be able to successfully load the QtDesigner plugin, the plugins need to be built against the same version that QtCreator/Designer will be using.

Could you also share the exact error message you obtained ?

Creating an issue in the tracker with the details and uploading the launcher setting would be ideal.

Thanks,
Jc


On Thu, Nov 1, 2012 at 3:59 PM, Andrew Wiles <[hidden email]> wrote:
Hello everyone,
I have successfully built the most recent release of Slicer on my Macbook Pro with Snow Leopard. I was trying to use Qt Creator by launching with the Slicer launcher:
./Slicer-build/Slicer --launch /pathToQtSDK/Qt\ Creator.app/Contents/MacOS/Qt\ Creator
However, I get a message saying I have two versions of the Qt libs installed. Looking closer, the launcher is loading Qt libs from
1) pathToQtSDK/Desktop/Qt/474/gcc/bin
2) pathToQtSDK/Qt \Creator.app/Contents/MacOS/../Frameworks/ etc.
I obviously built Slicer against the gcc/bin version and Qt Creator wants its own version in the bundle. I saw something about this on the mailing lists but I was unable to find a resolution.
Any suggestions?
Cheers.
Andrew

---------------------------------------------------------------
Andrew D. Wiles, PhD, PEng
Senior Scientist, Medical Applications
NDI
103 Randall Drive
Waterloo, ON, Canada, N2V 1C5
Telephone: <a href="tel:%2B1%20%28519%29%20884-5142%20ext.%20314" value="+15198845142" target="_blank">+1 (519) 884-5142 ext. 314
Toll Free: <a href="tel:%2B1%20%28877%29%20634-6340" value="+18776346340" target="_blank">+1 (877) 634-6340
Global: <a href="tel:%2B%2B%20%28800%29%20634-634-00" value="+80063463400" target="_blank">++ (800) 634-634-00
Facsimile: <a href="tel:%2B1%20%28519%29%20884-5184" value="+15198845184" target="_blank">+1 (519) 884-5184
Website: www.ndigital.com
Follow us on Twitter: @NDIMedResearch

--------------------

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject



--
<a href="tel:%2B1%20919%20869%208849" value="+19198698849" target="_blank">+1 919 869 8849




--
<a href="tel:%2B1%20919%20869%208849" value="+19198698849" target="_blank">+1 919 869 8849




--
+1 919 869 8849


_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject