Unsolved macOS Big Sur and Database driver
-
@jsulm , yes, sorry, you are quite correct.
-
@jsulm , I added:
INCLUDEPATH += /usr/local/include
To sqldrivers.pro and removed all the config:
rm -R config.*
Then ran:
$QTDIRBIN/qmake -- MYSQL_INCDIR="/usr/local/Cellar/mariadb/10.5.8/include/mysql" "MYSQL_LIBDIR=/usr/local/Cellar/mariadb/10.5.8/lib" MYSQL_LIBS="-lmariadb" make make install
config.log still shows:
> main.cpp:2:10: fatal error: 'sybfront.h' file not found > #include <sybfront.h> > ^~~~~~~~~~~~ > 1 error generated. > make: *** [main.o] Error 1 => source failed verification. test config.sqldrivers.libraries.tds FAILED
-
@SPlatten From a clean state (no build artefacts from previous attempt)?
-
@jsulm , can you elaborate please?
-
@SPlatten You already tried to build before, right? That means there are build artefacts (like object files, Makefile, ...). You should make sure you delete all these build artefacts before trying again...
Even better are out-of-source builds (create a build folder, go there and call qmake from there). -
@jsulm I just did:
make clean
From:
/Users/sy/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers
Result was:
rm -f .moc/moc_predefs.h rm -f .moc/moc_qsql_mysql_p.cpp rm -f .moc/main.moc rm -f .obj/qsql_mysql.o .obj/main.o .obj/moc_qsql_mysql_p.o rm -f *~ core *.core cd sqlite/ && ( test -e Makefile || /Users/sy/Qt/5.15.2/clang_64/bin/qmake -o Makefile /Users/sy/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/sqlite/sqlite.pro ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile clean rm -f .moc/moc_predefs.h rm -f .moc/moc_qsql_sqlite_p.cpp rm -f .moc/smain.moc rm -f .obj/qsql_sqlite.o .obj/smain.o .obj/sqlite3.o .obj/moc_qsql_sqlite_p.o rm -f *~ core *.core
Then rerun:
$QTDIRBIN/qmake -- MYSQL_INCDIR="/usr/local/Cellar/mariadb/10.5.8/include/mysql" "MYSQL_LIBDIR=/usr/local/Cellar/mariadb/10.5.8/lib" MYSQL_LIBS="-lmariadb" make make install
And waited for build to finish. Same result, log file still reports:
> Project WARNING: Qt has only been tested with version 10.15 of the platform SDK, you're using 11.1. > Project WARNING: This is an unsupported configuration. You may experience build issues, and by using > Project WARNING: the 11.1 SDK you are opting in to new features that Qt has not been prepared for. > Project WARNING: Please downgrade the SDK you use to build your app to version 10.15, or configure > Project WARNING: with CONFIG+=sdk_no_version_check when running qmake to silence this warning. + cd /Users/sy/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/config.tests/tds && MAKEFLAGS= make > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -mmacosx-version-min=10.13 -w -fPIC -I. -I/usr/local/opt/openssl/include -I/Users/sy/Qt/5.15.2/clang_64/mkspecs/macx-clang -o main.o main.cpp > main.cpp:2:10: fatal error: 'sybfront.h' file not found > #include <sybfront.h> > ^~~~~~~~~~~~ > 1 error generated. > make: *** [main.o] Error 1 => source failed verification. test config.sqldrivers.libraries.tds FAILED
-
@SPlatten said in macOS Big Sur and Database driver:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -mmacosx-version-min=10.13 -w -fPIC -I. -I/usr/local/opt/openssl/include -I/Users/sy/Qt/5.15.2/clang_64/mkspecs/macx-clang -o main.o main.cpp
According to this compiler invocation /usr/local/include was not passed as additional include directory...
-
@jsulm I tried adding another symbolic link to the sqldrivers folder, still same result, where did your output come from?
-
@SPlatten said in macOS Big Sur and Database driver:
where did your output come from?
It's the output you posted...
-
@SPlatten Take a look at this: https://forum.qt.io/topic/39337/qt-5-2-1-mysql-sql-driver-installieren-solved/10
You can see how you can define additional include directories when calling qmake (and also libs). -
This post is deleted! -
@SPlatten It's German. But the relevant part is: ""INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib""
So, in your case: "INCLUDEPATH+=/usr/local/include" "LIBS+=/usr/local/lib" -
@jsulm , thank you.
-
@jsulm said in macOS Big Sur and Database driver:
INCLUDEPATH+=/usr/local/include" "LIBS+=/usr/local/lib"
Ok, so started off from:
rm -R config.* make clean $QTDIRBIN/qmake -- MYSQL_INCDIR="/usr/local/Cellar/mariadb/10.5.8/include/mysql" MYSQL_LIBDIR=“/usr/local/Cellar/mariadb/10.5.8/lib" MYSQL_LIBS="-lmariadb" "INCLUDEPATH+=/usr/local/include" "LIBS+=/usr/local/lib” make make install
Same result, config.log:
> Project WARNING: Qt has only been tested with version 10.15 of the platform SDK, you're using 11.1. > Project WARNING: This is an unsupported configuration. You may experience build issues, and by using > Project WARNING: the 11.1 SDK you are opting in to new features that Qt has not been prepared for. > Project WARNING: Please downgrade the SDK you use to build your app to version 10.15, or configure > Project WARNING: with CONFIG+=sdk_no_version_check when running qmake to silence this warning. + cd /Users/sy/Qt/5.15.2/Src/qtbase/src/plugins/sqldrivers/config.tests/tds && MAKEFLAGS= make > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -mmacosx-version-min=10.13 -w -fPIC -I. -I/usr/local/opt/openssl/include -I/Users/sy/Qt/5.15.2/clang_64/mkspecs/macx-clang -o main.o main.cpp > main.cpp:2:10: fatal error: 'sybfront.h' file not found > #include <sybfront.h> > ^~~~~~~~~~~~ > 1 error generated. > make: *** [main.o] Error 1 => source failed verification. test config.sqldrivers.libraries.tds FAILED
-
Hi,
Since you are only interested in the MySQL driver, why do you care about the TDS checks errors ?
This will just disable the TDS plugin build.
-
@SGaist , thank you, somewhere along the line I now have a working driver.