Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-57437

[MSYS2] forward headers not created correctly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4: Low P4: Low
    • None
    • 5.8.0 Beta
    • Build System
    • None

      On MSYS2, the creation of forward header with the syncqt.pl script fails on <srcbase>/src/corelib/tools/
      The output I get at build time is:

      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/animation/ { qabstractanimation.h (2), qanimationgroup.h (1), qparallelanimationgroup.h (1), qpauseanimation.h (1), qpropertyanimation.h (1), qsequentialanimationgroup.h (1), qvariantanimation.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/arch/ { qatomic_msvc.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/codecs/ { qtextcodec.h (2) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/global/ { qflags.h (1), qlibraryinfo.h (1), qlogging.h (2), qnamespace.h (1), qsysinfo.h (1), qtypeinfo.h (2) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/io/ { qbuffer.h (1), qdatastream.h (1), qdebug.h (2), qdir.h (1), qdiriterator.h (1), qfile.h (1), qfiledevice.h (1), qfileinfo.h (1), qfileselector.h (1), qfilesystemwatcher.h (1), qlockfile.h (1), qprocess.h (3), qresource.h (1), qsavefile.h (1), qstorageinfo.h (1), qtemporarydir.h (1), qtemporaryfile.h (1), qtextstream.h (1), qurl.h (2), qurlquery.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/itemmodels/ { qabstractitemmodel.h (6), qabstractproxymodel.h (1), qidentityproxymodel.h (1), qitemselectionmodel.h (2), qsortfilterproxymodel.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/json/ { qjsonarray.h (1), qjsondocument.h (2), qjsonobject.h (1), qjsonvalue.h (3) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/kernel/ { qabstractnativeeventfilter.h (1), qbasictimer.h (1), qcoreapplication.h (1), qcoreevent.h (4), qeventloop.h (2), qmetaobject.h (3), qmetatype.h (1), qmimedata.h (1), qobject.h (3), qobjectdefs.h (6), qpointer.h (1), qsharedmemory.h (1), qsignalmapper.h (1), qsocketnotifier.h (1), qsystemsemaphore.h (1), qtranslator.h (1), qvariant.h (3), qwineventnotifier.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/mimetypes/ { qmimedatabase.h (1), qmimetype.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/plugin/ { qlibrary.h (1), qplugin.h (2), qpluginloader.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/statemachine/ { qabstractstate.h (1), qabstracttransition.h (1), qeventtransition.h (1), qfinalstate.h (1), qhistorystate.h (1), qsignaltransition.h (1), qstate.h (1), qstatemachine.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/thread/ { qatomic.h (1), qbasicatomic.h (2), qexception.h (1), qfuture.h (1), qfutureinterface.h (2), qfuturewatcher.h (2), qgenericatomic.h (2), qmutex.h (3), qreadwritelock.h (3), qsemaphore.h (1), qthreadpool.h (1), qwaitcondition.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/tools/ { qarraydata.h (1), qbitarray.h (2), qbytearray.h (3), qbytearraylist.h (1), qbytearraymatcher.h (1), qchar.h (2), qcollator.h (2), qcommandlineoption.h (1), qcommandlineparser.h (1), qcontiguouscache.h (2), qcryptographichash.h (1), qdatetime.h (3), qeasingcurve.h (1), qhash.h (3), qline.h (2), qlinkedlist.h (2), qlist.h (3), qlocale.h (1), qmap.h (6), qmargins.h (2), qmessageauthenticationcode.h (1), qregexp.h (1), qregularexpression.h (3), qscopedpointer.h (4), qshareddata.h (3), qsharedpointer.h (2), qstring.h (6), qstringbuilder.h (4), qstringlist.h (2), qstringmatcher.h (1), qtextboundaryfinder.h (1), qtimeline.h (1), qtimezone.h (1), qvector.h (1) }
      QtCore: created fwd-include header(s) for <srcbase>/src/corelib/xml/ { qxmlstream.h (10) }
      

      but when reaching qtbase/src/corelib/tools/qsimd.cpp I get

      g++ -c -include .pch/release/qt_pch.h -pipe -fno-keep-inline-dllexport -msse2 -mstackrealign -mfpmath=sse -O2 -std=c++1z -fexceptions -mthreads -frtti -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -DUNICODE -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DWINVER=0x600 -D_WIN32_WINNT=0x0600 -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_DEBUG -I. -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty/double-conversion/include -I../3rdparty/double-conversion/include/double-conversion -I../../include -I../../include/QtCore -I../../include/QtCore/5.8.0 -I../../include/QtCore/5.8.0/QtCore -Itmp -I.moc/release -I../../mkspecs/win32-g++  -o .obj/release/qsimd.o tools/qsimd.cpp
      tools/qsimd.cpp:43:22: fatal error: QByteArray: No such file or directory
      

      In fact the QByteArray forward include file is not there, despite many others are created correctly.
      The patch on syncqt.pl proposed by the MSYS2 guys is the following:

      --- a/qtbase/bin/syncqt.pl	2014-05-02 23:02:57.995360800 +0100
      +++ b/qtbase/bin/syncqt.pl	2014-05-02 23:03:59.474877200 +0100
      @@ -214,6 +214,7 @@
           push @ret, split(/,/, $classname) if ($classname);
       
           my $parsable = "";
      +    local $/ = "\n";
           if(open(F, "<$iheader")) {
               while(<F>) {
                   my $line = $_;
      

      which still applies to Qt 5.8 and which allows the build process to proceed without failures

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            buddenha Oswald Buddenhagen
            mcallegari79 Massimo Callegari
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes