#47 Compilation error Qt 5.2.1 MinGW-w64 4.8.2 QuaZIP 0.6.2 statically

v1.0_(example)
closed
nobody
None
5
2014-11-19
2014-03-08
hilt2
No

Hi,

QuaZIP build fails for me with the following error:
/../src/corelib/global/qsystemdetection.h: No such file or directory

Qt 5.2.1
Windows 7/64 bit
MinGW-w64 4.8.2
QuaZIP 0.6.2
static compilation

Thank You

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>echo This script builds zlib using mingw-w64 for the 64 bit Windows stat
ically
This script builds zlib using mingw-w64 for the 64 bit Windows statically

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>cd "C:\Users\t\projects\windows-package-manager.npackd-scripts\build-pac
kages\"

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set name=QuaZIP-static-x86_64-w32-0.6.2

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set onecmd="C:\ProgramFiles\NpackdCL-1.18.7\npackdcl.exe" path "--packag
e=mingw-w64-x86_64-seh-posix" "--versions=[4.8.2, 4.8.2]"

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>for /F "usebackq delims=" %x in (%onecmd%) do set mingww64=%x

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set mingww64=C:\ProgramFiles\MinGW-w64_x86_64_SEH_POSIX_threads

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set onecmd="C:\ProgramFiles\NpackdCL-1.18.7\npackdcl.exe" path "--packag
e=net.sourceforge.quazip.QuaZIPSource" "--versions=[0.6.2, 0.6.2]"

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>for /F "usebackq delims=" %x in (%onecmd%) do set quazipsource=%x

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set quazipsource=C:\ProgramFiles\QuaZIP_source

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set qt=C:\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>rem QuaZIP searches for -lz.dll...

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>rem copy zlib-i686-w32-1.2.5\libzdll.a zlib-i686-w32-1.2.5\libz.dll.a

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set zlib=C:\Users\t\projects\windows-package-manager.npackd-scripts\buil
d-packages\zlib32static

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>set path=C:\ProgramFiles\MinGW-w64_x86_64_SEH_POSIX_threads\bin

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages>cd QuaZIP-static-x86_64-w32-0.6.2\quazip

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\QuaZIP-static-x86_64-w32-0.6.2\quazip>"C:\ProgramFiles\MinGW-w64_x86_64_
SEH_POSIX_threads\bin\mingw32-make.exe"
C:/ProgramFiles/MinGW-w64_x86_64_SEH_POSIX_threads/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory 'C:/Users/t/projects/windows-package-manager.npackd-scripts/build-packages/QuaZIP-static-x86_64-w32-0.6.2/quaz
ip'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra -frtti -fexceptions -mthreads -DUNICODE -DQUAZIP_BUILD -DQUAZIP_STATIC -DNOMINMAX -DQT_N
O_DEBUG -DQT_CORE_LIB -I. -I"....\zlib32static" -I"." -I"..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtba
se\include" -I"..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore" -I"release" -I"......\ ........\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\mkspecs\win32-g++" -o release\qioapi.o qioapi.cpp
g++ -c -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra -frtti -fexceptions -mthreads -DUNICODE -DQUAZIP_BUILD -DQUAZIP_STATIC -DNOMINMAX -DQT_N
O_DEBUG -DQT_CORE_LIB -I. -I"....\zlib32static" -I"." -I"..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtba
se\include" -I"..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore" -I"release" -I"......\ ........\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\mkspecs\win32-g++" -o release\JlCompress.o JlCompress.cpp
g++ -c -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra -frtti -fexceptions -mthreads -DUNICODE -DQUAZIP_BUILD -DQUAZIP_STATIC -DNOMINMAX -DQT_N
O_DEBUG -DQT_CORE_LIB -I. -I"....\zlib32static" -I"." -I"..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtba
se\include" -I"..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore" -I"release" -I"......\ ........\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\mkspecs\win32-g++" -o release\quaadler32.o quaadler32.cpp
In file included from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/../../src/corelib/
global/qglobal.h:69:0,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qglobal.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/../../src/corelib/
tools/qchar.h:45,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qchar.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore/../../src/corelib/
tools/qstring.h:45,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore/qstring.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore/QString:1,
from quazip.h:28,
from JlCompress.h:29,
from JlCompress.cpp:26:
..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qsystemdetection.h:1:55: fatal error: ..
/../src/corelib/global/qsystemdetection.h: No such file or directory
#include "../../src/corelib/global/qsystemdetection.h"
^
compilation terminated.
In file included from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/../../src/corelib/
global/qglobal.h:69:0,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qglobal.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/../../src/corelib/
thread/qatomic.h:42,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qatomic.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/../../src/corelib/
tools/qrefcount.h:45,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qrefcount.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore/../../src/corelib/
tools/qbytearray.h:45,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore/qbytearray.h:1,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include\QtCore/QByteArray:1,
from quaadler32.h:29,
from quaadler32.cpp:26:
..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qsystemdetection.h:1:55: fatal error: ..
/../src/corelib/global/qsystemdetection.h: No such file or directory
#include "../../src/corelib/global/qsystemdetection.h"
^
compilation terminated.
In file included from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/../../src/corelib/
global/qglobal.h:69:0,
from ..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qglobal.h:1,
from quazip_global.h:28,
from qioapi.cpp:17:
..............\NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtbase\include/QtCore/qsystemdetection.h:1:55: fatal error: ..
/../src/corelib/global/qsystemdetection.h: No such file or directory
#include "../../src/corelib/global/qsystemdetection.h"
^
compilation terminated.
Makefile.Release:856: recipe for target 'release/JlCompress.o' failed
mingw32-make[1]: [release/JlCompress.o] Error 1
mingw32-make[1]:
Waiting for unfinished jobs....
Makefile.Release:950: recipe for target 'release/quaadler32.o' failed
mingw32-make[1]: [release/quaadler32.o] Error 1
Makefile.Release:671: recipe for target 'release/qioapi.o' failed
mingw32-make[1]:
[release/qioapi.o] Error 1
mingw32-make[1]: Leaving directory 'C:/Users/t/projects/windows-package-manager.npackd-scripts/build-packages/QuaZIP-static-x86_64-w32-0.6.2/quazi
p'
Makefile:34: recipe for target 'release' failed
mingw32-make: *** [release] Error 2

