Why not cross compile the EGL device integrations plugins?



  • configure :
    check egl-x11 :

    checking for GBM... 
    Project ERROR: gbm development package not found
    GBM disabled.
    checking for LinuxFB... 
    arm-arago-linux-gnueabi-g++ -c -pipe -O3 -march=armv7-a -mfloat-abi=softfp -mfloat-abi=softfp --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs -O2 -Wall 
    
    -W -fPIC  -I. -I/home/wangbi/workdir_project/workdir_Qt/rfs/include -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EGL -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EWS -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES2 -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/KHR -I../../../mkspecs/devices/linux-arm-gnueabi-ti-g++ -o linuxfb.o linuxfb.cpp
    arm-arago-linux-gnueabi-g++ -Wl,-rpath-link,/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib/ES6.0 -Wl,-rpath-
    
    link,/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib -Wl,-rpath-link,/home/wangbi/workdir_project/workdir_Qt/rfs/lib -mfloat-abi=softfp -Wl,-O1 -o linuxfb 
    
    linuxfb.o   -L/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib/ES6.0 -L/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib -
    
    L/home/wangbi/workdir_project/workdir_Qt/rfs/lib --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs 
    LinuxFB enabled.
    checking for KMS... 
    arm-arago-linux-gnueabi-g++ -c -pipe -O3 -march=armv7-a -mfloat-abi=softfp -mfloat-abi=softfp --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs -O2 -Wall 
    
    -W -fPIC  -I. -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/libdrm -I/home/wangbi/workdir_project/workdir_Qt/rfs/include -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EGL -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EWS -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES2 -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/KHR -
    
    I../../../mkspecs/devices/linux-arm-gnueabi-ti-g++ -o kms.o kms.cpp
    kms.cpp: In function 'int main(int, char**)':
    kms.cpp:43:20: warning: unused variable 'currentMode'
    arm-arago-linux-gnueabi-g++ -Wl,-rpath-link,/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib/ES6.0 -Wl,-rpath-
    
    link,/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib -Wl,-rpath-link,/home/wangbi/workdir_project/workdir_Qt/rfs/lib -mfloat-abi=softfp -Wl,-O1 -o kms 
    
    kms.o   -L/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib/ES6.0 -L/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib -
    
    L/home/wangbi/workdir_project/workdir_Qt/rfs/lib --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs -ldrm 
    KMS enabled.
    checking for Mir client... 
    Project ERROR: egl development package not found
    Mir client disabled.
    checking for EGL... 
    arm-arago-linux-gnueabi-g++ -c -pipe -O3 -march=armv7-a -mfloat-abi=softfp -mfloat-abi=softfp --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs -O2 -Wall 
    
    -W -fPIC  -I. -I/home/wangbi/workdir_project/workdir_Qt/rfs/include -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EGL -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EWS -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES2 -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/KHR -I../../../mkspecs/devices/linux-arm-gnueabi-ti-g++ -o egl.o egl.cpp
    egl.cpp: In function 'int main(int, char**)':
    egl.cpp:38:12: warning: unused variable 'x'
    arm-arago-linux-gnueabi-g++ -Wl,-rpath-link,/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib/ES6.0 -Wl,-rpath-
    
    link,/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib -Wl,-rpath-link,/home/wangbi/workdir_project/workdir_Qt/rfs/lib -mfloat-abi=softfp -Wl,-O1 -o egl 
    
    egl.o   -L/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib/ES6.0 -L/home/wangbi/workdir_project/workdir_Qt/rfs/usr/lib -
    
    L/home/wangbi/workdir_project/workdir_Qt/rfs/lib --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs -lEGL 
    EGL enabled.
    checking for EGL-X11... 
    arm-arago-linux-gnueabi-g++ -c -pipe -O3 -march=armv7-a -mfloat-abi=softfp -mfloat-abi=softfp --sysroot=/home/wangbi/workdir_project/workdir_Qt/rfs -O2 -Wall 
    
    -W -fPIC  -I. -I/home/wangbi/workdir_project/workdir_Qt/rfs/include -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EGL -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/EWS -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES -I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/GLES2 -
    
    I/home/wangbi/workdir_project/workdir_Qt/rfs/usr/include/KHR -I../../../mkspecs/devices/linux-arm-gnueabi-ti-g++ -o egl-x11.o egl-x11.cpp
    egl-x11.cpp: In function 'int main(int, char**)':
    egl-x11.cpp:48:50: error: invalid conversion from 'Display*' to 'EGLNativeDisplayType'
    egl-x11.cpp:49:11: error: invalid conversion from 'EGLNativeDisplayType' to 'Display*'
    egl-x11.cpp:50:79: error: invalid conversion from 'Window' to 'void*'
    egl-x11.cpp:51:26: error: invalid conversion from 'void*' to 'Window'
    egl-x11.cpp:51:26: error:   initializing argument 2 of 'int XDestroyWindow(Display*, Window)'
    Makefile:239: recipe for target 'egl-x11.o' failed
    make: *** [egl-x11.o] Error 1
    EGL-X11 disabled.
    
    Configuration .......... accessibility alsa audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile dbus dbus-linked egl 
    
    eglfs enable_new_dtags evdev eventfd fontconfig full-config getaddrinfo getifaddrs glib gstreamer-0.10 gtk2 gtkstyle harfbuzz iconv inotify ipv6ifname kms 
    
    large-config largefile libudev linuxfb medium-config minimal-config mremap opengl opengles2 openssl openvg pcre png posix_fallocate precompile_header 
    
    pulseaudio qpa qpa reduce_exports release rpath shared small-config system-freetype system-jpeg system-png system-zlib threadsafe-cloexec tslib xlib xrender 
      Build parts ............ libs
      Mode ................... release
      Using sanitizer(s)...... none
      Using C++ standard ..... c++11
      Using gold linker....... no
      Using new DTAGS ........ yes
      Using PCH .............. yes
      Using LTCG ............. no
      Target compiler supports:
        Neon ................. no
    
    Qt modules and options:
      Qt D-Bus ............... yes (linked to dbus-1)
      Qt Concurrent .......... yes
      Qt GUI ................. yes
      Qt Widgets ............. yes
      Large File ............. yes
      QML debugging .......... yes
      Use system proxies ..... no
    
    Support enabled for:
      Accessibility .......... yes
      ALSA ................... yes
      CUPS ................... no
      Evdev .................. yes
      FontConfig ............. yes
      FreeType ............... yes (system library)
      Glib ................... yes
      GStreamer .............. yes (0.10)
      GTK theme .............. yes
      HarfBuzz ............... yes (bundled copy)
      Iconv .................. yes
      ICU .................... no
      Image formats: 
        GIF .................. yes (plugin, using bundled copy)
        JPEG ................. yes (plugin, using system library)
        PNG .................. yes (in QtGui, using system library)
      libinput................ no
      Logging backends: 
        journald ............... no
        syslog   ............... no
      mtdev .................. no
      Networking: 
        getaddrinfo .......... yes
        getifaddrs ........... yes
        IPv6 ifname .......... yes
        libproxy.............. no
        OpenSSL .............. yes (loading libraries at run-time)
      OpenGL / OpenVG: 
        EGL .................. yes
        OpenGL ............... yes (OpenGL ES 2.0+)
        OpenVG ............... yes-auto
      PCRE ................... yes (bundled copy)
      pkg-config ............. yes 
      PulseAudio ............. yes
      QPA backends: 
        DirectFB ............. no
        EGLFS ................ yes
          EGLFS i.MX6 ........ no
          EGLFS i.MX6 Wayland. no
          EGLFS EGLDevice .... no
          EGLFS GBM .......... no
          EGLFS Mali ......... no
          EGLFS Raspberry Pi . no
          EGLFS X11 .......... no
        LinuxFB .............. yes
        Mir client............ no
        XCB .................. no
      Session management ..... yes
      SQL drivers: 
        DB2 .................. no
        InterBase ............ no
        MySQL ................ no
        OCI .................. no
        ODBC ................. no
        PostgreSQL ........... no
        SQLite 2 ............. no
        SQLite ............... yes (plugin, using bundled copy)
        TDS .................. no
      tslib .................. yes
      udev ................... yes
      xkbcommon-x11........... no
      xkbcommon-evdev......... no
      zlib ................... yes (system library)
    
    

    when entry qtbase/src/plugins/platforms/eglfs/deviceintegration:
    make

    make: Nothing to be done for 'first'.
    

  • Lifetime Qt Champion

    Hi,

    What parameters are you passing to configure ?



  • @SGaist

    Hi,
    the configure params:

    ./configure \
    -v \
    -opensource \
    -confirm-license \
    -device-option CROSS_COMPILE=arm-arago-linux-gnueabi- \
    -device linux-arm-gnueabi-ti-g++  \
    -prefix /opt/autorun/qt5 \
    -extprefix /home/wangbi/workdir_project/workdir_Qt/Qt5.6.3/qt5  \
    -hostprefix /home/wangbi/workdir_project/workdir_Qt/Qt5.6.3/qt5-host  \
    -nomake examples \
    -nomake tests    \
    -opengl es2       \
    -no-xcb   \
    -sysroot /home/wangbi/workdir_project/workdir_Qt/rfs
    

  • Lifetime Qt Champion

    Is that a custom device mkspec ?



  • @SGaist
    Hi, it is not, ti provides.



  • @Alex_wang
    linux-arm-gnueabi-ti-g++ :
    qmake.conf:

    include(../common/linux_device_pre.conf)
    
    # Change the required paths here
    QMAKE_INCDIR          += $$[QT_SYSROOT]/include \
                             $$[QT_SYSROOT]/usr/include \
                             $$[QT_SYSROOT]/usr/include/EGL \
                             $$[QT_SYSROOT]/usr/include/EWS \
                             $$[QT_SYSROOT]/usr/include/GLES \
                             $$[QT_SYSROOT]/usr/include/GLES2 \
                             $$[QT_SYSROOT]/usr/include/KHR
                            
    QMAKE_LIBDIR          += \
                             $$[QT_SYSROOT]/usr/lib/ES6.0 \
                             $$[QT_SYSROOT]/usr/lib                   \
                             $$[QT_SYSROOT]/lib           
                             
              
    QMAKE_LFLAGS += \
        -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/ES6.0 \
        -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib  \
        -Wl,-rpath-link,$$[QT_SYSROOT]/lib      
        
    
    QMAKE_INCDIR_OPENGL[_ES2] += $$[QT_SYSROOT]/usr/include     \
                                 $$[QT_SYSROOT]/usr/include/EGL \
                                 $$[QT_SYSROOT]/usr/include/EWS \
                                 $$[QT_SYSROOT]/usr/include/GLES \
                                 $$[QT_SYSROOT]/usr/include/GLES2 \
                                 $$[QT_SYSROOT]/usr/include/KHR
                              
    QMAKE_LIBDIR_OPENGL[_ES2] += \
                                 $$[QT_SYSROOT]/usr/lib/ES6.0 \
                                 $$[QT_SYSROOT]/usr/lib  
                                 
                                 
    
    
    
    QMAKE_LIBS_OPENGL[_ES2]   += -lEGL -lIMGegl -lsrv_um -lGLESv2 -lGLES_CM -lusc -lkms
    
    
    COMPILER_FLAGS   += -O3 -march=armv7-a -mfloat-abi=softfp 
    
    
    # When configured with -opengl es2, eglfs will be functional with its
    # dummy fullscreen X11 or kms backend, in addition to xcb.
    EGLFS_DEVICE_INTEGRATION = eglfs_kms
     
    include(../common/linux_arm_device_post.conf)
    
    load(qt_config)
    

  • Lifetime Qt Champion

    Do you have the OpenGL libraries and includes installed on your system ?



  • @SGaist
    Hi,
    Yes, the configure result :

    OpenGL / OpenVG: 
        EGL .................. yes
        OpenGL ............... yes (OpenGL ES 2.0+)
        OpenVG ............... yes-auto
    
    .......
    QPA backends: 
        DirectFB ............. no
        EGLFS ................ yes
          EGLFS i.MX6 ........ no
          EGLFS i.MX6 Wayland. no
          EGLFS EGLDevice .... no
          EGLFS GBM .......... no
          EGLFS Mali ......... no
          EGLFS Raspberry Pi . no
          EGLFS X11 .......... no
        LinuxFB .............. yes
        Mir client............ no
        XCB .................. no
    
    

  • Lifetime Qt Champion

    How old is the linux distribution you are trying to cross-compile for ?



  • @SGaist
    Hi,
    Linux kernel release 2.6.xx http://kernel.org/


Log in to reply
 

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