[Kde-bindings] Re: various QAccessibleBridgePlugin symbols not found on mac build

Arno Rehn arno at arnorehn.de
Sat Feb 12 16:35:50 UTC 2011


On Saturday 12 February 2011 17:09:01 Ben Skelton wrote:
> Hi Arno,
> 
> thanks for that. I pulled the repository and can see the change:
> > Kauri:smokeqt benskelton$ git whatchanged
> > commit ada5f597432ee33d031b49f050aaa25c631dba19
> > Author: Arno Rehn <arno at arnorehn.de>
> > Date:   Thu Feb 10 17:27:54 2011 +0100
> > 
> >     include QT_NO_ACCESSIBILITY checks in every build (important for mac
> >     builds)
> > :
> > :100644 100644 a5f4e24... 25eb32a... M  qtcore/QtGuess.txt
> 
> Removing the cmake cache and re-running gives:
> > -- Checking how Qt was built...
> > -- Threshold is set to 15
> > -- QT_NO_DEBUG *Undefined*
> > -- QT_NO_ACCESSIBILITY *Undefined*
> > -- QT_NO_STYLE_PLASTIQUE *Undefined*
> > -- QT_NO_STYLE_WINDOWSXP [Defined]
> > -- QT_NO_STYLE_WINDOWS *Undefined*
> > -- QT_NO_STYLE_MAC [Defined]
> > -- QT_NO_STYLE_CLEANLOOKS *Undefined*
> > -- QT_NO_TABLEVIEW *Undefined*
> 
> I don't know if the undefined QT_NO_ACCESSIBILITY is expected. I was
> running into some strange build errors that made me think that there was a
> problem with my macports build of qt. I deactivated macports' qt and
> installed the SDK from qt.nokia.com/downloads.
Hm. That's strange. I would have expected the test to fail, since the 
QAccessibleBridgePlugin symbol (or whatever that was) wasn't found. So I 
thought Qt was compiled without accessibility functionality. Apparently I was 
wrong, otherwise the test wouldn't result in *undefined*.
Can you check where the QAccessible symbols are, and _which_ symbols there 
are?

> I've noticed that config.xml files have some header file errors when Qt is 
"Frameworkized" instead of installed in the /opt/local tree with the macports 
install. For example in qtcore/config.xml:
> > <config>
> > 
> >     <resolveTypedefs>true</resolveTypedefs>
> >     <qtMode>true</qtMode>
> >     <generator>smoke</generator>
> >     <definesList>/Users/benskelton/Desktop/Aladdin/smokeqt/qtdefines</def
> >     inesList> <includeDirs>
> >     
> >         <dir>/usr/include;/Library/Frameworks/QtCore.framework</dir>
> >         <dir>/Library/Frameworks/QtCore.framework/Headers</dir>
> >     
> >     </includeDirs>
> > 
> > </config>
> 
> the first includeDirs seems wrong and should be:
> > /Library/Frameworks/QtCore.framework/Headers
I don't know if the first entry breaks anything (the second one is correct 
after all). You can remove it manually and try again. The config files are 
generated from .cmake template files in the source dir, you might want to check 
them as well.

> A bigger problem then occurs:
> > [  3%] Building CXX object qtcore/CMakeFiles/smokeqtcore.dir/x_1.cpp.o
> > /Library/Frameworks/QtCore.framework/Headers/qabstractanimation.h: In
> > constructor
> > ‘__smokeqtcore::x_QAbstractAnimation::x_QAbstractAnimation(const
> > QAbstractAnimation&)’:
> > /Library/Frameworks/QtCore.framework/Headers/qabstractanimation.h:131:
> > error: ‘QAbstractAnimation::QAbstractAnimation(const
> > QAbstractAnimation&)’ is private
> > /Users/benskelton/Desktop/Aladdin/smokeqt/qtcore/x_1.cpp:165: error:
> > within this context
> > /Library/Frameworks/QtCore.framework/Headers/qobject.h: In copy
> > constructor ‘QAbstractEventDispatcher::QAbstractEventDispatcher(const
> > QAbstractEventDispatcher&)’:
> > /Library/Frameworks/QtCore.framework/Headers/qobject.h:309: error:
> > ‘QObject::QObject(const QObject&)’ is private
> > /Library/Frameworks/QtCore.framework/Headers/qabstracteventdispatcher.h:
> > 59: error: within this context
> > /Users/benskelton/Desktop/Aladdin/smokeqt/qtcore/x_1.cpp: In constructor
> > ‘__smokeqtcore::x_QAbstractEventDispatcher::x_QAbstractEventDispatcher(c
> > onst QAbstractEventDispatcher&)’:
> > /Users/benskelton/Desktop/Aladdin/smokeqt/qtcore/x_1.cpp:443: note:
> > synthesized method
> > ‘QAbstractEventDispatcher::QAbstractEventDispatcher(const
> > QAbstractEventDispatcher&)’ first required here make[2]: ***
> > [qtcore/CMakeFiles/smokeqtcore.dir/x_1.cpp.o] Error 1 make[1]: ***
> > [qtcore/CMakeFiles/smokeqtcore.dir/all] Error 2
> > make: *** [all] Error 2
Something's definitely going wrong here. smokegen doesn't parse the classes 
correctly, probably it can't find a header file or it's missing more #defines. 
Can you post the qtdefines file in <smokeqt-build-dir>?

I don't have OS X and I don't know anything about its framework stuff, so I can 
only guess what's going wrong.

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list