hi, so what's remain. i still not be able to rebuild qtlockedfile (which is not needed for me:-) since it's use %{_qt4_qmake} -spec win32-g++-cross which should have to be %mingw32_qmake_qt4 but they both use %{_qt4_qmake} which is defined in the native qt-x11 pacakge (why the qt rpm macros defined in qt-x11??? imho it's a bug). but even if i add BuildRequires: qt-x11 i've got: ---------------------------------------- + /usr/lib/qt4/bin/qmake -spec win32-g++-fedora-cross Could not find mkspecs for your QMAKESPEC(win32-g++-fedora-cross) after trying: /usr/lib/qt4/mkspecs Error processing project file: /builddir/build/BUILD/qtlockedfile-2.4_1-opensource/qtlockedfile.pro ---------------------------------------- the problem is in mingw-qt-qmake. since it's put mingw32-qt-qmake has fedora-win32-cross win32-g++-cross but don't have win32-g++-fedora-cross. if i use the in spec file version win32-g++-cross then another problem happened during build: ---------------------------------- make[2]: Entering directory `/builddir/build/BUILD/qtlockedfile-2.4_1-opensource/buildlib' i686-w64-mingw32-g++ -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -mms-bitfields -O2 -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -I"/usr/i686-w64-mingw32/sys -root/mingw/include/QtCore" -I"/usr/i686-w64-mingw32/sys-root/mingw/include" -I"../src" -I"release" -I"/usr/lib/qt4/mkspecs/win32-g++-cross" -o release/qtlockedfile.o ../src/qtlockedfile.cpp i686-w64-mingw32-g++ -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -mms-bitfields -O2 -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -I"/usr/i686-w64-mingw32/sys -root/mingw/include/QtCore" -I"/usr/i686-w64-mingw32/sys-root/mingw/include" -I"../src" -I"release" -I"/usr/lib/qt4/mkspecs/win32-g++-cross" -o release/qtlockedfile_unix.o ../src/qtlockedfile_unix.cpp ../src/qtlockedfile_unix.cpp: In member function 'bool QtLockedFile::lock(QtLockedFile::LockMode, bool)': ../src/qtlockedfile_unix.cpp:70:18: error: aggregate 'QtLockedFile::lock(QtLockedFile::LockMode, bool)::flock fl' has incomplete type and cannot be defined ../src/qtlockedfile_unix.cpp:74:38: error: 'F_RDLCK' was not declared in this scope ../src/qtlockedfile_unix.cpp:74:48: error: 'F_WRLCK' was not declared in this scope ../src/qtlockedfile_unix.cpp:75:23: error: 'F_SETLKW' was not declared in this scope ../src/qtlockedfile_unix.cpp:75:34: error: 'F_SETLK' was not declared in this scope ../src/qtlockedfile_unix.cpp:76:39: error: 'fcntl' was not declared in this scope ../src/qtlockedfile_unix.cpp: In member function 'bool QtLockedFile::unlock()': ../src/qtlockedfile_unix.cpp:100:18: error: aggregate 'QtLockedFile::unlock()::flock fl' has incomplete type and cannot be defined ../src/qtlockedfile_unix.cpp:104:17: error: 'F_UNLCK' was not declared in this scope ../src/qtlockedfile_unix.cpp:105:31: error: 'F_SETLKW' was not declared in this scope ../src/qtlockedfile_unix.cpp:105:44: error: 'fcntl' was not declared in this scope make[2]: *** [release/qtlockedfile_unix.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/builddir/build/BUILD/qtlockedfile-2.4_1-opensource/buildlib' make[1]: *** [release] Error 2 make[1]: Leaving directory `/builddir/build/BUILD/qtlockedfile-2.4_1-opensource/buildlib' make: *** [sub-buildlib-make_default-ordered] Error 2 ----------------------------------
Farkas Levente schreef op wo 22-06-2011 om 10:45 [+0200]:
i still not be able to rebuild qtlockedfile (which is not needed for me:-)
Hi,
The mingw-qtlockedfile and mingw-qtsingleapplication packages were just an experiment of mine and I don't have plans to propose it for inclusion in Fedora, so nothing will be lost if you can't get them to build.
Anyway, the macros mingw32_qmake_qt4 and mingw64_qmake_qt4 both referred to an invalid mkspecs name. I've just fixed this in the testing repo
but they both use %{_qt4_qmake} which is defined in the native qt-x11 pacakge (why the qt rpm macros defined in qt-x11??? imho it's a bug).
Sound like a bug to me too. I recommend you to file a bugreport for this
if i use the in spec file version win32-g++-cross then another problem happened during build:
make[2]: Entering directory `/builddir/build/BUILD/qtlockedfile-2.4_1-opensource/buildlib' i686-w64-mingw32-g++ -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -mms-bitfields -O2 -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -I"/usr/i686-w64-mingw32/sys -root/mingw/include/QtCore" -I"/usr/i686-w64-mingw32/sys-root/mingw/include" -I"../src" -I"release" -I"/usr/lib/qt4/mkspecs/win32-g++-cross" -o release/qtlockedfile.o ../src/qtlockedfile.cpp i686-w64-mingw32-g++ -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -mms-bitfields -O2 -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -I"/usr/i686-w64-mingw32/sys -root/mingw/include/QtCore" -I"/usr/i686-w64-mingw32/sys-root/mingw/include" -I"../src" -I"release" -I"/usr/lib/qt4/mkspecs/win32-g++-cross" -o release/qtlockedfile_unix.o ../src/qtlockedfile_unix.cpp
<snip>
Are you sure that you've used the mkspecs name 'win32-g++-cross'? It looks like it was trying to compile a unix-specific file which is an indication that the platform guessing (based on the mkspecs name) didn't work.
Kind regards,
Erik van Pienbroek