Hello again, I'm having similar problems again, this time when building kdevplatform. I get: Built target kdev_starter_automoc Building CXX object kdevplatform/util/kdev_starter/CMakeFiles/kdev_starter.dir/main.o Linking CXX executable kdev_starter CMakeFiles/kdev_starter.dir/main.o: In function `QList::detach_helper()': /home/edulix/proyectos/kde4/qt4/include/QtCore/qlist.h:604: undefined reference to `QListData::detach3()' collect2: ld returned 1 exit status make[2]: *** [kdevplatform/util/kdev_starter/kdev_starter] Error 1 make[1]: *** [kdevplatform/util/kdev_starter/CMakeFiles/kdev_starter.dir/all] Error 2 I recently removed all my installation and did a --refresh-build as I already commented here. So this is what I've seen: 1. First, looking at the code in /home/edulix/proyectos/kde4/qt4/include/QtCore/qlist.h at line 604, there is: template Q_OUTOFLINE_TEMPLATE void QList::detach_helper() { Node *n = reinterpret_cast(p.begin()); QListData::Data *x = p.detach3(); // <<<<<<<<<< LINE 604 HERE QT_TRY { node_copy(reinterpret_cast(p.begin()), reinterpret_cast(p.end()), n); } QT_CATCH(...) { qFree(d); d = x; QT_RETHROW; } if (!x->ref.deref()) free(x); } 2. Changing detach3() with detach2() (which is being deprecated for QT 5 but that's nothing to worry for now :P) magically works and generates correctly the kdeveplatform binary kdev_helper, which seems in turn to be linking to the correct libQtCore: edulix@edulix-laptop:~/proyectos/kde4/src/build/extragear/sdk/kdevplatform/util/kdev_starter$ make Built target kdev_starter_automoc Scanning dependencies of target kdev_starter Building CXX object kdevplatform/util/kdev_starter/CMakeFiles/kdev_starter.dir/main.o Linking CXX executable kdev_starter Built target kdev_starter edulix@edulix-laptop:~/proyectos/kde4/src/build/extragear/sdk/kdevplatform/util/kdev_starter$ cb edulix@edulix-laptop:~/proyectos/kde4/src/build/extragear/sdk/kdevplatform/util/kdev_starter$ ldd kdev_starter linux-vdso.so.1 => (0x00007fff591ff000) libQtCore.so.4 => /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4 (0x00007f2c56c53000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f2c56943000) libm.so.6 => /lib/libm.so.6 (0x00007f2c566bf000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f2c564a8000) libc.so.6 => /lib/libc.so.6 (0x00007f2c56139000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f2c55f1d000) libz.so.1 => /lib/libz.so.1 (0x00007f2c55d06000) libdl.so.2 => /lib/libdl.so.2 (0x00007f2c55b02000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f2c558fd000) librt.so.1 => /lib/librt.so.1 (0x00007f2c556f5000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f2c5542e000) /lib64/ld-linux-x86-64.so.2 (0x00007f2c570ac000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007f2c55200000) 3. So I started inspecting the code in qlist.cpp, and I found that in the code, detach3 is as defined as detach2: edulix@edulix-laptop:~/proyectos/kde4/src/qt-copy/src/corelib/tools$ grep -C 2 "*QListData::detach" qlist.cpp # error "Remove QListData::detach(), it is only required for binary compatibility for 4.0.x to 4.2.x" #endif QListData::Data *QListData::detach() { Data *x = static_cast(qMalloc(DataHeaderSize + d->alloc * sizeof(void *))); -- # error "Remove QListData::detach2(), it is only required for binary compatibility for 4.3.x to 4.5.x" #endif QListData::Data *QListData::detach2() { Data *x = d; -- * \internal */ QListData::Data *QListData::detach3() { Data *x = d; 4. And indeed, inspecting the library that was shown to be linked by kdev_starter (/home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4), the symbol was there, at least in the debug version which I asume that has the same symbols as the other versions as they were built at the same time: edulix@edulix-laptop:~/proyectos/kde4/src/qt-copy/src/corelib/tools$ l /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4* lrwxrwxrwx 1 edulix edulix 18 2009-12-17 23:20 /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4 -> libQtCore.so.4.6.1 lrwxrwxrwx 1 edulix edulix 18 2009-12-17 23:20 /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4.6 -> libQtCore.so.4.6.1 -rwxr-xr-x 1 edulix edulix 2,4M 2009-12-17 23:20 /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4.6.1 -rw-r--r-- 1 edulix edulix 23M 2009-12-17 21:09 /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4.6.1.debug edulix@edulix-laptop:~/proyectos/kde4/src/qt-copy/src/corelib/tools$ nm /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4.6.1 | grep detach | grep QListData nm: /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4.6.1: no symbols edulix@edulix-laptop:~/proyectos/kde4/src/qt-copy/src/corelib/tools$ nm /home/edulix/proyectos/kde4/qt4/lib/libQtCore.so.4.6.1.debug | grep detach | grep QListData 00000000000a0420 T _ZN9QListData6detachEv 00000000000a0390 T _ZN9QListData7detach2Ev 00000000000a0320 T _ZN9QListData7detach3Ev So.. what's happening? Well something is wrong :P Regards, Eduardo Robles Elvira. >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<