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

614f37c8b559a722538c58dd1f65229cfca7d35b breaks FreeBSD qtbase build

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • None
    • 5.5.0
    • Core: I/O
    • None
    • eea7791fd481403ee7ed5897da95860909cac1d6

    Description

      I just updated my qtbase 5.5 branch checkout and it no longer compiled on FreeBSD 10.1 with clang. I then ran a git bisect and in turns out that
      614f37c8b559a722538c58dd1f65229cfca7d35b (forkfd: make only one of forkfd or spawnfd be compiled) is the problematic commit. Reverting that fixed my build. I have very little experience with FreeBSD so I don't know what the correct fix for this is.

      This is the error message that is produced:

      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:437:
      /usr/include/c++/v1/cstdio:143:9: error: no member named 'snprintf' in the global namespace
      using ::snprintf;
      ~~^
      /usr/include/c++/v1/cstdio:148:9: error: no member named 'vfscanf' in the global namespace; did you mean 'fscanf'?
      using ::vfscanf;
      ~~^
      /usr/include/stdio.h:248:6: note: 'fscanf' declared here
      int fscanf(FILE * __restrict, const char * __restrict, ...);
      ^
      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:437:
      /usr/include/c++/v1/cstdio:149:9: error: no member named 'vscanf' in the global namespace
      using ::vscanf;
      ~~^
      /usr/include/c++/v1/cstdio:150:9: error: no member named 'vsscanf' in the global namespace; did you mean 'sscanf'?
      using ::vsscanf;
      ~~^
      /usr/include/stdio.h:268:6: note: 'sscanf' declared here
      int sscanf(const char * __restrict, const char * __restrict, ...);
      ^
      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:437:
      /usr/include/c++/v1/cstdio:153:9: error: no member named 'vsnprintf' in the global namespace
      using ::vsnprintf;
      ~~^
      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:438:
      In file included from /usr/include/c++/v1/cwchar:107:
      In file included from /usr/include/c++/v1/cwctype:54:
      /usr/include/c++/v1/cctype:71:9: error: no member named 'isblank' in the global namespace
      using ::isblank;
      ~~^
      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:438:
      /usr/include/c++/v1/cwchar:132:9: error: no member named 'vfwscanf' in the global namespace; did you mean 'fwscanf'?
      using ::vfwscanf;
      ~~^
      /usr/include/wchar.h:113:5: note: 'fwscanf' declared here
      int fwscanf(FILE * __restrict, const wchar_t * __restrict, ...);
      ^
      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:438:
      /usr/include/c++/v1/cwchar:133:9: error: no member named 'vswscanf' in the global namespace; did you mean 'swscanf'?
      using ::vswscanf;
      ~~^
      /usr/include/wchar.h:126:5: note: 'swscanf' declared here
      int swscanf(const wchar_t * __restrict, const wchar_t * __restrict, ...);
      ^
      In file included from io/forkfd_qt.cpp:43:
      In file included from io/qprocess_p.h:48:
      In file included from ../../include/QtCore/qprocess.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qprocess.h:37:
      In file included from ../../include/QtCore/qiodevice.h:1:
      In file included from ../../include/QtCore/../../src/corelib/io/qiodevice.h:39:
      In file included from ../../include/QtCore/qobject.h:1:
      In file included from ../../include/QtCore/../../src/corelib/kernel/qobject.h:41:
      In file included from ../../include/QtCore/qstring.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qstring.h:42:
      In file included from ../../include/QtCore/qbytearray.h:1:
      In file included from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45:
      In file included from /usr/include/c++/v1/string:438:
      /usr/include/c++/v1/cwchar:134:9: error: no member named 'vwscanf' in the global namespace
      using ::vwscanf;
      ~~^
      /usr/include/c++/v1/cwchar:150:9: error: no member named 'wcstof' in the global namespace
      using ::wcstof;
      ~~^
      /usr/include/c++/v1/cwchar:151:9: error: no member named 'wcstold' in the global namespace
      using ::wcstold;
      ~~^
      /usr/include/c++/v1/cwchar:155:9: error: no member named 'wcstoll' in the global namespace
      using ::wcstoll;
      ~~^
      /usr/include/c++/v1/cwchar:159:9: error: no member named 'wcstoull' in the global namespace; did you mean 'wcstoul'?
      using ::wcstoull;
      ~~^
      /usr/include/wchar.h:161:3: note: 'wcstoul' declared here
      wcstoul(const wchar_t * __restrict, wchar_t ** __restrict, int);
      ^
      In file included from io/forkfd_qt.cpp:80:
      io/../../3rdparty/forkfd/forkfd.c:40:11: warning: '_POSIX_C_SOURCE' macro redefined

      1. define _POSIX_C_SOURCE 200809L
        ^
        /usr/include/sys/cdefs.h:667:9: note: previous definition is here
        #define _POSIX_C_SOURCE 199506
        ^
        1 warning and 13 errors generated.
        Makefile:25984: recipe for target '.obj/forkfd_qt.o' failed
        gmake[2]: *** [.obj/forkfd_qt.o] Error 1
        gmake[2]: Leaving directory '/usr/home/alex/kf5/source/qtbase/src/corelib'
        Makefile:141: recipe for target 'sub-corelib-make_first' failed
        gmake[1]: *** [sub-corelib-make_first] Error 2
        gmake[1]: Leaving directory '/usr/home/alex/kf5/source/qtbase/src'
        Makefile:45: recipe for target 'sub-src-make_first' failed
        gmake: *** [sub-src-make_first] Error 2

      Attachments

        For Gerrit Dashboard: QTBUG-45006
        # Subject Branch Project Status CR V

        Activity

          People

            thiago Thiago Macieira
            arichardson Alex Richardson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes