qt 4.5 emerge problem

Ralf Habacker ralf.habacker at freenet.de
Mon Mar 16 23:26:58 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.
>>
>>     
found reason for issue 4 -  Is is caused by not having set environment 
variable QMAKEPATH
After
    emerge --buildtype=Debug --update qt
fails I entered qt build root and run nmake to see if the compile 
continues - then the above mentioned  error happens. Running emerge 
--update did not work because it overwrote the patched Makefile and let 
me not come to this point because of earlier errors. 

Would it not make sense to have a emerge --make command which setups 
such hidden settings to allow easy make run ?

Ralf



More information about the Kde-windows mailing list