qt 4.5 emerge problem

Ralf Habacker ralf.habacker at freenet.de
Mon Mar 16 23:14:47 CET 2009


Christian Ehrlicher schrieb:
> Ralf Habacker schrieb:
>   
>> 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 ?
>>
>>     
> Remove old qt-copy checkout and try again.
>   
issue 1 is gone - the reason was that simply removing the include subdir 
does not help because the include path is still in the svn checkout 
information, which let the first checkout command fail - thanks.

issue 3 is still there now with a different file  name

cd src\corelib\ && nmake -f Makefile
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_MOC_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\coreli
b" -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\corelib\io\qiodevice.h'

The error could be fixed by changing the related path in Makefile.debug to
'e:\downloads\kdesvn\trunk\qt-copy\src\corelib\io\qiodevice.h'

Ralf



More information about the Kde-windows mailing list