Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt5.15.2 RPI mySql make issue



  • Hello,

    I've executed on my RPI raspbian buster:

    sudo apt-get install mariadb-client mariadb-common mysql-common libmariadb-dev-compat libmariadbclient-dev libqt5sql5-mysq
    

    Next, I rsync my folders to my Ubuntu Laptop. This is how my dirs look now:

    /opt/qt5pi
          |- sysroot
               |- lib
               |- opt              
               |- usr
                    |- include/mysql (mysql.h, marida db...)
                    |- lib/arm-linux-gnueabihf/qt5/plugins/sqldrivers (libqsqlite.so  libqsqlmysql.so)
    

    I execute the script: ./sysroot-relativelinks.py sysroot
    Next, I try to run configure script, adding the option -sql-mysql and paths

    ../qt-everywhere-src-5.15.2/configure -release -opengl es2  -eglfs -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /opt/qt5pi/sysroot -prefix /usr/local/qt5.15 -extprefix /opt/qt5pi/qt5.15 -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine -nomake tests -make libs -sql-mysql MYSQL_INCDIR=/opt/qt5pi/sysroot/usr/include/mysql MYSQL_LIBDIR=/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf/ -pkg-config -no-use-gold-linker -v -recheck
    

    This is what configure script outputs:

    Configure summary:
    
    Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
    Building for: devices/linux-rasp-pi4-v3d-g++ (arm, CPU features: neon)
    Target compiler: gcc 7.4.1
    Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header shared shared rpath release c++11 c++14 c++17 c++1z concurrent dbus reduce_exports stl
    Build options:
      Mode ................................... release
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C standard ....................... C11
      Using C++ standard ..................... C++17
      Using ccache ........................... no
      Using new DTAGS ........................ yes
      Relocatable ............................ yes
      Using precompiled headers .............. yes
      Using LTCG ............................. no
      Target compiler supports:
        NEON ................................. yes
      Build parts ............................ libs
    [...]
      EGL .................................... yes
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ yes
        OpenGL ES 3.0 ........................ yes
        OpenGL ES 3.1 ........................ yes
        OpenGL ES 3.2 ........................ yes
      Vulkan ................................. yes
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... yes
      INTEGRITY HID .......................... no
      mtdev .................................. yes
      tslib .................................. yes
      xkbcommon .............................. yes
      X11 specific:
        XLib ................................. yes
        XCB Xlib ............................. yes
        EGL on X11 ........................... yes
        xkbcommon-x11 ........................ yes
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. yes
      EGLFS details:
        EGLFS OpenWFD ........................ no
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS RCAR ........................... no
        EGLFS EGLDevice ...................... yes
        EGLFS GBM ............................ yes
        EGLFS VSP2 ........................... no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGLFS X11 ............................ yes
      LinuxFB ................................ yes
      VNC .................................... yes
    Qt Sql:
      SQL item models ........................ yes
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... yes
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. yes
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. yes
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... yes
    
    [...]
    
    Note: Also available for Linux: linux-clang linux-icc
    
    Note: PKG_CONFIG_LIBDIR automatically set to /opt/qt5pi/sysroot/usr/lib/pkgconfig:/opt/qt5pi/sysroot/usr/share/pkgconfig:/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig
    
    Note: PKG_CONFIG_SYSROOT_DIR automatically set to /opt/qt5pi/sysroot
    
    [...]
    
    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/opt/qt5pi/qt5.15'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    

    Then: make -j4 (Is there any problem if I execute -j16?). And this is the end of the output:

    /opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/opt/qt5pi/sysroot -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/bearer/networkmanager -I. -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtNetwork/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtNetwork/5.15.2/QtNetwork -I../../../../include/QtNetwork/5.15.2 -I../../../../include/QtNetwork/5.15.2/QtNetwork -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2/QtCore -I../../../../include/QtCore/5.15.2 -I../../../../include/QtCore/5.15.2/QtCore -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtNetwork -I../../../../include -I../../../../include/QtNetwork -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtDBus -I../../../../include/QtDBus -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore -I../../../../include/QtCore -I.moc -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/mkspecs/devices/linux-rasp-pi4-v3d-g++ -o .obj/moc_qbearerengine_impl.o .moc/moc_qbearerengine_impl.cpp
    rm -f libqeglfs-kms-egldevice-integration.so
    /opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/opt/qt5pi/sysroot -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\$ORIGIN/../../lib -Wl,-rpath-link,/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/opt/qt5pi/sysroot/lib/arm-linux-gnueabihf -shared -o libqeglfs-kms-egldevice-integration.so .obj/qeglfskmsegldevicemain.o .obj/qeglfskmsegldeviceintegration.o .obj/qeglfskmsegldevice.o .obj/qeglfskmsegldevicescreen.o  /opt/qt5pi/build/qtbase/lib/libQt5EglFSDeviceIntegration.so /opt/qt5pi/build/qtbase/lib/libQt5EventDispatcherSupport.a -L/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf -lgthread-2.0 -lglib-2.0 /opt/qt5pi/build/qtbase/lib/libQt5ServiceSupport.a /opt/qt5pi/build/qtbase/lib/libQt5ThemeSupport.a /opt/qt5pi/build/qtbase/lib/libQt5FontDatabaseSupport.a -lfontconfig -lfreetype -lz /opt/qt5pi/build/qtbase/lib/libQt5FbSupport.a /opt/qt5pi/build/qtbase/lib/libQt5EglSupport.a -lEGL -lXext -lX11 -lm /opt/qt5pi/build/qtbase/lib/libQt5InputSupport.a -L/opt/qt5pi/sysroot/lib/arm-linux-gnueabihf -lmtdev -linput /opt/qt5pi/build/qtbase/lib/libQt5XkbCommonSupport.a /opt/qt5pi/build/qtbase/lib/libQt5PlatformCompositorSupport.a /opt/qt5pi/build/qtbase/lib/libQt5VulkanSupport.a /opt/qt5pi/build/qtbase/lib/libQt5KmsSupport.a /opt/qt5pi/build/qtbase/lib/libQt5EglFsKmsSupport.so /opt/qt5pi/build/qtbase/lib/libQt5Gui.so /opt/qt5pi/build/qtbase/lib/libQt5DeviceDiscoverySupport.a -ludev /opt/qt5pi/build/qtbase/lib/libQt5EdidSupport.a /opt/qt5pi/build/qtbase/lib/libQt5DBus.so /opt/qt5pi/build/qtbase/lib/libQt5Core.so -lGLESv2 -lpthread -ldrm -ldl -lts -lxkbcommon -lEGL   
    /opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/opt/qt5pi/sysroot -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/bearer/networkmanager -I. -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtNetwork/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtNetwork/5.15.2/QtNetwork -I../../../../include/QtNetwork/5.15.2 -I../../../../include/QtNetwork/5.15.2/QtNetwork -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2/QtCore -I../../../../include/QtCore/5.15.2 -I../../../../include/QtCore/5.15.2/QtCore -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtNetwork -I../../../../include -I../../../../include/QtNetwork -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtDBus -I../../../../include/QtDBus -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore -I../../../../include/QtCore -I.moc -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/mkspecs/devices/linux-rasp-pi4-v3d-g++ -o .obj/main.o /opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/bearer/networkmanager/main.cpp
    mv -f libqeglfs-kms-egldevice-integration.so ../../../../../../plugins/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so
    make[7]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice'
    make[6]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/platforms/eglfs/deviceintegration'
    make[5]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/platforms/eglfs'
    make[4]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/platforms'
    rm -f libqnmbearer.so
    /opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/opt/qt5pi/sysroot -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\$ORIGIN/../../lib -Wl,-rpath-link,/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/opt/qt5pi/sysroot/lib/arm-linux-gnueabihf -shared -o libqnmbearer.so .obj/main.o .obj/qnetworkmanagerservice.o .obj/qnetworkmanagerengine.o .obj/qofonoservice_linux.o .obj/qnetworksession_impl.o .obj/moc_qnetworkmanagerservice.o .obj/moc_qnetworkmanagerengine.o .obj/moc_qofonoservice_linux_p.o .obj/moc_qnetworksession_impl.o .obj/moc_qbearerengine_impl.o  /opt/qt5pi/build/qtbase/lib/libQt5Network.so /opt/qt5pi/build/qtbase/lib/libQt5DBus.so /opt/qt5pi/build/qtbase/lib/libQt5Core.so -lpthread    
    mv -f libqnmbearer.so ../../../../plugins/bearer/libqnmbearer.so
    make[5]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/bearer/networkmanager'
    make[4]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/bearer'
    make[3]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins'
    make[2]: *** [Makefile:723: sub-plugins-make_first] Error 2
    make[2]: Leaving directory '/opt/qt5pi/build/qtbase/src'
    make[1]: *** [Makefile:51: sub-src-make_first] Error 2
    make[1]: Leaving directory '/opt/qt5pi/build/qtbase'
    make: *** [Makefile:85: module-qtbase-make_first] Error 2
    
    

    If I run configure script without the options: -sql-mysql MYSQL_INCDIR=/opt/qt5pi/sysroot/usr/include/mysql MYSQL_LIBDIR=/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf/, everything builds fine.

    Can you help me?



  • Seems like I was missing libraries. I've installed:

    apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libudev-dev  libts-dev libxcb-xinerama0-dev gdbserver
    
    apt-get install mariadb-client mariadb-common mysql-common libmariadb-dev-compat libmariadbclient-dev libqt5sql5-mysql
    
    apt-get build-dep qt5-qmake 
    apt-get build-dep libqt5gui5
    apt-get build-dep libqt5webengine-data
    apt-get build-dep libqt5webkit5
    
    

    I don't know if all are needed, but worked for me.


  • Lifetime Qt Champion

    @Drazz said in Qt5.15.2 RPI mySql make issue:

    And this is the end of the output

    It does not contain the actual error, please post the error.
    "Is there any problem if I execute -j16?" - does your CPU have 16 cores (can be 8 physical cores + hyper threading)?



  • @jsulm said in Qt5.15.2 RPI mySql make issue:

    It does not contain the actual error, please post the error.

    I don't know how to find the error... I'm trying to look for keywords with no success.

    make[5]: *** [Makefile:1114: .obj/main.o] Error 1
    make[4]: *** [Makefile:76: sub-mysql-make_first] Error 2
    make[3]: *** [Makefile:55: sub-sqldrivers-make_first] Error 2
    make[3]: *** Waiting for unfinished jobs....
    make[2]: *** [Makefile:723: sub-plugins-make_first] Error 2
    make[1]: *** [Makefile:51: sub-src-make_first] Error 2
    make: *** [Makefile:85: module-qtbase-make_first] Error 2
    
    

    complete output

    "does your CPU have 16 cores (can be 8 physical cores + hyper threading)?" 8 cores physical cores, 16 subprocess. It's Ryzen 4800H



  • @Drazz said in Qt5.15.2 RPI mySql make issue:

    8 cores physical cores, 16 subprocess. It's Ryzen 4800H

    It seems that you are using Linux to build, why not use nproc to fix how many job to start: make -j $(($(nproc)+1))



  • @Drazz said in Qt5.15.2 RPI mySql make issue:

    I don't know how to find the error

    Please just run make (without -jn option) so to find the exact place where the build process is failing.



  • @KroMignon said in Qt5.15.2 RPI mySql make issue:

    $(($(nproc)+1))

    Thanks for the tip. If I run echo $(($(nproc)+1)) the output is 17.

    @Pablo-J-Rogina That did the job easier!

    This is my output:

    cd mysql/ && ( test -e Makefile || /opt/qt5pi/build/qtbase/bin/qmake -o Makefile /opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql/mysql.pro ) && make -f Makefile 
    make[5]: Entering directory '/opt/qt5pi/build/qtbase/src/plugins/sqldrivers/mysql'
    /opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/opt/qt5pi/sysroot -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql -I. -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtSql/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtSql/5.15.2/QtSql -I/opt/qt5pi/build/qtbase/include/QtSql/5.15.2 -I/opt/qt5pi/build/qtbase/include/QtSql/5.15.2/QtSql -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2/QtCore -I/opt/qt5pi/build/qtbase/include/QtCore/5.15.2 -I/opt/qt5pi/build/qtbase/include/QtCore/5.15.2/QtCore -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtSql -I/opt/qt5pi/build/qtbase/include -I/opt/qt5pi/build/qtbase/include/QtSql -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore -I/opt/qt5pi/build/qtbase/include/QtCore -I.moc -I/opt/qt5pi/sysroot/usr/include/mysql -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/mkspecs/devices/linux-rasp-pi4-v3d-g++ -o .obj/qsql_mysql.o /opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
    /tmp/ccw3Xjp5.s: Assembler messages:
    /tmp/ccw3Xjp5.s:8068: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8
    /opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=/opt/qt5pi/sysroot -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql -I. -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtSql/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtSql/5.15.2/QtSql -I/opt/qt5pi/build/qtbase/include/QtSql/5.15.2 -I/opt/qt5pi/build/qtbase/include/QtSql/5.15.2/QtSql -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2 -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore/5.15.2/QtCore -I/opt/qt5pi/build/qtbase/include/QtCore/5.15.2 -I/opt/qt5pi/build/qtbase/include/QtCore/5.15.2/QtCore -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtSql -I/opt/qt5pi/build/qtbase/include -I/opt/qt5pi/build/qtbase/include/QtSql -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/include/QtCore -I/opt/qt5pi/build/qtbase/include/QtCore -I.moc -I/opt/qt5pi/sysroot/usr/include/mysql -I/opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/mkspecs/devices/linux-rasp-pi4-v3d-g++ -o .obj/main.o /opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql/main.cpp
    /opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql/main.cpp:75:10: fatal error: main.moc: No such file or directory
     #include "main.moc"
              ^~~~~~~~~~
    compilation terminated.
    make[5]: *** [Makefile:1098: .obj/main.o] Error 1
    make[5]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/sqldrivers/mysql'
    make[4]: *** [Makefile:76: sub-mysql-make_first] Error 2
    make[4]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins/sqldrivers'
    make[3]: *** [Makefile:55: sub-sqldrivers-make_first] Error 2
    make[3]: Leaving directory '/opt/qt5pi/build/qtbase/src/plugins'
    make[2]: *** [Makefile:723: sub-plugins-make_first] Error 2
    make[2]: Leaving directory '/opt/qt5pi/build/qtbase/src'
    make[1]: *** [Makefile:51: sub-src-make_first] Error 2
    make[1]: Leaving directory '/opt/qt5pi/build/qtbase'
    make: *** [Makefile:85: module-qtbase-make_first] Error 2
    
    


  • @Drazz said in Qt5.15.2 RPI mySql make issue:

    /opt/qt5pi/qt-everywhere-src-5.15.2/qtbase/src/plugins/sqldrivers/mysql/main.cpp:75:10: fatal error: main.moc: No such file or directory

    Very strange to me, looks like MOC have not been executed?
    Sorry, have no idea how to help you :(



  • Seems like I was missing libraries. I've installed:

    apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libudev-dev  libts-dev libxcb-xinerama0-dev gdbserver
    
    apt-get install mariadb-client mariadb-common mysql-common libmariadb-dev-compat libmariadbclient-dev libqt5sql5-mysql
    
    apt-get build-dep qt5-qmake 
    apt-get build-dep libqt5gui5
    apt-get build-dep libqt5webengine-data
    apt-get build-dep libqt5webkit5
    
    

    I don't know if all are needed, but worked for me.



  • @Drazz said in Qt5.15.2 RPI mySql make issue:

    I've installed

    You didn't specify it, but I hope you've installed those libraries in the RPi device and then rsync'ed to your host PC, right?



  • @Pablo-J-Rogina Right.

    Rpi:

    apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libudev-dev  libts-dev libxcb-xinerama0-dev gdbserver
    
    apt-get install mariadb-client mariadb-common mysql-common libmariadb-dev-compat libmariadbclient-dev libqt5sql5-mysql
    
    apt-get build-dep qt5-qmake 
    apt-get build-dep libqt5gui5
    apt-get build-dep libqt5webengine-data
    apt-get build-dep libqt5webkit5
    

    Ubuntu:

    rsync -avz --rsync-path="sudo rsync" --delete pi@192.168.1.60:/lib sysroot
    rsync -avz --rsync-path="sudo rsync" --delete pi@192.168.1.60:/usr/include sysroot/usr
    rsync -avz --rsync-path="sudo rsync" --delete pi@192.168.1.60:/usr/lib sysroot/usr
    rsync -avz --rsync-path="sudo rsync" --delete pi@192.168.1.60:/opt/vc sysroot/opt
    
    ../qt-everywhere-src-5.15.2/configure -release -opengl es2 -eglfs -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/qt5pi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /opt/qt5pi/sysroot -prefix /usr/local/qt5.15 -extprefix /opt/qt5pi/qt5.15 -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine -nomake tests -make libs -pkg-config -no-use-gold-linker -v -recheck -sql-mysql MYSQL_INCDIR=/opt/qt5pi/sysroot/usr/include/mysql MYSQL_LIBDIR=/opt/qt5pi/sysroot/usr/lib/arm-linux-gnueabihf/
    
    [...]
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. yes
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. yes
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... yes
    [...]
    
    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/opt/qt5pi/qt5.15'.
    
    make -j14
    make install
    rsync -avz --rsync-path="sudo rsync" qt5.15 pi@192.168.1.60:/usr/local/
    

Log in to reply