C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\QuaZIP-static-x86_64-w32-0.6.2\quazip>pause
Drücken Sie eine beliebige Taste . . .

Discussion

  • Whoa. That's weird. Look at quaadler32.cpp for example. The only thing it does is include quaadler32.h, which in turn includes QByteArray and BAM! Does anything at all compile with your Qt setup? Does this kind of thing happen only with QuaZIP?

     
  • hilt2
    hilt2
    2014-03-08

    here is how I compiled Qt. Maybe this helps:

    configure.bat -opensource -confirm-license -release -static -no-opengl -no-angle -no-vcproj -no-dbus -nomake tools -nomake examples -nomake tests -no-style-fusion -qt-style-windowsvista -qt-style-windowsxp

     
  • Wait a minute. Can you compile any Qt project? Also, where did you get the Makefile for QuaZIP? I don't see a qmake call anywhere. It looks more like a problem with your setup rather than a bug in QuaZIP. It's hard to imagine a bug where a simple #include <QString> would break everything, especially if it's the first include in the file.

     
  • hilt2
    hilt2
    2014-03-08

    I called qmake before.

    qtbase\examples\gui\analogclock\release works...

    Could this be a problem with new style of includes like this:

    include <QtCore Q....="">

    ?

     
  • hilt2
    hilt2
    2014-03-08

    I mean like this:

    #include <QtCore/Q...>
    
     
  • hilt2
    hilt2
    2014-03-08

    now the error changed. I hate this stuff:

    C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\QuaZIP-static-x86_64-w32-0.6.2\quazip>C:\NpackdSymlinks\com.nokia.QtDev-
    x86_64-w64-Npackd-Release-5.2.1\qtbase\bin\qmake.exe CONFIG+=staticlib CONFIG+=release INCLUDEPATH="C:\Users\t\projects\windows-package-manager.np
    ackd-scripts\build-packages\zlib32static" LIBS+=-L"C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\zlib32static"

    C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\QuaZIP-static-x86_64-w32-0.6.2\quazip>echo 0
    0

    C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\QuaZIP-static-x86_64-w32-0.6.2\quazip>"C:\ProgramFiles\MinGW-w64_x86_64_
    SEH_POSIX_threads\bin\mingw32-make.exe"
    mingw32-make: *** No rule to make target '../../../../../../../NpackdSymlinks/com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1/qtbase/mkspecs/modul
    es-inst/qt_lib_multimediawidgets_private.pri', needed by 'Makefile'. Stop.

     
  • But you have both -I"...NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtba
    se\include" and -I"...NpackdSymlinks\com.nokia.QtDev-x86_64-w64-Npackd-Release-5.2.1\qtba
    se\include\QtCore" in your GCC call. So it should work either way, <QtCore/QString> or just <QString>.

    analogclock probably works because it's inside the Qt build tree. Try to compile a totally separate hello world kind of project. There's something terribly wrong with your Qt setup.

     
    Last edit: Sergey A. Tachenov 2014-03-09
  • hilt2
    hilt2
    2014-03-10

    OK. It is time to solve it. The path was too long (or too nested?) and 'make' could not cope with it.

    Build in C:\Users\t\projects\windows-package-manager.npackd-scripts\build-packages\QuaZIP-static-x86_64-w32-0.6.2 fails.

    Build in C:\NpackdSymlinks\QuaZIP-static-x86_64-w32-0.6.2 works.

    Have I mentioned that I hate stuff like this? ;-)

    Thank You very much

     
    • status: open --> closed