Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
None
-
5.5.0
-
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
- 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 |
108586,2 | Fix build of forkfd_qt.cpp on FreeBSD | 5.5 | qt/qtbase | Status: MERGED | +2 | 0 |