If I use Unix Makefiles as the generator and then execute make install.
First I get the error
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm:833:20: error: qualified reference to 'QFixed' is a constructor name rather than a type in this context
return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
And after removing the prefix QFixed::
I execute make install again and get a lot of errors, example:
[ 46%] Performing build step for 'qt5'
Makefile:2392: warning: overriding commands for target `../../lib/QtGui.framework/Versions/5/Headers/QGenericPlugin'
Makefile:2024: warning: ignoring old commands for target `../../lib/QtGui.framework/Versions/5/Headers/QGenericPlugin'
Makefile:2396: warning: overriding commands for target `../../lib/QtGui.framework/Versions/5/Headers/QGenericPluginFactory'
Makefile:2020: warning: ignoring old commands for target `../../lib/QtGui.framework/Versions/5/Headers/QGenericPluginFactory'
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/3rdparty/libjpeg/jccoefct.c:345:51: warning: unused parameter 'input_buf' [-Wunused-parameter]
compress_output (j_compress_ptr cinfo, JSAMPIMAGE input_buf)
^
1 warning generated.
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/3rdparty/libjpeg/jccolor.c:341:29: warning: unused parameter 'cinfo' [-Wunused-parameter]
null_method (j_compress_ptr cinfo)
^
1 warning generated.
ld: warning: linking against a dylib which is not safe for use in application extensions: /usr/local/lib/libpq.dylib
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/3rdparty/libjpeg/jcsample.c:84:39: warning: unused parameter 'cinfo' [-Wunused-parameter]
start_pass_downsample (j_compress_ptr cinfo)
^
1 warning generated.
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:235:9: error: unknown type name 'my_bool'
my_bool nullIndicator;
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:986:13: error: use of undeclared identifier 'my_bool'
QVector<my_bool> nullVector;
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/3rdparty/libjpeg/jctrans.c:272:51: warning: unused parameter 'input_buf' [-Wunused-parameter]
compress_output (j_compress_ptr cinfo, JSAMPIMAGE input_buf)
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1000:9: error: use of undeclared identifier 'nullVector'
nullVector.resize(values.count());
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1007:13: error: use of undeclared identifier 'nullVector'
nullVector[i] = static_cast<my_bool>(val.isNull());
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1007:41: error: unknown type name 'my_bool'
nullVector[i] = static_cast<my_bool>(val.isNull());
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1008:34: error: use of undeclared identifier 'nullVector'; did you mean 'nullptr'?
currBind->is_null = &nullVector[i];
^~~~~~~~~~
nullptr
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1008:33: error: cannot take the address of an rvalue of type 'nullptr_t'
currBind->is_null = &nullVector[i];
^~~~~~~~~~~
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1104:9: error: unknown type name 'my_bool'
my_bool update_max_length = true;
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:1315:5: error: unknown type name 'my_bool'
my_bool reconnect=false;
^
1 warning generated.
In file included from /Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:47:
In file included from /Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtSql/qsqlindex.h:1:
In file included from /Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtSql/../../src/sql/kernel/qsqlindex.h:46:
In file included from /Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtCore/qvector.h:1:
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qvector.h:415:24: error: too many arguments to function call, expected single argument 'sz', have 3 arguments
reallocData(asize, newAlloc, opt);
~~~~~~~~~~~ ^~~~~~~~~~~~~
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:399:12: note: in instantiation of member function 'QVector<QMYSQLResultPrivate::QMyField>::resize' requested here
fields.resize(mysql_num_fields(meta));
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qvector.h:296:5: note: 'reallocData' declared here
void reallocData(const int sz) { reallocData(sz, d->alloc); }
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qvector.h:296:54: error: too many arguments to function call, expected single argument 'sz', have 2 arguments
void reallocData(const int sz) { reallocData(sz, d->alloc); }
~~~~~~~~~~~ ^~~~~~~~
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qvector.h:415:5: note: in instantiation of member function 'QVector<QMYSQLResultPrivate::QMyField>::reallocData' requested here
reallocData(asize, newAlloc, opt);
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:399:12: note: in instantiation of member function 'QVector<QMYSQLResultPrivate::QMyField>::resize' requested here
fields.resize(mysql_num_fields(meta));
^
/Users/mv/Desktop/pv/build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qvector.h:296:5: note: 'reallocData' declared here
void reallocData(const int sz) { reallocData(sz, d->alloc); }
^
11 errors generated.
make[8]: *** [.obj/qsql_mysql.o] Error 1
make[7]: *** [sub-mysql-make_first] Error 2
make[6]: *** [sub-sqldrivers-make_first] Error 2
make[6]: *** Waiting for unfinished jobs....
I suspect that build failures will happen because when Apple changes things, Qt is quite sensitive to it, so newer macOS releases probably can’t build old Qt releases.