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