Cross compile Qt5 on UDOObuntu

Discussion in 'General Discussion' started by nicola, Jun 30, 2014.

  1. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    I'm trying to compile Qt5 in the new UDOObunto distro, currently i'm using the beta 2.

    I followed the UDOO tutorial http://www.udoo.org/ProjectsAndTutorial ... 5-for-udoo . The tutorial was written for the last recommended ubuntu distro so I had to make two small changes.

    The include dir and libs path in qmake.conf lack a "hf" at the end:
    from:
    Code:
    QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/include/arm-linux-gnueabi
    to
    Code:
    QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/include/arm-linux-gnueabihf
    and from:
    Code:
    QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi
    to
    Code:
    QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf
    When I try to configure with this command:
    Code:
    /configure -prefix /opt/qt5.3.1 -make libs -no-pch -no-opengl -device imx6 -device-option CROSS_COMPILE=/home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -no-largefile -opengl es2 -qt-zlib -qt-libpng -qt-libjpeg -no-nis -no-cups -gui -make examples -sysroot /home/nicola/arm/udoobuntuBeta2Fs -no-gcc-sysroot -opensource -confirm-license -qreal float -v
    I get the following error:
    Code:
    sse2 auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -msse2 -g -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o sse2.o sse2.cpp
    cc1plus: error: unrecognized command line option '-msse2'
    make: *** [sse2.o] Error 1
    sse2 disabled.
    mtdev auto-detection... ()
    Project ERROR: mtdev development package not found
    mtdev disabled.
    DB2 auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o db2.o db2.cpp
    db2.cpp:42:20: fatal error: sqlcli.h: No such file or directory
    compilation terminated.
    make: *** [db2.o] Error 1
    DB2 disabled.
    InterBase auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o ibase.o ibase.cpp
    ibase.cpp:42:19: fatal error: ibase.h: No such file or directory
    compilation terminated.
    make: *** [ibase.o] Error 1
    InterBase disabled.
    MySQL (thread-safe) auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o mysql.o ../mysql/mysql.cpp
    ../mysql/mysql.cpp:42:19: fatal error: mysql.h: No such file or directory
    compilation terminated.
    make: *** [mysql.o] Error 1
    MySQL (thread-safe) disabled.
    MySQL (thread-unsafe) auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o mysql.o mysql.cpp
    mysql.cpp:42:19: fatal error: mysql.h: No such file or directory
    compilation terminated.
    make: *** [mysql.o] Error 1
    MySQL (thread-unsafe) disabled.
    OCI auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o oci.o oci.cpp
    oci.cpp:42:17: fatal error: oci.h: No such file or directory
    compilation terminated.
    make: *** [oci.o] Error 1
    OCI disabled.
    ODBC auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o odbc.o odbc.cpp
    odbc.cpp:45:17: fatal error: sql.h: No such file or directory
    compilation terminated.
    make: *** [odbc.o] Error 1
    ODBC disabled.
    iODBC auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o iodbc.o iodbc.cpp
    iodbc.cpp:42:17: fatal error: sql.h: No such file or directory
    compilation terminated.
    make: *** [iodbc.o] Error 1
    iODBC disabled.
    PostgreSQL auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o psql.o psql.cpp
    psql.cpp:42:22: fatal error: libpq-fe.h: No such file or directory
    compilation terminated.
    make: *** [psql.o] Error 1
    PostgreSQL disabled.
    SQLite2 auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o sqlite2.o sqlite2.cpp
    sqlite2.cpp:42:20: fatal error: sqlite.h: No such file or directory
    compilation terminated.
    make: *** [sqlite2.o] Error 1
    SQLite2 disabled.
    TDS auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o tds.o tds.cpp
    tds.cpp:42:22: fatal error: sybfront.h: No such file or directory
    compilation terminated.
    make: *** [tds.o] Error 1
    TDS disabled.
    POSIX iconv auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o iconv.o iconv.cpp
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -Wl,-rpath-link,/home/nicola/arm/udoobuntuBeta2Fs/usr/lib -Wl,-rpath-link,/home/nicola/arm/udoobuntuBeta2Fs/usr/lib/arm-linux-gnueabihf -Wl,-O1 -o iconv iconv.o   -L/home/nicola/arm/udoobuntuBeta2Fs/usr/lib
    POSIX iconv enabled.
    D-Bus auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o dbus.o dbus.cpp
    dbus.cpp:43:23: fatal error: dbus/dbus.h: No such file or directory
    compilation terminated.
    make: *** [dbus.o] Error 1
    D-Bus disabled.
    Glib auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o glib.o glib.cpp
    glib.cpp:44:18: fatal error: glib.h: No such file or directory
    compilation terminated.
    make: *** [glib.o] Error 1
    Glib disabled.
    ICU auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o icu.o icu.cpp
    icu.cpp:42:28: fatal error: unicode/utypes.h: No such file or directory
    compilation terminated.
    make: *** [icu.o] Error 1
    ICU disabled.
    PulseAudio auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o pulseaudio.o pulseaudio.cpp
    pulseaudio.cpp:42:30: fatal error: pulse/pulseaudio.h: No such file or directory
    compilation terminated.
    make: *** [pulseaudio.o] Error 1
    PulseAudio disabled.
    OpenGL ES 2.x auto-detection... ()
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include -I/home/nicola/arm/udoobuntuBeta2Fs/usr/include/arm-linux-gnueabihf -o opengles2.o opengles2.cpp
    /home/nicola/git/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -Wl,-rpath-link,/home/nicola/arm/udoobuntuBeta2Fs/usr/lib -Wl,-rpath-link,/home/nicola/arm/udoobuntuBeta2Fs/usr/lib/arm-linux-gnueabihf -Wl,-O1 -o opengles2 opengles2.o   -L/home/nicola/arm/udoobuntuBeta2Fs/usr/lib -lGLESv2 -lEGL -lGAL
    /home/nicola/arm/udoobuntuBeta2Fs/usr/lib/arm-linux-gnueabihf/libX11.so.6: undefined reference to `__fdelt_chk@GLIBC_2.15'
    collect2: ld returned 1 exit status
    make: *** [opengles2] Error 1
    OpenGL ES 2.x disabled.
    The OpenGL ES 2.0 functionality test failed!
     You might need to modify the include and library search paths by editing
     QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
     /home/nicola/git/qt5/qtbase/mkspecs/devices/linux-imx6-g++.
    
    There are a lot of errors. Some errors are expected, for example the lack of pulseaudio. Other i don't undestand, for example it fails to find glib.h even if it's available into the /usr/include/glib-2.0 in the root file system of udoobunto.
    The biggest problem i think is OpenGL ES 2.x support not found at the end of the log. It fails to resolve a reference to `__fdelt_chk@GLIBC_2.15'. Can this be a problem with the glibc version?

    How can i solve this problem? Can this be solved with the next UDOObunto release? Or am I doing someting wront?

    Update 2014-07-03:
    I realized I was trying to compile in soft-float for an hard-float distro so I made two other changes.

    I searched in Qt's qmake.conf files a way to enable hard-float and i found the option DISTRO_OPTS. I'm not sure is the correct way but for now it worked, so i add the following line to the allready edited qmake.conf:
    Code:
    DISTRO_OPTS += hard-float
    Maybe i also needed an hard-float tookit, so i searched for one and found in this page:
    https://launchpad.net/linaro-toolchain-binaries/+download?memo=10&start=10
    I chose "gcc-linaro-arm-linux-gnueabihf-2012.05-20120523_linux " because it's the oldest one i found supporting hard-float. Again, I don't know if it's a good toolkit but it worked.

    Now the configure phase is successful but "make" gives the following error after a while:
    Code:
    /home/nicola/bin/gcc-linaro-arm-linux-gnueabihf-2012.05-20120523_linux/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/home/nicola/arm/udoobuntuBeta2Fs/usr/lib -Wl,-rpath-link,/home/nicola/arm/udoobuntuBeta2Fs/usr/lib/arm-linux-gnueabihf -Wl,--no-undefined -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/opt/qt5.3.1/lib -shared -o libqeglfs.so .obj/main.o .obj/qeglfsintegration.o .obj/qeglfswindow.o .obj/qeglfsscreen.o .obj/qeglfshooks_stub.o .obj/qeglfscontext.o .obj/qeglfshooks_imx6.o .obj/qrc_cursor.o  -L/home/nicola/arm/udoobuntuBeta2Fs/usr/lib -L/home/nicola/git/qt5/qtbase/lib -lQt5PlatformSupport -lQt5Gui -lQt5Core -lGLESv2 -lEGL -lGAL -lpthread -lEGL
    .obj/qeglfshooks_imx6.o: In function `QEglFSImx6Hooks::destroyNativeWindow(_FBWindow*)':
    qeglfshooks_imx6.cpp:(.text+0x16): undefined reference to `fbDestroyWindow'
    .obj/qeglfshooks_imx6.o: In function `QEglFSImx6Hooks::createNativeWindow(QPlatformWindow*, QSize const&, QSurfaceFormat const&)':
    qeglfshooks_imx6.cpp:(.text+0x2c): undefined reference to `fbCreateWindow'
    .obj/qeglfshooks_imx6.o: In function `QEglFSImx6Hooks::QEglFSImx6Hooks()':
    qeglfshooks_imx6.cpp:(.text+0x76): undefined reference to `fbGetDisplayByIndex'
    qeglfshooks_imx6.cpp:(.text+0x80): undefined reference to `fbGetDisplayGeometry'
    collect2: error: ld returned 1 exit status
    make[5]: *** [../../../../plugins/platforms/libqeglfs.so] Error 1
    make[5]: Leaving directory `/home/nicola/git/qt5/qtbase/src/plugins/platforms/eglfs'
    make[4]: *** [sub-eglfs-make_first] Error 2
    Something is wrong with egl? I know too little about the provided libraries or egl in general to go further.
    For now i will keep using the linaro ubuntu but i'm still interested to make this work.
     
  2. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Hi nicola, i'm trying to cross-compile qt5 for my udoo quad board but with any success ! I think the tutorial on the web site don't work for Udoobuntu ! I'm blocked in step 5 : ./configure ....

    For information this is my qmake.conf :
    Code:
    include(../common/linux_device_pre.conf)
    
    
    
    ROOTFS_PATH=/home/modjo/Udoo/Qt5_build
    TOOLCHAIN_PREFIX=/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin
    
    EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_imx6.cpp
    
    QMAKE_INCDIR           += $${ROOTFS_PATH}/usr/include $${ROOTFS_PATH}/usr/bin
    QMAKE_LIBDIR           += $${ROOTFS_PATH}/usr/lib/arm-linux-gnueabihf $${ROOTFS_PATH}/usr/lib
    
    QMAKE_INCDIR_OPENGL_ES2 += /home/modjo/Udoo/Qt5_build/usr/include/GLES2
    QMAKE_LIBDIR_OPENGL_ES2 += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2
    
    #QMAKE_LIBS_EGL         += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2
    #QMAKE_LIBS_OPENGL_ES2  += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2
    #QMAKE_LIBS_OPENVG      += /home/modjo/Udoo/Qt5_build/usr/lib/OpenVG
    
    QMAKE_LIBS_EGL         += -lEGL
    QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL -lGAL
    QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL -lGAL
    
    
    QMAKE_LFLAGS           += -Wl,-rpath-link,$$/home/modjo/Udoo/Qt5_build/lib/arm-linux-gnueabihf
    
    IMX6_CFLAGS             = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1
    QMAKE_CFLAGS           += $$IMX6_CFLAGS
    QMAKE_CXXFLAGS         += $$IMX6_CFLAGS
    
    include(../common/linux_arm_device_post.conf)
    
    load(qt_config)
    
    my ./configure :

    Code:
    ./configure -prefix /opt/qt5 -make libs -no-pch -no-opengl -device imx6 -device-option CROSS_COMPILE=/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/ -no-largefile -opengl es2 -qt-zlib -qt-libpng -qt-libjpeg -no-nis -no-cups -gui -make examples -sysroot /home/modjo/Udoo/Qt5_build/exemples -no-gcc-sysroot -opensource -confirm-license -qreal float -v
    
    i obtain this errors :

    Code:
    /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -g -Wall -W -fPIE  -I../../mkspecs/devices/linux-imx6-g++ -I. -I../../../../usr/include -I../../../../usr/bin -o arch.o arch.cpp
    g++: error trying to exec 'cc1plus': execvp: No such file or directory
    Messages de l'assembleur:
    Erreur fatale: option -march= invalide: « armv7-a »
    gmake: *** [arch.o] Erreur 1
    Unable to determine architecture!
     
    Could not determine the target architecture!
    Turn on verbose messaging (-v) to see the final report.
    Determining architecture... ()
    g++ -c -pipe -g -Wall -W -fPIE  -I../../mkspecs/linux-g++ -I. -o arch.o arch.cpp
    g++  -o arch arch.o
        Found architecture in binary
    CFG_HOST_ARCH="i386"
    CFG_HOST_CPUFEATURES=""
    System architecture: 'unknown'
    Host architecture: 'i386'
    C++11 auto-detection... ()
    /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -std=c++0x -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o c++11.o c++11.cpp
    g++: error trying to exec 'cc1plus': execvp: No such file or directory
    Messages de l'assembleur:
    Erreur fatale: option -march= invalide: « armv7-a »
    gmake: *** [c++11.o] Erreur 1
    C++11 disabled.
    floatmath auto-detection... ()
    /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o floatmath.o floatmath.cpp
    g++: error trying to exec 'cc1plus': execvp: No such file or directory
    Messages de l'assembleur:
    Erreur fatale: option -march= invalide: « armv7-a »
    gmake: *** [floatmath.o] Erreur 1
    floatmath disabled.
    sse2 auto-detection... ()
    /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -msse2 -g -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o sse2.o sse2.cpp
    g++: error trying to exec 'cc1plus': execvp: No such file or directory
    Messages de l'assembleur:
    Erreur fatale: option -march= invalide: « armv7-a »
    gmake: *** [sse2.o] Erreur 1
    sse2 disabled.
    .
    .
    .
    .
    .
    .
    .
    
    OpenGL ES 2.x auto-detection... ()
    /home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include/GLES2 -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o opengles2.o opengles2.cpp
    g++: error trying to exec 'cc1plus': execvp: No such file or directory
    Messages de l'assembleur:
    Erreur fatale: option -march= invalide: « armv7-a »
    gmake: *** [opengles2.o] Erreur 1
    OpenGL ES 2.x disabled.
    The OpenGL ES 2.0 functionality test failed!
     You might need to modify the include and library search paths by editing
     QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
     /home/modjo/Udoo/Qt5_build/qt5/qtbase/mkspecs/devices/linux-imx6-g++.
    
    Did you solve your Problem ?

    PLEASE UDOO TEAM UPDATE YOUR TUTORIAL !
     
  3. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    Unfortunately no, i tried also with the UDOObuntu v1 but got the same result.

    For now I'm still using the old ubuntu 12.04.

    From http://www.udoo.org/forum/udoobuntu-2014-the-end-t1840.html#p10372 I read the developers are working ona new release of the OS:
    I hope they are also working on this problem.

    You said you're stuck at step 5, but how did you completed step 3? In the file system i used i wasn't able to find all the required EGL and GAL libraries.
     
  4. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Nicola, i don't check if i have hall the libraries in Udoobuntu, it's probably the reason of the problem ... If i understand you use now Linaro Ubuntu 12.04 LTS (the previous official OS). On this OS you can buid qt5 ? I use a touch screen with my udoo (egalax usb driver), it's works perfectly with Udoobuntu, do you know if it's the case with Linaro ? What's the difference between this two OS ?

    Udoo team, an answer !?
     
  5. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    I'm currently developing a Qt5 software in Linaro Ubuntu 12.04 LTS cross-compiled following the "official" udoo tutorial.
    The bigger problem is that the program will run only into the frame buffer. I don't think it's possible to launch and run a Qt5 program under X11 with the Udoo for now.

    I don't know if the touch screen works in the old version, i don't have one to test.

    Some differences between the two OSs:

    UDOObuntu:
    Based on LXDE
    It's hard-float
    There is the "UDOO Configuration Tool"
    More and updated drivers and softwares

    Linaro Ubuntu 12.04 LTS:
    It's soft-float
    Based on Gnome
    Gnome have minimum windows sizes, if you use a very low resolution it's a problem.
     
  6. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    ok, i will try with this previous OS. Do you know if it's possible to activate the FPU (hard float) on this OS ?
    For information, touch screen works fine on linaro ubuntu.
     
  7. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    I dont' think it's possible. Hard/soft float is a compiler option. An OS is entirely compiled one way or another.
    https://wiki.linaro.org/Linaro-arm-hardfloat
     
  8. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
  9. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    @ Udoo team, progress to cross compile qt5 on udoobuntu ?
     
  10. Andrea Rovai

    Andrea Rovai Well-Known Member

    Joined:
    Oct 27, 2014
    Messages:
    1,703
    Likes Received:
    240
    We are working on that :roll:
     
  11. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Ok, thanks for your answer :p
     
  12. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    And thanks also from me :) .
     
  13. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Did you make some progress to build Qt5 on udoobuntu since last time ? I need Qt5 to present you card at my work, because i think we can use it on new project and i need another card for my project (home automation) and for the moment i hesitate between udoo or pcduino 3 ...
     
  14. ekirei

    ekirei Administrator

    Joined:
    Jun 14, 2013
    Messages:
    78
    Likes Received:
    3
    Hi guys,

    sorry but we're still working on the Qt5 compile. At the moment our kernel doesn't handle the Vivante framebuffer libraries (needed for qt5) which our armhf system doesn't use. We was able to compile the qt5 but with another kernel version from this amazing guy
    viewtopic.php?f=19&t=693

    we need to work on our kernel, it's a not trivial work, it's difficult an eta.
     
  15. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    Thanks for the info :D
     
  16. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Hi ekirei, thanks for your infos ;) i wish you luck for this task ! So do you have an idea of how many time need for this ! If you need to build a new kernel, should you make a new image of udoobuntu ? I talk about your card on another forum and some people are interested by the portage of Qt ... let us know your progress please !
     
  17. ekirei

    ekirei Administrator

    Joined:
    Jun 14, 2013
    Messages:
    78
    Likes Received:
    3
    Yes, if there'll be kernel changes we update the UDOObuntu images too...of course we'll let you know when there any news about.
     
  18. nicola

    nicola Member

    Joined:
    Apr 23, 2014
    Messages:
    45
    Likes Received:
    0
    About Qt5 I report the thread UDOO support on YOCTO DORA where a user released a Yocto BSP meta layer with a Qt5 recipe. If I uderstand well, this is another way to have a working Qt5 library.
     
  19. chrta

    chrta New Member

    Joined:
    Aug 5, 2014
    Messages:
    4
    Likes Received:
    0
    I can confirm that. You can even integrate the meta-qt5 layer from https://github.com/meta-qt5/meta-qt5 to get the current qt5 version.
     
  20. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Yes it could be a solution but i didn't catch all the terms :( what is meta-qt5 layer ?! Otherwise, i don't know yocto os, is it possible to use ftp / samba, chrome, synaptic ... like ubuntu ? I think the easier solution for newbies (like me) is that udooTeam fix the problem to buid Qt5 in udoobuntu and publish a tutorial or better a new image with qt5 in :D
     

Share This Page