Problem of Qt 5.6.0 Cross Compile for Olimex A20 Micro With Debian Jessie?



  • hi,
    I am trying to Qt 5.6.0 cross compile for Olimex A20 Micro.
    I take Qt 5.6.0 source in Ubuntu 14.04.
    In Olimex I used Debian Jessie pre-compiled image.

    Background:-
    I follow instruction link(https://www.olimex.com/forum/index.php?topic=3825.0) for "Cross compile Qt5"
    I modified some steps:-
    First I start with taget that is Olimex A20 Micro.

    1. first I check Olimex A20 Micro with Debian OS which ported on SD card by 'A20_OLinuxino_Micro_debian_Jessie_34_103_2G_release_11.img'. It works fine.

    2. Then lots of packages are not installed & as per instructions it should be present so I follows:-
      apt-get update
      apt-get upgrade
      apt-get -V install libfontconfig1-dev libdbus-1-dev libfreetype6-dev libudev-dev libasound2-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-good gstreamer0.10-plugins-bad libicu-dev libsqlite3-dev libxslt1-dev libssl-dev git
      apt-get autoremove
      apt-get update
      apt-get upgrade

    3. After all package install I download Mali graphics chipset driver to use with QT eglfs by following commands:-
      cd / opt
      git clone https://github.com/linux-sunxi/sunxi-mali.git
      cd sunxi-mali
      git submodule init
      git submodule update
      make config ABI=armhf VERSION=r3p0 EGL_TYPE=framebuffer
      make install
      When make install command works fine then I Load the modules
      modprobe mali
      modprobe drm
      modprobe mali_drm
      After loading modules for testing the loaded drivers following steps done:-
      cd /opt/sunxi-mali/test
      make
      ./test
      I can see a triangle on LCD display.

    I cross verify ldd version by
    ldd --version
    ldd (Debian GLIBC 2.22-7) 2.22
    Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    Written by Roland McGrath and Ulrich Drepper.

    Observation:-
    After following instructions for cross compilation of Qt5 for Olimex A20 Micro,
    in Kernel expansion I found that Debian is upgraded whole distro to sid. Following line I seen:-
    Debian GNU/Linux stretch/sid

    After all these I shift to host PC for preparation.
    I found that lots of packeges needed on host pc. So I follow some steps as below:-

    1. apt-get -V install g++ make git build-essential fakeroot debhelper devscripts pkg-config libasound2-dev ccache qt5-default qtbase5-dev qtscript5-dev qtmultimedia5-dev libqt5multimedia5-plugins qttools5-dev-tools libusb-dev libftdi-dev libudev-dev libmad0-dev libsndfile1-dev libfftw3-dev libxcb-xinerama0-dev apt-show-versions libperl-dev libgtk2.0-dev tslib perl python "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev flex bison gperf libicu-dev libxslt-dev ruby libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libbz2-dev libgcrypt11-dev libpci-dev libnss3-dev libdrm-dev libxtst-dev libcups2-dev libpulse-dev libxss-dev libatkmm-1.6-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxslt1-dev

    apt-cache policy libglib2.0-0
    apt-show-versions libglib2.0-0
    apt-get build-dep -aarmhf qt
    apt-get build-dep -aarmhf qt5
    apt-get build-dep -arm-linux-gnueabihf qt5
    apt-get build-dep -arm-linux-gnueabihf qt5
    apt-get build-dep qt5

    sudo ln -s /home/mkhire/ccache /usr/local/bin/gcc
    sudo ln -s /home/mkhire/ccache /usr/local/bin/g++
    sudo ln -s /home/mkhire/ccache /usr/local/bin/cc
    sudo ln -s /home/mkhire/ccache /usr/local/bin/c++

    after this I Download Cross-Compile Tools and install:
    git clone git://gitorious.org/cross-compile-tools/cross-compile-tools.git
    cd cross-compile-tools
    ./fixQualifiedLibraryPaths /mnt/a20/ /usr/bin/arm-linux-gnueabihf-g++

    Then I Download qt-everywhere-opensource-src-5.6.0 from qt website and copy into my working directory i.e. /usr/local/
    tar xvf qt-everywhere-opensource-src-5.6.0.gz

    Then I created a device file for the Olimex A20:
    cd /usr/local/qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/devices
    cp -r linux-g++BeagleBoard linux-a20olimex-g++
    cd linux-a20olimex-g++

    Then For Remove qmake.conf
    rm -f qmake.conf

    Then I Download qeglfshooks_stub.cpp and qmake.conf
    qmake.conf :
    wget https://drive.google.com/file/d/0B-9HldMPXk75YjRfX2dWTGthUWs/view?usp=sharing
    qeglfshooks_stub.cpp :
    wget https://drive.google.com/file/d/0B-9HldMPXk75Wi1ERGRCbllmSkE/view?usp=sharing

    Then I edit qmake.conf with following
    QMAKE_INCDIR += /usr/local/tslib/include /usr/arm-linux-gnueabihf/include/c++/4.8.4 /usr/arm-linux-gnueabihf/include/c+/4.8.2/arm-linux-gnueabihf
    QMAKE_INCDIR_EGL = /mnt/a20/usr/include/EGL
    QMAKE_INCDIR_OPENGL_ES2 = /mnt/a20/usr/include/GLES2

    I also edit qeglfshooks_stub.cpp for following
    static struct mali_native_window native_window = {
    .width = (short unsigned int)size.width(),
    .height = (short unsigned int)size.height(),
    };

    Just change to:
    
    static struct mali_native_window native_window = {
            (short unsigned int)size.width(),
            (short unsigned int)size.height(),
    	};
    

    Then I copy qmake.conf and qeglfshooks_stub.cpp
    cp -f qmake.conf qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/devices/linux-a20olimex-g++/
    cp -f qeglfshooks_stub.cpp qt-everywhere-opensource-src-5.6.0/qtbase/src/plugins/platforms/eglfs/

    After I put paths for dbus and glib:
    #cd /usr/local/qt-everywhere-opensource-src-5.6.0/qtbase/

    Edit the file configure to add following lines 
    
    # flags for libdbus-1
    QT_CFLAGS_DBUS= "-I /mnt/a20/usr/include/dbus-1.0/ -I/mnt/a20/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/"
    QT_LIBS_DBUS=-ldbus-1 
    
    # flags for Glib (X11 only)
    QT_CFLAGS_GLIB="-I /mnt/a20/usr/include/glib-2.0/ -I /mnt/a20/usr/lib/arm-linux-gnueabihf/glib-2.0/include/"
    QT_LIBS_GLIB=-lglib 2.0
    

    After following above all instructions, setup is ready Olimex A20 as Target & Host PC Ubuntu 14.04.
    Then
    cd /usr/local/QT/qt-everywhere-opensource-src-5.6.0/qtbase

    ./configure -opengl es2 -device linux-a20olimex-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- -sysroot /mnt/a20 -opensource -confirm-license -optimized-qmake -release -make libs -prefix /usr/local/qt5a20 -no-pch -nomake tests -no-xcb -eglfs -v -tslib -dbus -icu -pulseaudio -glib -no-cups -qt-harfbuzz -gtkstyle

    Here I face problem.

    Problem:-
    there are 18 things disabled found:-
    01.Symbolic function binding

    1. C++14
    2. sse2
    3. mtdev
    4. libjpeg
    5. DB2
    6. InterBase
    7. MySQL (thread-safe)
    8. MySQL (thread-unsafe)
    9. OCI
    10. ODBC
    11. iODBC
    12. PostgreSQL
    13. SQLite2
    14. TDS
    15. D-Bus
    16. libproxy
    17. ICU

    Errors related to all these as follows:-

    1. /usr/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/a20 -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
      bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
      #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
      ^
      Symbolic function binding disabled.

    2. C++14 auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -std=gnu++1y -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o c++14.o c++14.cpp
      c++14.cpp:37:4: error: #error "__cplusplus must be > 201103L (the value of C++11)"

     #  error "__cplusplus must be > 201103L (the value of C++11)"
        ^
    

    make: *** [c++14.o] Error 1
    C++14 disabled.

    3./usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -msse2 -g -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o sse2.o sse2.cpp
    arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-msse2’
    make: *** [sse2.o] Error 1
    sse2 disabled.

    4.mtdev auto-detection... ()
    Project ERROR: mtdev development package not found
    mtdev disabled.

    5.libjpeg auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o libjpeg.o libjpeg.cpp
    libjpeg.cpp:37:21: fatal error: jpeglib.h: No such file or directory
    #include <jpeglib.h>
    ^
    compilation terminated.
    make: *** [libjpeg.o] Error 1
    libjpeg disabled.

    1. DB2 auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o db2.o db2.cpp
      db2.cpp:34:20: fatal error: sqlcli.h: No such file or directory
      #include <sqlcli.h>
      ^
      compilation terminated.
      make: *** [db2.o] Error 1
      DB2 disabled.

    7.InterBase auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o ibase.o ibase.cpp
    ibase.cpp:34:19: fatal error: ibase.h: No such file or directory
    #include <ibase.h>
    ^
    compilation terminated.
    make: *** [ibase.o] Error 1
    InterBase disabled.

    8.MySQL (thread-safe) auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o mysql.o ../mysql/mysql.cpp
    ../mysql/mysql.cpp:34:19: fatal error: mysql.h: No such file or directory
    #include "mysql.h"
    ^
    compilation terminated.
    make: *** [mysql.o] Error 1
    MySQL (thread-safe) disabled.

    9.MySQL (thread-unsafe) auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o mysql.o mysql.cpp
    mysql.cpp:34:19: fatal error: mysql.h: No such file or directory
    #include "mysql.h"
    ^
    compilation terminated.
    make: *** [mysql.o] Error 1
    MySQL (thread-unsafe) disabled.

    10.OCI auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o oci.o oci.cpp
    oci.cpp:34:17: fatal error: oci.h: No such file or directory
    #include <oci.h>
    ^
    compilation terminated.
    make: *** [oci.o] Error 1
    OCI disabled.

    11.ODBC auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o odbc.o odbc.cpp
    odbc.cpp:37:17: fatal error: sql.h: No such file or directory
    #include <sql.h>
    ^
    compilation terminated.
    make: *** [odbc.o] Error 1
    ODBC disabled.

    1. iODBC auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o iodbc.o iodbc.cpp
      iodbc.cpp:34:17: fatal error: sql.h: No such file or directory
      #include <sql.h>
      ^
      compilation terminated.
      make: *** [iodbc.o] Error 1
      iODBC disabled.

    2. PostgreSQL auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o psql.o psql.cpp
      psql.cpp:34:22: fatal error: libpq-fe.h: No such file or directory
      #include "libpq-fe.h"
      ^
      compilation terminated.
      make: *** [psql.o] Error 1
      PostgreSQL disabled.

    14.SQLite2 auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o sqlite2.o sqlite2.cpp
    sqlite2.cpp:34:20: fatal error: sqlite.h: No such file or directory
    #include <sqlite.h>
    ^
    compilation terminated.
    make: *** [sqlite2.o] Error 1
    SQLite2 disabled.

    1. TDS auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o tds.o tds.cpp
      tds.cpp:34:22: fatal error: sybfront.h: No such file or directory
      #include <sybfront.h>
      ^
      compilation terminated.
      make: *** [tds.o] Error 1
      TDS disabled.

    2. D-Bus auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/mnt/a20/usr/include/dbus-1.0 -I/mnt/a20/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o dbus.o dbus.cpp
      /usr/bin/arm-linux-gnueabihf-g++ -Wl,-O1 -o dbus dbus.o -L/mnt/a20/usr/arm-linux-gnueabihf/lib -L/mnt/a20/arm-linux-gnueabihf/include -L/usr/arm-linux-gnueabihf/tslib/lib -L/usr/arm-linux-gnueabihf/tslib/include -lrt -lpthread -ldl -Wl,-rpath-link,/mnt/a20/usr/arm-linux-gnueabihf/lib -Wl,-rpath-link,/mnt/a20/arm-linux-gnueabihf/include --sysroot=/mnt/a20 -L/mnt/a20/usr/lib/arm-linux-gnueabihf -ldbus-1
      /mnt/a20/usr/lib/arm-linux-gnueabihf/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function _dbus_platform_rmutex_new': (.text+0x40): undefined reference topthread_mutexattr_init'
      /mnt/a20/usr/lib/arm-linux-gnueabihf/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function _dbus_platform_rmutex_new': (.text+0x48): undefined reference topthread_mutexattr_settype'
      /mnt/a20/usr/lib/arm-linux-gnueabihf/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function _dbus_platform_rmutex_new': (.text+0x5a): undefined reference topthread_mutexattr_destroy'
      /mnt/a20/usr/lib/arm-linux-gnueabihf/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function _dbus_platform_condvar_new': (.text+0x10e): undefined reference topthread_condattr_setclock'
      /mnt/a20/usr/lib/arm-linux-gnueabihf/libdbus-1.a(libdbus_1_la-dbus-sysdeps-unix.o): In function _dbus_listen_systemd_sockets': (.text+0x12de): undefined reference tosd_listen_fds'
      /mnt/a20/usr/lib/arm-linux-gnueabihf/libdbus-1.a(libdbus_1_la-dbus-sysdeps-unix.o): In function _dbus_listen_systemd_sockets': (.text+0x1300): undefined reference tosd_is_socket'
      collect2: error: ld returned 1 exit status
      make: *** [dbus] Error 1
      D-Bus disabled.

    3. libproxy auto-detection... ()
      /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o libproxy.o libproxy.cpp
      libproxy.cpp:36:19: fatal error: proxy.h: No such file or directory
      #include <proxy.h>
      ^
      compilation terminated.
      make: *** [libproxy.o] Error 1
      libproxy disabled.

    18.ICU auto-detection... ()
    /usr/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/mnt/a20 -O2 -O3 -Wall -W -fPIC -I. -I/usr/local/tslib/include -I/usr/arm-linux-gnueabihf/include/c++/4.8.4 -I/usr/arm-linux-gnueabihf/include/c++/4.8.4/arm-linux-gnueabihf -I../../../mkspecs/devices/linux-a20olimex-g++ -o icu.o icu.cpp
    /usr/bin/arm-linux-gnueabihf-g++ -Wl,-O1 -o icu icu.o -L/mnt/a20/usr/arm-linux-gnueabihf/lib -L/mnt/a20/arm-linux-gnueabihf/include -L/usr/arm-linux-gnueabihf/tslib/lib -L/usr/arm-linux-gnueabihf/tslib/include -lrt -lpthread -ldl -Wl,-rpath-link,/mnt/a20/usr/arm-linux-gnueabihf/lib -Wl,-rpath-link,/mnt/a20/arm-linux-gnueabihf/include --sysroot=/mnt/a20 -licui18n -licuuc -licudata
    /mnt/a20/usr/lib/arm-linux-gnueabihf/libicui18n.so: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'
    collect2: error: ld returned 1 exit status
    make: *** [icu] Error 1
    ICU disabled.

    Questions:-
    1. How can I solve these?
    2. Wherer I make mistake?
    3. Is there any guide for QT5.6.0 Cross compile for Olimex A20 Micro with Debian Jessie by Host PC with Ubuntu 14.04?
    Need Help.
    Thanks.


  • Moderators

    Well, the errors you see just tell you that some things will not be available (for example ICU or libproxy). Whether this is an issue depends on your needs. If you do not need any of them then you can just continue with make.

    If you need any of these you have ot install headers and libs.
    C++14 is not available because your compiler does not support it.
    SSE2 is not supported because your target CPU is not an Intel CPU.



  • Thanks jsulm,
    I dont know whether how many out of 18 disabled things I do not need in future.
    Means As I can see Mysql or SQLite2 in disabled list.
    If I continue 'make' with errors which I seen when ./configure...command.
    & In future if I want to create QT application which use those Mysql or SQLite2 etc things...then?


  • Moderators

    Then you will need to rebuild at least parts of Qt later



  • Thanks jsulm,
    I found

    Turn on verbose messaging (-v) to ./configure to see the final report.
    If you believe this message is in error you may use the continue
    switch (-continue) to ./configure to continue.
    

    So I use ' -v -continue' in ./configure command, Then run command:-

    make -d -j4
    

    I got error as follows:-

    Live child 0x00ab0210 (.obj/qlatincodec.o) PID 14536 
    Reaping losing child 0x00ab0210 PID 14536 
    make[2]: *** [.obj/qlatincodec.o] Error 1
    Removing child 0x00ab0210 PID 14536 from chain.
    make[2]: Leaving directory `/usr/local/qt-everywhere-opensource-src-5.6.0/qtbase/src/tools/bootstrap'
    Reaping losing child 0x01b77a70 PID 14531 
    make[1]: *** [sub-bootstrap-make_first] Error 2
    Removing child 0x01b77a70 PID 14531 from chain.
    make[1]: Leaving directory `/usr/local/qt-everywhere-opensource-src-5.6.0/qtbase/src'
    Reaping losing child 0x01b49420 PID 14521 
    make: *** [sub-src-make_first] Error 2
    Removing child 0x01b49420 PID 14521 from chain.
    

    Any help?


  • Moderators

    Are there any other messages before?



  • Yes there are lots (huge log due to '-d' option in 'make') of

    1. Considering target file
    2. Looking for an implicit rule for
    3. Trying pattern rule with stem
    4. Trying implicit prerequisite
    5. Avoiding implicit rule recursion.
    6. Looking for a rule with intermediate file
    7. Avoiding implicit rule recursion.
    8. No need to remake target

    I found that one error which I miss to put in previous post:-
    g++: error: unrecognized command line option ‘-std=c++14’

    The log as below:-

    make[2]: Entering directory `/usr/local/qt-everywhere-opensource-src-5.6.0/qtbase/src/tools/bootstrap'
    g++ -c -pipe -ffunction-sections -O2 -fPIC -std=c++14 -fno-exceptions -Wall -W -D_REENTRANT -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_LIBINPUT -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -DQT_NO_DEPRECATED -DQT_NO_TRANSLATION -DQT_CRYPTOGRAPHICHASH_ONLY_SHA1 -DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -I../../3rdparty/zlib -I../../../include -I../../../include/QtCore -I../../../include/QtCore/5.6.0 -I../../../include/QtCore/5.6.0/QtCore -I../../../include/QtXml -I../../../include/QtXml/5.6.0 -I../../../include/QtXml/5.6.0/QtXml -I../../../mkspecs/linux-g++ -o .obj/qlatincodec.o ../../corelib/codecs/qlatincodec.cpp
    Putting child 0x00ab0210 (.obj/qlatincodec.o) PID 14536 on the chain.
          Commands of `.obj/qlatincodec.o' are being run.
          Considering target file `.obj/qtextcodec.o'.
           File `.obj/qtextcodec.o' does not exist.
            Considering target file `../../corelib/codecs/qtextcodec.cpp'.
             Looking for an implicit rule for `../../corelib/codecs/qtextcodec.cpp'.
             Trying pattern rule with stem `qtextcodec.cpp'.
             Trying implicit prerequisite `../../corelib/codecs/qtextcodec.cpp,v'.
             Trying pattern rule with stem `qtextcodec.cpp'.
             Trying implicit prerequisite `../../corelib/codecs/RCS/qtextcodec.cpp,v'.
             Trying pattern rule with stem `qtextcodec.cpp'.
             Trying implicit prerequisite `../../corelib/codecs/RCS/qtextcodec.cpp'.
             Trying pattern rule with stem `qtextcodec.cpp'.
             Trying implicit prerequisite `../../corelib/codecs/s.qtextcodec.cpp'.
             Trying pattern rule with stem `qtextcodec.cpp'.
             Trying implicit prerequisite `../../corelib/codecs/SCCS/s.qtextcodec.cpp'.
             No implicit rule found for `../../corelib/codecs/qtextcodec.cpp'.
             Finished prerequisites of target file `../../corelib/codecs/qtextcodec.cpp'.
            No need to remake target `../../corelib/codecs/qtextcodec.cpp'.
            Considering target file `../../../mkspecs/linux-g++/qplatformdefs.h'.
             Looking for an implicit rule for `../../../mkspecs/linux-g++/qplatformdefs.h'.
             Trying pattern rule with stem `qplatformdefs.h'.
             Trying implicit prerequisite `../../../mkspecs/linux-g++/qplatformdefs.h,v'.
             Trying pattern rule with stem `qplatformdefs.h'.
             Trying implicit prerequisite `../../../mkspecs/linux-g++/RCS/qplatformdefs.h,v'.
             Trying pattern rule with stem `qplatformdefs.h'.
             Trying implicit prerequisite `../../../mkspecs/linux-g++/RCS/qplatformdefs.h'.
             Trying pattern rule with stem `qplatformdefs.h'.
             Trying implicit prerequisite `../../../mkspecs/linux-g++/s.qplatformdefs.h'.
             Trying pattern rule with stem `qplatformdefs.h'.
             Trying implicit prerequisite `../../../mkspecs/linux-g++/SCCS/s.qplatformdefs.h'.
             No implicit rule found for `../../../mkspecs/linux-g++/qplatformdefs.h'.
             Finished prerequisites of target file `../../../mkspecs/linux-g++/qplatformdefs.h'.
            No need to remake target `../../../mkspecs/linux-g++/qplatformdefs.h'.
            Pruning file `../../../include/QtCore/qglobal.h'.
            Pruning file `../../corelib/global/qglobal.h'.
            Pruning file `../../../include/QtCore/qconfig.h'.
            Pruning file `../../corelib/global/qconfig.h'.
            Pruning file `../../../include/QtCore/qfeatures.h'.
            Pruning file `../../corelib/global/qfeatures.h'.
            Pruning file `../../../include/QtCore/qsystemdetection.h'.
            Pruning file `../../corelib/global/qsystemdetection.h'.
            Pruning file `../../../include/QtCore/qprocessordetection.h'.
            Pruning file `../../corelib/global/qprocessordetection.h'.
            Pruning file `../../../include/QtCore/qcompilerdetection.h'.
            Pruning file `../../corelib/global/qcompilerdetection.h'.
            Pruning file `../../../include/QtCore/qtypeinfo.h'.
            Pruning file `../../corelib/global/qtypeinfo.h'.
            Pruning file `../../../include/QtCore/qtypetraits.h'.
    g++: error: unrecognized command line option ‘-std=c++14’
    

  • Moderators

    For some reason -std=c++14 compiler option was passed to the compiler. Your GCC version does not support it. Actually in your previous post it was stated that C++14 was disabled. So, I'm wondering why this flag was passed to the compiler. You can check whether it is possible to specify which C++ standard should be used when you call configure (configure -h).



  • Thanks jsulm,
    I found '-std=c++14' in following files

    1. /qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/common/g++-base.conf has
    QMAKE_CXXFLAGS_CXX11    = -std=c++14
    
    1. qt-everywhere-opensource-src-5.6.0/qtbase/src/tools/bootstrap/Makefile has
    CXXFLAGS      = -pipe -ffunction-sections -O2 -fPIC -std=c++14 -fno-exceptions -Wall -W -D_REENTRANT $(DEFINES)
    

    Steps taken:-

    1. After ./configure command I run make command & got error.
      After it I run make clean.

    Qustion:-

    1. Is my ./configure command wrong?
      My configure command as below:-
    ./configure -v -continue -opengl es2 -device linux-a20olimex-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- -sysroot /mnt/a20 -opensource -confirm-license -optimized-qmake -release -make libs -prefix /usr/local/qt5a20 -no-pch -nomake tests -no-xcb -eglfs -v -tslib -dbus -icu -pulseaudio -glib -no-cups -qt-harfbuzz -gtkstyle
    
    1. Should I edit those two files where I found c++14?

    2. What about other disable things? Previously I found 18 things as disable but after make clean & might due to -v option in ./configure command I found more things as disabled which as below:-
      1 to 18 in first question I mentioned.

      1. PulseAudio
      2. OpenGL ES 3.0
      3. OpenGL ES 3.1
      4. libudev
      5. xkbcommon
      6. GBM
      7. KMS
      8. Mir client
      9. EGL-X11
      10. eglfs-brcm
      11. eglfs-egldevice
      12. eglfs-mali
      13. eglfs-viv
      14. OpenVG
      15. OpenVG (lc includes)
      16. alsa

    Need Guidance!
    Thanks,


  • Moderators

    You can try to replace

    QMAKE_CXXFLAGS_CXX11    = -std=c++14
    

    with

    QMAKE_CXXFLAGS_CXX11    = -std=c++11
    

    in qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/common/g++-base.conf
    And then run configure and make again.

    Regarding other disabled things: it really depends on your needs. Do you need any of them? If not then just build. If you need any of them then you need to make sure you have header files and libraries needed to use them.



  • Thanks jsulm,
    I change g++-base.conf as per instructions.
    Then I run 'make' command.
    There are errors while make command run.
    In /mnt/a20/usr/lib/arm-linux-gnueabihf/

    1. librt.so
    2. libdl.so
    3. libz.so
    4. libdl.so
    5. libglib-2.0.so
    6. libm.so
      I found in /mnt/a20 ie in Olimex A20 Debian OS has arm-linux-gnueabihf
      when I use command 'ls -al', those including those 6 so files total 25 has something problem in softlink (it shown in Red color)
      1. libanl.so -> /lib/arm-linux-gnueabihf/libanl.so.1
      2. libBrokenLocale.so -> /lib/arm-linux-gnueabihf/libBrokenLocale.so.1
      3. libcidn.so -> /lib/arm-linux-gnueabihf/libcidn.so.1
      4. libcrypt.so -> /lib/arm-linux-gnueabihf/libcrypt.so.1
      5. libcidn.so -> /lib/arm-linux-gnueabihf/libcidn.so.1
      6. libdl.so -> /lib/arm-linux-gnueabihf/libdl.so.2
      7. libexpat.so -> /lib/arm-linux-gnueabihf/libexpat.so.1.6.0
      8. libglib-2.0.so -> /lib/arm-linux-gnueabihf/libglib-2.0.so.0
      9. libm.so -> /lib/arm-linux-gnueabihf/libm.so.6
      10. libnsl.so -> /lib/arm-linux-gnueabihf/libnsl.so.1
      11. libnss_compat.so -> /lib/arm-linux-gnueabihf/libnss_compat.so.2
      12. libnss_dns.so -> /lib/arm-linux-gnueabihf/libnss_dns.so.2
      13. libnss_files.so -> /lib/arm-linux-gnueabihf/libnss_files.so.2
      14. libnss_hesiod.so -> /lib/arm-linux-gnueabihf/libnss_hesiod.so.2
      15. libnss_nisplus.so -> /lib/arm-linux-gnueabihf/libnss_nisplus.so.2
      16. libnss_nis.so -> /lib/arm-linux-gnueabihf/libnss_nis.so.2
      17. libpcre.so -> /lib/arm-linux-gnueabihf/libpcre.so.3
      18. libpng12.so.0 -> /lib/arm-linux-gnueabihf/libpng12.so.0
      19. libresolv.so -> /lib/arm-linux-gnueabihf/libresolv.so.2
      20. librt.so -> /lib/arm-linux-gnueabihf/librt.so.1
      21. libthread_db.so -> /lib/arm-linux-gnueabihf/libthread_db.so.1
      22. libudev.so -> /lib/arm-linux-gnueabihf/libudev.so.1.6.4
      23. libusb-1.0.so -> /lib/arm-linux-gnueabihf/libusb-1.0.so.0.1.0
      24. libutil.so -> /lib/arm-linux-gnueabihf/libutil.so.1
      25. libz.so -> /lib/arm-linux-gnueabihf/libz.so.1.2.8

    I think arm-linux-gnueabihf is not install properly?
    For reference Error log as below:-

    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/librt.so: No such file or directory
    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/libdl.so: No such file or directory
    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/libz.so: No such file or directory
    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/libdl.so: No such file or directory
    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/libglib-2.0.so: No such file or directory
    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/librt.so: No such file or directory
    /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /mnt/a20/usr/lib/arm-linux-gnueabihf/libm.so: No such file or directory
    .obj/qlibrary_unix.o:qlibrary_unix.cpp:function qdlerror(): error: undefined reference to 'dlerror'
    .obj/qlibrary_unix.o:qlibrary_unix.cpp:function QLibraryPrivate::unload_sys(): error: undefined reference to 'dlclose'
    .obj/qlibrary_unix.o:qlibrary_unix.cpp:function QLibraryPrivate::resolve_sys(char const*): error: undefined reference to 'dlsym'
    .obj/qlibrary_unix.o:qlibrary_unix.cpp:function QLibraryPrivate::load_sys(): error: undefined reference to 'dlopen'
    .obj/qlibrary_unix.o:qlibrary_unix.cpp:function qt_linux_find_symbol_sys(char const*): error: undefined reference to 'dlsym'
    .obj/qbytearray.o:qbytearray.cpp:function qUncompress(unsigned char const*, int): error: undefined reference to 'uncompress'
    .obj/qbytearray.o:qbytearray.cpp:function qCompress(unsigned char const*, int, int): error: undefined reference to 'compress2'
    .obj/qdatetime.o:qdatetime.cpp:function fromIsoTimeString(QStringRef const&, Qt::DateFormat, bool*): error: undefined reference to 'pow'
    .obj/qdatetime.o:qdatetime.cpp:function fromIsoTimeString(QStringRef const&, Qt::DateFormat, bool*): error: undefined reference to 'floorf'
    .obj/qdatetime.o:qdatetime.cpp:function fromIsoTimeString(QStringRef const&, Qt::DateFormat, bool*): error: undefined reference to 'pow'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeCosineCurve(double): error: undefined reference to 'cos'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutSine(double): error: undefined reference to 'cos'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeSineCurve(double): error: undefined reference to 'sin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutCurve(double): error: undefined reference to 'sin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutCirc(double): error: undefined reference to 'sqrt'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutCirc(double): error: undefined reference to 'sqrt'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutCirc(double): error: undefined reference to 'sqrt'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInCirc(double): error: undefined reference to 'sqrt'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutInSine(double): error: undefined reference to 'cos'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutInSine(double): error: undefined reference to 'sin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutExpo(double): error: undefined reference to 'pow'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutExpo(double): error: undefined reference to 'pow'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInSine(double): error: undefined reference to 'cos'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInCurve(double): error: undefined reference to 'sin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin'
    .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin'
    .obj/qline.o:qline.cpp:function QLineF::angle() const: error: undefined reference to 'atan2'
    .obj/qline.o:qline.cpp:function QLineF::setAngle(double): error: undefined reference to 'sincos'
    .obj/qline.o:qline.cpp:function QLineF::fromPolar(double, double): error: undefined reference to 'sincos'
    .obj/qline.o:qline.cpp:function QLineF::angle(QLineF const&) const: error: undefined reference to 'acos'
    .obj/qlocale_tools.o:qlocale_tools.cpp:function qdtoa(double, int, int, int*, int*, char**, char**): error: undefined reference to 'feholdexcept'
    .obj/qlocale_tools.o:qlocale_tools.cpp:function qdtoa(double, int, int, int*, int*, char**, char**): error: undefined reference to 'fesetenv'
    .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'floor'
    .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'ceil'
    .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'floor'
    .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'ceil'
    .obj/qtimeline.o:qtimeline.cpp:function QTimeLine::frameForTime(int) const: error: undefined reference to 'ceil'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>): error: undefined reference to 'g_main_context_iteration'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>): error: undefined reference to 'g_main_context_iteration'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::hasPendingEvents(): error: undefined reference to 'g_main_context_pending'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::unregisterSocketNotifier(QSocketNotifier*): error: undefined reference to 'g_source_remove_poll'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::unregisterSocketNotifier(QSocketNotifier*): error: undefined reference to 'g_source_remove_poll'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_destroy'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_unref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_destroy'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_unref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_remove_poll'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_destroy'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_unref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_destroy'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_source_unref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_main_context_pop_thread_default'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::~QEventDispatcherGlib(): error: undefined reference to 'g_main_context_unref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_main_context_ref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_main_context_push_thread_default'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_new'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_set_can_recurse'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_attach'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_new'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_set_can_recurse'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_attach'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_new'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_set_can_recurse'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_attach'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_new'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_set_can_recurse'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_set_priority'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_source_attach'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_main_context_new'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_main_context_default'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*): error: undefined reference to 'g_main_context_ref'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::registerSocketNotifier(QSocketNotifier*): error: undefined reference to 'g_source_add_poll'
    .obj/qeventdispatcher_glib.o:qeventdispatcher_glib.cpp:function QEventDispatcherGlib::wakeUp(): error: undefined reference to 'g_main_context_wakeup'
    collect2: error: ld returned 1 exit status
    make[2]: *** [../../lib/libQt5Core.so.5.6.0] Error 1
    


  • Hello everyone,

    Here is the same problem.
    Anyone a solution for that?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.