Please update extra-cmake-modules, kdelibs (and plasma-frameworks)

Sebastian Kügler sebas at kde.org
Wed Feb 27 22:29:30 UTC 2013


On Wednesday, February 27, 2013 22:02:52 Alexander Neundorf wrote:
> I just pushed a change to kdelibs, which renames the libraries in tier1/
> and  tier2/ to CamelCase, e.g. we have now libKCoreAddons.so etc.
> 
> Along with that extra-cmake-modules has been updated and is now at 0.0.8,
> this  version is required now, both by kdelibs and plasma-frameworks.
> 
> I hope I didn't mess up during the conflict merging.
> Let me know if something does not work.
> 
> One more note:
> in plasma-frameworks I saw that you are using
> target_link_libraries(... KF5::karchive )
> etc., i.e. using the names of the imported targets directly.
> I am still undecided whether this is a good idea.
> Actually before I thought it would be good, now I'm leaning more toward not
> so  good.
> The error I got with this was "ld: cannot find -lsolid"
> This looks like a normal library is not found, but the writer knew that
> this  should be the name of an imported target, but there is nothing saying
> this in the command.
> All those failed, since the names changed, and they didn't fail at cmake
> time,  but at link time :-/
> I changed all those (except those which I missed) to use variables again: 
> ${Solid_LIBRARIES}, ${KWindowSystem_LIBRARIES} etc.

The more obvious errors are, the better. It's easy to get stuck with hard to 
understand errors, I'd strongly lean towards what's easier and less error-
prone to use.

> If you make a typo there, it will be simply empty, and you can find out via 
> debug messages. It also somewhat guards against changing names of the
> imported targets.

With the latest changes, I have trouble building kdelibs. I've updated ECM, 
but now the kdelibs build fails with 

/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp: In function ‘QDebug 
kDebugStream(QtMsgType, int, const char*, int, const char*)’:
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp:761:21: error: request for 
member ‘isDestroyed’ in ‘kDebug_data’, which is of non-class type 
‘KDebugPrivate*()’
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp: In function ‘void 
kClearDebugConfig()’:
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp:797:10: warning: the address 
of ‘KDebugPrivate* kDebug_data()’ will always evaluate as ‘true’ [-Waddress]
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp:798:24: error: cannot 
convert ‘KDebugPrivate* (*)()’ to ‘KDebugPrivate*’ in initialization
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp: In static member function 
‘static bool KDebug::hasNullOutput(QtMsgType, bool, int, bool)’:
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp:822:21: error: request for 
member ‘isDestroyed’ in ‘kDebug_data’, which is of non-class type 
‘KDebugPrivate*()’
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp:826:30: error: cannot 
convert ‘KDebugPrivate* (*)()’ to ‘KDebugPrivate* const’ in initialization
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp: In static member function 
‘static int KDebug::registerArea(const QByteArray&, bool)’:
/home/sebas/kf5/src/kdelibs/kdecore/io/kdebug.cpp:855:24: error: cannot 
convert ‘KDebugPrivate* (*)()’ to ‘KDebugPrivate*’ in initialization
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp:651:66: note: 
#pragma message: KDE5 TODO: Remove this method once it is in Qt5
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp: In static member 
function ‘static void KCmdLineArgsStatic::parseAllArgs()’:
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp:911:60: note: 
#pragma message: KDE5 TODO: use kcoreaddons version number
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp: In static member 
function ‘static void KCmdLineArgs::enable_i18n()’:
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp:1091:55: note: 
#pragma message: KDE5 NOTE: What about this method ?
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp: In destructor 
‘KCmdLineArgs::~KCmdLineArgs()’:
/home/sebas/kf5/src/kdelibs/kdecore/kernel/kcmdlineargs.cpp:1337:64: note: 
#pragma message: Qt5 TODO: use new Q_GLOBAL_STATIC isDestroyed
make[2]: *** [kdecore/CMakeFiles/kdecore.dir/io/kdebug.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Any clue about this?
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Kde-frameworks-devel mailing list