KDE4 for Win32
Jarosław Staniek
js at iidea.pl
Mon Oct 31 11:53:47 CET 2005
Michael Drüing said the following, On 2005-10-30 21:53:
> I gave KDE4 + Scons + bksys another try. I failed. If you say "hey, sure,
> that's not supposed to work anyway" now, then please ignore the rest of
> this mail ;-)
It doesn't fully compile but read my comments :)
BTW, I've forwarded your message to the kde-buildsystem list. You can later
send questions there, not only to me.
> Here's what I did: I uninstalled my old SCons (0.96.1) and Python
> 2.3.something and installed Python 2.4.2 and the Scons 0.96.91 Win32
> installer.
OK, this is good version, IIRC.
> scons --version
SCons by Steven Knight et al.:
engine: v0.96.91.D001, 2005/09/08 09:14:36, by knight on roxbury
Copyright (c) 2001, 2002, 2003, 2004 The SCons Foundation
> So far so good. Then I downloaded pkg-config and put it in my mingw
> directory (which is in the path). After that I did a checkout of KDE4's
> SVN:
>
> cd /cygdrive/j && mkdir kde4 && cd kde4 # this is where my KDE should
> be built/installed to, J:\ svn co
> svn://anonsvn.kde.org/home/kde/trunk/KDE/arts # yes I know I shouldn't
> need that, I did the checkout anyway svn co
> svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs svn co
> svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
>
> ok, so now I have the KDE libs' tree in J:\kde4\kdelibs my qt4 is installed
> in J:\Qt4, and QTDIR and QMAKESPEC are set accordingly (QTDIR=J:\Qt4
> QMAKESPEC=win32-msvc.net)
>
> then I start an MSVC .NET command line (which sets up the path so that
> cl.exe etc. work) and check if everything works:
>
> J:\kde4\kdelibs>echo %QTDIR% J:\Qt4
>
> J:\kde4\kdelibs>echo %QMAKESPEC% win32-msvc.net
>
> J:\kde4\kdelibs>pkg-config Must specify package names on the command line
>
> J:\kde4\kdelibs>scons --version SCons by Steven Knight et al.: engine:
> v0.96.91.D001, 2005/09/08 09:14:36, by knight on roxbury Copyright (c)
> 2001, 2002, 2003, 2004 The SCons Foundation J:\kde4\kdelibs>cl /? Microsoft
> (R) 32-Bit C/C++-Optimierungscompiler Version 13.10.3077 für 80x86
> Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
>
> <<...lots of stuff omitted...>>
>
> J:\kde4\kdelibs>
>
> so it seems everything is set up correctly, right?
Yes, thanks for so great details.
> but when I do an "scons" in that directory I get the following output:
>
> J:\kde4\kdelibs>scons configure debug=full prefix=j:\kde4 scons: Reading
> SConscript files ... ** Enabling debug for the project ** ** installation
> prefix for the project set to: j:\kde4 Checking for function setenv()... ok
> - in libkdefakes Checking for function unsetenv()... ok - in libkdefakes
> Checking for function getdomainname()... ok - in libkdefakes Checking for
> function initgroups()... ok - in libkdefakes Checking for function
> mkstemps()... ok - in libkdefakes Checking for function mkstemp()... ok -
> in libkdefakes Checking for function mkdtemp()... ok - in libkdefakes
> Checking for function strlcpy()... ok - in libkdefakes Checking for
> function strlcat()... ok - in libkdefakes Checking for compiler version...
> (cached) msvc 7.1 (13.10.3077) Checking for uic : uic was
> found as J:\Qt4\bin\uic.exe Checking for uic-qt3 : uic3 was found
> as J:\Qt4\bin\uic3.exe Checking for moc : moc was found as
> J:\Qt4\bin\moc.exe Checking for rcc : rcc was found as
> J:\Qt4\bin\rcc.exe Checking for uic3 version : fine - Qt user
> interface compiler 4.0.1. Checking for the Qt4 includes : ok
> J:\Qt4\include Checking for libart2 ... no libart2 >= 2.3.8 not found
> (mandatory). Checking for libpcre ... no libpcre not found . Checking for
> C++ header file fam.h... no FAM not found. configuration done - run scons
> to compile now J:\kde4\kdelibs>
>
> ok so it fails because it can't find libart2, however I'm pretty sure it
> didn't even try to compile any of the tests it created.
Me and people who work on msvc target encounter the same. Please consider
things like 'no libart2' only as warnings, not configure error.
> This is what I found in config.log: file bksys\lowlevel.py,line 116:
> Configure(confdir = .sconf_temp) scons: Configure: Checking for function
> setenv()... .sconf_temp\conftest_0.cpp <- | |#include <stdlib.h> |int
> main() { | setenv("VAR", "VALUE", 1);; | return 0; |} | scons: Configure:
> Caught exception while building ".sconf_temp\conftest_0.obj":
>
> Traceback (most recent call last): File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Job.py", line 110, in
> start task.prepare() File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Taskmaster.py", line 110,
> in prepare self.exception_raise() File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Taskmaster.py", line 264,
> in _exception_raise self.tm.exception_raise(self.exc_info()) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Taskmaster.py", line 331,
> in _find_next_ready_node N), node.children()) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Node\__init__.py", line
> 844, in children self.scan() File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Node\__init__.py", line
> 535, in scan executor.scan_sources(self.builder.source_scanner) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Executor.py", line 185,
> in scan_sources self.scan(scanner, self.sources) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Executor.py", line 209,
> in scan scanner_path_list = map(add_scanner_path, scanner_list) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Executor.py", line 196,
> in <lambda> add_scanner_path = lambda t, s=self: \ File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Executor.py", line 101,
> in get_build_scanner_path return scanner.path(env, cwd, self.targets,
> self.sources) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Scanner\__init__.py",
> line 198, in path return self.path_function(env, dir, target, source) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Scanner\__init__.py",
> line 91, in __call__ path_tuple = tuple(env.fs.Rfindalldirs(path, dir))
> File "...\SCons\Memoizer-cache_get-lambda<Rfindalldirs>", line 4, in
> <lambda> File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Memoize.py", line 287, in
> Memoizer_cache_get rval = cdict[ckey] = apply(func, args, kw) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Node\FS.py", line 1092,
> in Rfindalldirs path, dir = self._transformPath(path, cwd) File
> "C:\Development\Libs\Python24\scons-0.96.91\SCons\Node\FS.py", line 996, in
> _transformPath return (os.path.normpath(name), directory) File
> "C:\Development\Libs\Python24\lib\ntpath.py", line 442, in normpath path =
> path.replace("/", "\\") AttributeError: 'list' object has no attribute
> 'replace' scons: Configure: ok - in libkdefakes
>
> .... and so on for the other tests too...
>
> and of course it doesn't create a Makefile.
>
> I'm trying to find and d/l libart, libpcre and FAM now,
Like above, let's ignote this for now.
> but I thought I'd
> ask you first to see if I would have any success trying to compile
> KDE/win32 as of yet. Should I wait a bit more? :)
As above: subscribing to these lists can be good idea:
https://mail.kde.org/mailman/listinfo/kde-windows and
https://mail.kde.org/mailman/listinfo/kde-buildsystem
--
regards / pozdrawiam,
Jaroslaw Staniek / OpenOffice Polska
Kexi Developer:
http://www.kexi-project.org | http://koffice.org/kexi
KDE3, KDE4 libraries for developing MS Windows applications:
http://wiki.kde.org/tiki-index.php?page=KDElibs+for+win32
More information about the Kde-buildsystem
mailing list