Unsolved Problems Building MySql plugin on Mac M1 Qt 6.1.2
-
@Christian-Ehrlicher OK, I can see a file CMakeError.log and there is an issue with gcc. What does the mean? Do I have to download something else or is it already somewhere on my system?
Checking whether the ASM compiler is GNU using "--version" did not match "(GNU assembler)|(GCC)|(Free Software Foundation)": Apple clang version 12.0.5 (clang-1205.0.22.11) Target: arm64-apple-darwin20.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin Compiling the OBJC compiler identification source file "CMakeOBJCCompilerId.m" failed. Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang Build flags: Id flags: The output was: 1 ld: library not found for -lSystem clang: error: linker command failed with exit code 1 (use -v to see invocation) Compiling the OBJCXX compiler identification source file "CMakeOBJCXXCompilerId.mm" failed. Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ Build flags: Id flags: The output was: 1 ld: library not found for -lc++ clang: error: linker command failed with exit code 1 (use -v to see invocation) Performing C++ SOURCE FILE Test HAVE_DASH_DASH_NO_UNDEFINED failed with the following output: Change Dir: /Users/vinceieraci/Qt/6.1.2/Src/qtbase/src/plugins/build-sqldrivers/CMakeFiles/CMakeTmp Run Build Command(s):/opt/local/bin/ninja cmTC_bead5 && [1/2] Building CXX object CMakeFiles/cmTC_bead5.dir/src.cxx.o [2/2] Linking CXX executable cmTC_bead5 FAILED: cmTC_bead5 : && /usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -mmacosx-version-min=10.14 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,--no-undefined CMakeFiles/cmTC_bead5.dir/src.cxx.o -o cmTC_bead5 && : ld: unknown option: --no-undefined clang: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. Source file was: int main() {}
-
I don't see what CMakeError.log has to do with it - the configuration stage is fine. Now you only have to compile it as already said two times - giving up...
-
@Christian-Ehrlicher Thanks for helping.
-
So is it that the ASM compiler doesn't match the required gcc version?
I've installed gcc-11 using brew and it's first in the $PATH variable, but it's still defaulting ti the Xcode clang version. -
Is it so hard to simply type
make
to actually build to sources?? -
@Christian-Ehrlicher I've done that, this is what I get...
% make
make: *** No targets specified and no makefile found. Stop.
-
@Vince2480 said in Problems Building MySql plugin on Mac M1 Qt 6.1.2:
/Users/vinceieraci/Qt/6.1.2/Src/qtbase/src/plugins/build-sqldrivers
In this directory? I doubt so - configure worked fine so there must be a Makefile or something similar.
-
@Christian-Ehrlicher No, configure didn't.
I want to check we're on the same track.
The first step was:qt-cmake -G"Ninja" /users/vinceieraci/qt/6.1.2/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/users/vinceieraci/qt/6.1.2/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
I think that's what you're referring to the configure step, and although the terminal output indicated success, it generated the error log that I posted earlier.
-
@Vince2480 The Cake call WAS successful (according to your own Make output you posted). Forget the error log.
Do you call make in this folder: /Users/vinceieraci/Qt/6.1.2/Src/qtbase/src/plugins/build-sqldrivers ? -
Hi,
Just to be sure we are all one the same path: Qt 6 documentation:
mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G"Ninja" <qt_installation_path>/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.<so|dylib>" qt-cmake --build . qt-cmake --install
Where did you create build-sqldrivers ?
Did you properly CS into it ? -
Thank you everyone so much for staying with me. At age 70, my brain skips what is so obvious, so I’ve spent the last couple of days going over everything I’ve done, and from what I can see, it’s all to the doc.
I’ll detail everything and I hope it will answer everything you're asking me.
This is my default zsh shell path:
vinceieraci@Vinces-MBP2 sqldrivers % echo $PATH /opt/local/bin:/opt/local/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:
Then I add:
vinceieraci@Vinces-MBP2 sqldrivers export PATH=$PATH:/users/vinceieraci/Qt/6.1.2/macos/bin
Now start the steps:
vinceieraci@Vinces-MBP2 sqldrivers % mkdir build-sqldrivers vinceieraci@Vinces-MBP2 sqldrivers % cd build-sqldrivers vinceieraci@Vinces-MBP2 build-sqldrivers % qt-cmake -G"Ninja" /users/vinceieraci/qt/6.1.2/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/users/vinceieraci/qt/6.1.2/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
Files created:
vinceieraci@Vinces-MBP2 build-sqldrivers % ls -l
total 272
-rw-r--r-- 1 vinceieraci staff 47968 5 Aug 09:37 CMakeCache.txt
drwxr-xr-x 13 vinceieraci staff 416 5 Aug 09:37 CMakeFiles
-rw-r--r-- 1 vinceieraci staff 387 5 Aug 09:37 CTestTestfile.cmake
-rw-r--r-- 1 vinceieraci staff 71821 5 Aug 09:37 build.ninja
-rw-r--r-- 1 vinceieraci staff 2034 5 Aug 09:37 cmake_install.cmake
-rw-r--r-- 1 vinceieraci staff 387 5 Aug 09:37 config.summary
drwxr-xr-x 3 vinceieraci staff 96 5 Aug 09:37 lib
drwxr-xr-x 6 vinceieraci staff 192 5 Aug 09:37 mysql
drwxr-xr-x 3 vinceieraci staff 96 5 Aug 09:37 plugins
-rw-r--r-- 1 vinceieraci staff 0 5 Aug 09:37 qtsqldrivers-config.h
-rw-r--r-- 1 vinceieraci staff 261 5 Aug 09:37 qtsqldrivers-config_p.h
drwxr-xr-x 6 vinceieraci staff 192 5 Aug 09:37 sqliteHence:
vinceieraci@Vinces-MBP2 build-sqldrivers % make make: *** No targets specified and no makefile found. Stop.
-
Since you are using the Ninja generator, you have to call ninja to build.
-
@SGaist I'm about give up, it's beyond my abilities.
I'll try again on an Intel machine.