mac os x qt-dbus issues

William A. Hoffman billlist at nycap.rr.com
Fri Jun 23 02:37:37 BST 2006


At 08:06 PM 6/22/2006, Benjamin Reed wrote:
>2 unrelated issues on OSX...
>
>1. it looks like there might be some header-ordering issues; I had
>issues with old installed headers conflicting with my build:
>
>---(snip!)---
>Scanning dependencies of target dbus
>Building CXX object qt-dbus/tools/CMakeFiles/dbus.dir/dbus.o
>Linking CXX executable dbus
>/usr/bin/ld: for architecture i386
>/usr/bin/ld: Undefined symbols:
>qDBusReplyFill(QDBusMessage const&, QDBusError&, QVariant&)
>collect2: ld returned 1 exit status
>/usr/bin/ld: for architecture ppc
>/usr/bin/ld: Undefined symbols:
>qDBusReplyFill(QDBusMessage const&, QDBusError&, QVariant&)
>collect2: ld returned 1 exit status
>make[2]: *** [qt-dbus/tools/dbus] Error 1
>make[1]: *** [qt-dbus/tools/CMakeFiles/dbus.dir/all] Error 2
>make: *** [all] Error 2
>Disco-Volante:~/cvs/build/kdesupport ranger$ rm -rf
>/opt/kde4-deps/lib/libdbus-qt4-1.*
>/opt/kde4-deps/include/dbus-1.0/dbus/qdbus*
>Disco-Volante:~/cvs/build/kdesupport ranger$ make
>Linking CXX executable dbus
>/usr/bin/ld: warning -L: directory name (/opt/kde4/lib) does not exist
>/usr/bin/ld: warning -L: directory name (/opt/cmake/lib) does not exist
>/usr/bin/ld: warning -L: directory name (/opt/kde4/lib) does not exist
>/usr/bin/ld: warning -L: directory name (/opt/cmake/lib) does not exist
>Scanning dependencies of target dbuscpp2xml
>Building CXX object qt-dbus/tools/CMakeFiles/dbuscpp2xml.dir/dbuscpp2xml.o
>---(snip!)---
>
>2. On 10.3 (Apple's GCC 3.3), I have a compile error:
>
>---(snip!)---
>Building CXX object qt-dbus/src/CMakeFiles/dbus-qt4-1.dir/qdbusreply.o
>Linking CXX shared library libdbus-qt4-1.dylib
>ld: Undefined symbols:
>vtable for QDBusDemarshaller
>/usr/bin/libtool: internal link edit command failed
>make[2]: *** [qt-dbus/src/libdbus-qt4-1.dylib.1.0.0] Error 1
>---(snip!)---
>
>any ideas how to find out what's causing this?

I wonder if this could cause the problem:

inline QDBusDemarshaller::~QDBusDemarshaller()
{
    if (message)
        dbus_message_unref(message);
}

That is in a .cpp file, and the ~ is virtual for that class.
What would happen if you removed the inline? 

-Bill 





More information about the kde-core-devel mailing list