qt 4.5 emerge problem
Ralf Habacker
ralf.habacker at freenet.de
Mon Mar 16 22:25:28 CET 2009
Hi,
which recent qt-copy sources and recent emerge sources I got several
problems compiling qt.
1. fetching qt sources from svn does not work cased by the phonon/Phonon
name clash problem
in qt-4.5.0.20090213.py there is
def unpack( self ):
utils.cleanDirectory( self.workdir )
# unpack our two external dependencies
thirdparty_dir = os.path.join( self.workdir, "3rdparty" )
files = [ os.path.basename( self.openssl ) ]
files.append( os.path.basename( self.dbuslib ) )
if not utils.unpackFiles( self.downloaddir, files, thirdparty_dir ):
return False
# and now qt
if self.buildTarget == "4.4":
self.kdeSvnUnpack() or utils.die( "kdeSvnUnpack failed" )
else:
self.kdeSvnUnpack() or utils.die( "kdeSvnUnpack failed" )
# unpack all subdirs except 'include'
svnpath = os.path.join( self.kdesvndir, self.kdeSvnPath() )
The line after the last else
self.kdeSvnUnpack() or utils.die( "kdeSvnUnpack failed" )
tries to check out complete qt-copy, which fails - I guess this line
should probably checkout qt-copy top level dir without any subdir.
On my installation commenting out this line helps because the files in
the top level dir are already checked out.
The question is how to limit kdeSvnUnpack not to recurse into the sub
directory.
2. After configure applying the patches failed when py extension is not
registered
old
71: cmd = "apply_patches.py"
This issue could be fixed by the following change
71: cmd = "python apply_patches.py"
3. src\corelib compile error
E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005\bin\qmake
E:\downloads\kdesvn\trunk\qt-copy\src\corelib\corelib.pro -o Makefile
-spec win32-msvc2005
nmake -f Makefile
nmake -f Makefile.Debug
cl -c -Yc -Fptmp\obj\debug_shared\QtCored_pch.pch
-Fotmp\obj\debug_shared\QtCored_pch.obj -nologo -Zm200 -Zc:wchar_t- -Zi
-MDd -W3 -w34100 -w34189 -GR -EHsc -DQT_
SHARED -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT
-DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL
-DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_M
OC_COMPAT -D_USE_MATH_DEFINES -DHB_EXPORT=Q_CORE_EXPORT -DQT_DLL
-I"..\..\include"
-I"e:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\3rdparty\include"
-I"..\..\include\QtCore" -I"tmp\rcc\debug_shared" -I"tmp"
-I"e:\downloads\kdesvn\trunk\qt-copy\src\corelib\concurrent" -I"global"
-I"e:\downloads\kdesvn\trunk\qt-copy\src\3rdparty\zlib"
-I"e:\downloads\kdesvn\trunk\qt-copy\src\3rdparty\harfbuzz\src"
-I"..\..\include\ActiveQt" -I"tmp\moc\debug_shared"
-I"e:\downloads\kdesvn\trunk\qt-copy\src\corelib" -I"."
-I"e:\downloads\kdesvn\trunk\qt-copy\mkspecs\win32-msvc2005" -TP
e:\downloads\kdesvn\trunk\qt-copy\src\corelib\global\qt_pch.h qt_pch.h
NMAKE : fatal error U1073: don't know how to make
'..\downloads\kdesvn\trunk\qt-copy\src\qt3support\tools\q3cstring.h'
Stop.
emerge fatal error: os.system ( nmake ) failed
emerge fatal error: running python
e:\daten\kde\emerge-msvc-root\emerge\portage\libs\qt\qt-4.5.0.20090213.py
compile
emerge error: fatal error: package libs/qt-4.5.0.20090213 all failed
22:09
Digging into the related Makefile shows that the following line(s) isn't
generated correctly
src\corelib\Makefile.Debug
...
..\downloads\kdesvn\trunk\qt-copy\src\qt3support\tools\q3cstring.h \
...
The path layout is
buildroot = e:\daten\kde\emerge-msvc-root
srcroot = e:\downloads\kdesvn\trunk\qt-copy
changing the related lines to
e:\downloads\kdesvn\trunk\qt-copy\src\qt3support\tools\q3cstring.h \
fixes the compile problem.
4. qmake problem
E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005\bin\qmake
E:\downloads\kdesvn\trunk\qt-copy\src\xml\xml.pro -o Makefile -
spec win32-msvc2005
Could not find mkspecs for your QMAKESPEC(win32-msvc2005) after trying:
e:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\image-msvc2005\\mkspecs
Error processing project file:
E:/downloads/kdesvn/trunk/qt-copy/src/xml/xml.pro
NMAKE : fatal error U1077:
'E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005\bin\qmake'
: return code '0x3'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
Also setting QMAKESPEC by hand like shown below did not help
E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005>set
QMAKESPEC=E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005\mkspecs
The only workaround I found was setting -spec by hand
E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005\src\gui>qmake
E:\downloads\kdesvn\trunk\qt-copy\src\gui\gui.pro -o Makefile -spec
..\..\mkspecs\win32-msvc2005
Unfortunally then issue 3 was triggered again
E:\daten\kde\emerge-msvc-root\tmp\qt-4.5.0.20090213\work\qt-win-opensource-src-msvc2005\src\gui>nmake
nmake -f Makefile.Debug
NMAKE : fatal error U1073: don't know how to make
'..\downloads\kdesvn\trunk\qt-copy\src\qt3support\tools\q3cstring.h'
Stop.
which requires to manually edit the related Makefile.Debug
Any idea how to fix issue 1, 3 and 4 ?
Regards
Ralf
More information about the Kde-windows
mailing list