Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. I built Qt Everywhere for beaglebone black (OS Debian) but fail, somebody used to built it success can help me?
Forum Updated to NodeBB v4.3 + New Features

I built Qt Everywhere for beaglebone black (OS Debian) but fail, somebody used to built it success can help me?

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
43 Posts 3 Posters 25.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dang Vu
    wrote on last edited by A Former User
    #1

    i built qt-everywhere 5.7.0 for beaglebone black( OS debian) but i can't succesed! i found some tutorial in google but it not work because one error... opengl es2! if i skip it( -skip opengl es2) then i run application in beaglebone it anoucement: "no eglfs", if configure have -opengl es2 then i have error:

    /pulseaudio.cpp:40:30: fatal error: pulse/pulseaudio.h: No such file or directory
    compilation terminated.
    Makefile:192: recipe for target 'pulseaudio.o' failed
    make: *** [pulseaudio.o] Error 1
    PulseAudio disabled.
    checking for OpenGL ES 2.0... 
    arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard -O2 -O3 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o opengles2.o opengles2.cpp
    arm-linux-gnueabihf-g++ -mfloat-abi=hard -Wl,-O1 -o opengles2 opengles2.o   -lrt -lpthread -ldl -lGLESv2 -lEGL -lIMGegl -lsrv_um 
    /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lGLESv2
    /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lEGL
    /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lIMGegl
    /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lsrv_um
    collect2: error: ld returned 1 exit status
    Makefile:90: recipe for target 'opengles2' failed
    make: *** [opengles2] Error 1
    OpenGL ES 2.0 disabled.
    The OpenGL ES 2.0 functionality test failed!
     Use of pkg-config is not enabled, maybe you want to pass -pkg-config?
     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/ngocvu/Downloads/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-beagleboard-g++.
    
    

    I try Mesa( i fail to built it for arm) but some people in here tell me: i don't need built Mesa!
    i can't find solution to built qt5.7! then...some body used to built qt-everywhere 5.7.0 for beaglebone( OS debian) can help me? i need a tutorial or link in different website! i built success qt4.8.6 but version QT 5. is different, i fail in here! thanks for read!

    jsulmJ 2 Replies Last reply
    0
    • D Dang Vu

      i built qt-everywhere 5.7.0 for beaglebone black( OS debian) but i can't succesed! i found some tutorial in google but it not work because one error... opengl es2! if i skip it( -skip opengl es2) then i run application in beaglebone it anoucement: "no eglfs", if configure have -opengl es2 then i have error:

      /pulseaudio.cpp:40:30: fatal error: pulse/pulseaudio.h: No such file or directory
      compilation terminated.
      Makefile:192: recipe for target 'pulseaudio.o' failed
      make: *** [pulseaudio.o] Error 1
      PulseAudio disabled.
      checking for OpenGL ES 2.0... 
      arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard -O2 -O3 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o opengles2.o opengles2.cpp
      arm-linux-gnueabihf-g++ -mfloat-abi=hard -Wl,-O1 -o opengles2 opengles2.o   -lrt -lpthread -ldl -lGLESv2 -lEGL -lIMGegl -lsrv_um 
      /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lGLESv2
      /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lEGL
      /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lIMGegl
      /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lsrv_um
      collect2: error: ld returned 1 exit status
      Makefile:90: recipe for target 'opengles2' failed
      make: *** [opengles2] Error 1
      OpenGL ES 2.0 disabled.
      The OpenGL ES 2.0 functionality test failed!
       Use of pkg-config is not enabled, maybe you want to pass -pkg-config?
       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/ngocvu/Downloads/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-beagleboard-g++.
      
      

      I try Mesa( i fail to built it for arm) but some people in here tell me: i don't need built Mesa!
      i can't find solution to built qt5.7! then...some body used to built qt-everywhere 5.7.0 for beaglebone( OS debian) can help me? i need a tutorial or link in different website! i built success qt4.8.6 but version QT 5. is different, i fail in here! thanks for read!

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @Dang-Vu
      You don't have to build Mesa by yourself - Debian already provides it, just install needed packages.

      fatal error: pulse/pulseaudio.h: No such file or directory
      

      means that pulseaudio header files are not present. You need to install pulseaudio Debian packages (including -dev packages) if you want to use audio in your Qt apps (else you can ignore this issue).

      1 Reply Last reply
      0
      • D Dang Vu

        i built qt-everywhere 5.7.0 for beaglebone black( OS debian) but i can't succesed! i found some tutorial in google but it not work because one error... opengl es2! if i skip it( -skip opengl es2) then i run application in beaglebone it anoucement: "no eglfs", if configure have -opengl es2 then i have error:

        /pulseaudio.cpp:40:30: fatal error: pulse/pulseaudio.h: No such file or directory
        compilation terminated.
        Makefile:192: recipe for target 'pulseaudio.o' failed
        make: *** [pulseaudio.o] Error 1
        PulseAudio disabled.
        checking for OpenGL ES 2.0... 
        arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard -O2 -O3 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o opengles2.o opengles2.cpp
        arm-linux-gnueabihf-g++ -mfloat-abi=hard -Wl,-O1 -o opengles2 opengles2.o   -lrt -lpthread -ldl -lGLESv2 -lEGL -lIMGegl -lsrv_um 
        /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lGLESv2
        /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lEGL
        /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lIMGegl
        /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lsrv_um
        collect2: error: ld returned 1 exit status
        Makefile:90: recipe for target 'opengles2' failed
        make: *** [opengles2] Error 1
        OpenGL ES 2.0 disabled.
        The OpenGL ES 2.0 functionality test failed!
         Use of pkg-config is not enabled, maybe you want to pass -pkg-config?
         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/ngocvu/Downloads/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-beagleboard-g++.
        
        

        I try Mesa( i fail to built it for arm) but some people in here tell me: i don't need built Mesa!
        i can't find solution to built qt5.7! then...some body used to built qt-everywhere 5.7.0 for beaglebone( OS debian) can help me? i need a tutorial or link in different website! i built success qt4.8.6 but version QT 5. is different, i fail in here! thanks for read!

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #3

        @Dang-Vu Install these packages on your target device: libgl1-mesa-dev, libgles2-mesa-dev

        D 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Dang-Vu Install these packages on your target device: libgl1-mesa-dev, libgles2-mesa-dev

          D Offline
          D Offline
          Dang Vu
          wrote on last edited by
          #4

          @jsulm

          libgl1-mesa-dev is already the newest version (11.2.0-1ubuntu2.2).
          libgles2-mesa-dev is already the newest version (11.2.0-1ubuntu2.2).
          

          my issues is Opengl es2, Sir!
          i configure Qt right or wrong Sir?

          ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -qt-xcb -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
          

          if i don't have a opengl es2 in configure i will lost a " libqeglfs.so, libqlinuxfb.so, libqminimalegl.so" file ! and i built QT-everywhere in Linux host use OS Ubuntu, not Debian! Debian use by beaglebone black!

          jsulmJ 2 Replies Last reply
          0
          • D Dang Vu

            @jsulm

            libgl1-mesa-dev is already the newest version (11.2.0-1ubuntu2.2).
            libgles2-mesa-dev is already the newest version (11.2.0-1ubuntu2.2).
            

            my issues is Opengl es2, Sir!
            i configure Qt right or wrong Sir?

            ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -qt-xcb -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
            

            if i don't have a opengl es2 in configure i will lost a " libqeglfs.so, libqlinuxfb.so, libqminimalegl.so" file ! and i built QT-everywhere in Linux host use OS Ubuntu, not Debian! Debian use by beaglebone black!

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #5

            @Dang-Vu Did you install these packages on your Debian target device?
            It doesn't matter at all what you install on your Ubuntu host PC as you want to cross compile for your Debian target device.
            So please make sure you have those packages on your target device!
            You need to understand how cross compilation works: you need libraries for your target device not your host build machine. You cannot use your Ubuntu x86 libraries on your ARM Debian device.
            libgles2-mesa-dev - this one should be OpenGLES

            1 Reply Last reply
            1
            • D Dang Vu

              @jsulm

              libgl1-mesa-dev is already the newest version (11.2.0-1ubuntu2.2).
              libgles2-mesa-dev is already the newest version (11.2.0-1ubuntu2.2).
              

              my issues is Opengl es2, Sir!
              i configure Qt right or wrong Sir?

              ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -qt-xcb -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
              

              if i don't have a opengl es2 in configure i will lost a " libqeglfs.so, libqlinuxfb.so, libqminimalegl.so" file ! and i built QT-everywhere in Linux host use OS Ubuntu, not Debian! Debian use by beaglebone black!

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @Dang-Vu Also in your configure line I cannot find -sysroot parameter which should point to your sysroot. See http://doc.qt.io/qt-5.7/configure-options.html
              "Note: Toolchains for non-desktop targets often come with a so-called sysroot which Qt needs to be configured against."

              http://doc.qt.io/qt-5.7/embedded-linux.html#configuring-a-specific-device
              "Building Qt for a given device requires a toolchain and a sysroot."
              "The most important parameters are -device and -sysroot. By specifying -sysroot, the include files and libraries used by configure's feature detection tests, as well as Qt itself, is taken from the specified location, instead of the host PC's standard locations."

              D 1 Reply Last reply
              0
              • jsulmJ jsulm

                @Dang-Vu Also in your configure line I cannot find -sysroot parameter which should point to your sysroot. See http://doc.qt.io/qt-5.7/configure-options.html
                "Note: Toolchains for non-desktop targets often come with a so-called sysroot which Qt needs to be configured against."

                http://doc.qt.io/qt-5.7/embedded-linux.html#configuring-a-specific-device
                "Building Qt for a given device requires a toolchain and a sysroot."
                "The most important parameters are -device and -sysroot. By specifying -sysroot, the include files and libraries used by configure's feature detection tests, as well as Qt itself, is taken from the specified location, instead of the host PC's standard locations."

                D Offline
                D Offline
                Dang Vu
                wrote on last edited by
                #7

                @jsulm said in i built qt-everywhere for beaglebone black( OS Debian) but fail, somebody used to built it success can help me?:

                Also in your configure line I cannot find -sysroot parameter which should point to your sysroot. See http://doc.qt.io/qt-5.7/configure-options.html
                "Note: Toolchains for non-desktop targets often come with a so-called sysroot which Qt needs to be configured against."
                http://doc.qt.io/qt-5.7/embedded-linux.html#configuring-a-specific-device
                "Building Qt for a given device requires a toolchain and a sysroot."
                "The most important parameters are -device and -sysroot. By specifying -sysroot, the include files and libraries used by configure's feature detection tests, as well as Qt itself, is taken from the specified location, instead of the host PC's standard locations."

                it's mean i must connect beagle bone device to host computer while built? i don't understand about sysroot! sir! i read some document tell about: " -sysroot /pathtothe/rootfs" but i don't know what it's! Sir!

                ./configure -v -opensource -confirm-license -qt-xcb -no-xinput2 -no-tslib -nomake examples -nomake tests -sysroot /pathtothe/rootfs -prefix /path_to_install/bbb-qt-5.5.1 -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- 
                
                jsulmJ 1 Reply Last reply
                0
                • D Dang Vu

                  @jsulm said in i built qt-everywhere for beaglebone black( OS Debian) but fail, somebody used to built it success can help me?:

                  Also in your configure line I cannot find -sysroot parameter which should point to your sysroot. See http://doc.qt.io/qt-5.7/configure-options.html
                  "Note: Toolchains for non-desktop targets often come with a so-called sysroot which Qt needs to be configured against."
                  http://doc.qt.io/qt-5.7/embedded-linux.html#configuring-a-specific-device
                  "Building Qt for a given device requires a toolchain and a sysroot."
                  "The most important parameters are -device and -sysroot. By specifying -sysroot, the include files and libraries used by configure's feature detection tests, as well as Qt itself, is taken from the specified location, instead of the host PC's standard locations."

                  it's mean i must connect beagle bone device to host computer while built? i don't understand about sysroot! sir! i read some document tell about: " -sysroot /pathtothe/rootfs" but i don't know what it's! Sir!

                  ./configure -v -opensource -confirm-license -qt-xcb -no-xinput2 -no-tslib -nomake examples -nomake tests -sysroot /pathtothe/rootfs -prefix /path_to_install/bbb-qt-5.5.1 -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- 
                  
                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by SGaist
                  #8

                  @Dang-Vu Basically a sysroot is the file system (or part of it) of your target device. You need a sysrott because it contains needed libraries and header files for your target device. There are several possibilities to get a sysroot:

                  • Sometimes the vendor provides a SDK which contains a sysroot
                  • You can connect the SDCard, hard drive, or what ever storage your device uses, to your host PC
                  • You can use NFS to mount the root file system of your target device over network (I do this with my RaspberryPi)

                  I don't know which option is the best one for you. If you use a SDCard in your target device then you can just put that SDCard into your PC, mount it somewhere (for example in /media/sdcard) and use that directory as sysroot:

                  -sysroot /media/sdcard
                  

                  [edit: Fixed network mount type name SGaist]

                  D 1 Reply Last reply
                  3
                  • jsulmJ jsulm

                    @Dang-Vu Basically a sysroot is the file system (or part of it) of your target device. You need a sysrott because it contains needed libraries and header files for your target device. There are several possibilities to get a sysroot:

                    • Sometimes the vendor provides a SDK which contains a sysroot
                    • You can connect the SDCard, hard drive, or what ever storage your device uses, to your host PC
                    • You can use NFS to mount the root file system of your target device over network (I do this with my RaspberryPi)

                    I don't know which option is the best one for you. If you use a SDCard in your target device then you can just put that SDCard into your PC, mount it somewhere (for example in /media/sdcard) and use that directory as sysroot:

                    -sysroot /media/sdcard
                    

                    [edit: Fixed network mount type name SGaist]

                    D Offline
                    D Offline
                    Dang Vu
                    wrote on last edited by Dang Vu
                    #9

                    @jsulm, the Firts thank you for reply me! it's my honor! about your disposal, i understand like: i need a connect SD card contain a BBB-eMMC-flasher-debian-8.2-lxqt-2gb-armhf-2015-11-29-2gb.img ( curentl version my beagle use, in picture alt text) and mount it( /media/ngocvu/rootfs) , after i configure QT below:

                    ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -sysroot /media/ngocvu/rootfs -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
                    

                    but it's not work, old error:

                    checking for OpenGL ES 2.0... 
                    arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/media/ngocvu/rootfs -O2 -O3 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o opengles2.o opengles2.cpp
                    opengles2.cpp:43:25: fatal error: GLES2/gl2.h: No such file or directory
                    compilation terminated.
                    Makefile:192: recipe for target 'opengles2.o' failed
                    make: *** [opengles2.o] Error 1
                    OpenGL ES 2.0 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/ngocvu/Downloads/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-beagleboard-g++.
                    

                    i wrong step?!!

                    jsulmJ 1 Reply Last reply
                    0
                    • D Dang Vu

                      @jsulm, the Firts thank you for reply me! it's my honor! about your disposal, i understand like: i need a connect SD card contain a BBB-eMMC-flasher-debian-8.2-lxqt-2gb-armhf-2015-11-29-2gb.img ( curentl version my beagle use, in picture alt text) and mount it( /media/ngocvu/rootfs) , after i configure QT below:

                      ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -sysroot /media/ngocvu/rootfs -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
                      

                      but it's not work, old error:

                      checking for OpenGL ES 2.0... 
                      arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/media/ngocvu/rootfs -O2 -O3 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o opengles2.o opengles2.cpp
                      opengles2.cpp:43:25: fatal error: GLES2/gl2.h: No such file or directory
                      compilation terminated.
                      Makefile:192: recipe for target 'opengles2.o' failed
                      make: *** [opengles2.o] Error 1
                      OpenGL ES 2.0 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/ngocvu/Downloads/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-beagleboard-g++.
                      

                      i wrong step?!!

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      @Dang-Vu You need a sysroot with installed OpenGL ES packages. So, you should NOT use the *.img file, because it does not yet contain those packages. Instead you boot your device, log on on it and install needed packages (apt-get install libgles2-mesa-dev). Then you shut down the device, put the SDCard in your PC and try again.

                      D 1 Reply Last reply
                      1
                      • jsulmJ jsulm

                        @Dang-Vu You need a sysroot with installed OpenGL ES packages. So, you should NOT use the *.img file, because it does not yet contain those packages. Instead you boot your device, log on on it and install needed packages (apt-get install libgles2-mesa-dev). Then you shut down the device, put the SDCard in your PC and try again.

                        D Offline
                        D Offline
                        Dang Vu
                        wrote on last edited by
                        #11

                        @jsulm said in i built qt-everywhere for beaglebone black( OS Debian) but fail, somebody used to built it success can help me?:

                        You need a sysroot with installed OpenGL ES packages. So, you should NOT use the *.img file, because it does not yet contain those packages. Instead you boot your device, log on on it and install needed packages (apt-get install libgles2-mesa-dev). Then you shut down the device, put the SDCard in your PC and try again.

                        i think it possible Sir? because my beaglebone can install debian from SD card into Flash memory of beaglebone, after it can work without SD card! but i will try again! P/s: my SD card contain a file extracted( i use Disk Image to write data from debian.img to Sd card) ! i usually use it't for install OS for Beaglebone!

                        jsulmJ 1 Reply Last reply
                        0
                        • D Dang Vu

                          @jsulm said in i built qt-everywhere for beaglebone black( OS Debian) but fail, somebody used to built it success can help me?:

                          You need a sysroot with installed OpenGL ES packages. So, you should NOT use the *.img file, because it does not yet contain those packages. Instead you boot your device, log on on it and install needed packages (apt-get install libgles2-mesa-dev). Then you shut down the device, put the SDCard in your PC and try again.

                          i think it possible Sir? because my beaglebone can install debian from SD card into Flash memory of beaglebone, after it can work without SD card! but i will try again! P/s: my SD card contain a file extracted( i use Disk Image to write data from debian.img to Sd card) ! i usually use it't for install OS for Beaglebone!

                          jsulmJ Offline
                          jsulmJ Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          @Dang-Vu Such image files usually do not contain everything. I'm quite sure the image file does not contain OpenGL ES header files.
                          An easier solution is to mount the root file system of your target device on your PC via NFS, see https://wiki.ubuntuusers.de/NFS/
                          Ubuntu and Debian are very similar, so you can do it as described there.

                          D 1 Reply Last reply
                          0
                          • jsulmJ jsulm

                            @Dang-Vu Such image files usually do not contain everything. I'm quite sure the image file does not contain OpenGL ES header files.
                            An easier solution is to mount the root file system of your target device on your PC via NFS, see https://wiki.ubuntuusers.de/NFS/
                            Ubuntu and Debian are very similar, so you can do it as described there.

                            D Offline
                            D Offline
                            Dang Vu
                            wrote on last edited by
                            #13

                            @jsulm Dear Sir, i try but i have a problem with -sysroot! when i have a path -sysroot /media/ngocvu/rootfs ( i compress a rootfs in https://docs.google.com/uc?id=0BxlMhouhD6_YSmFlaExyVHJUTlU&export=download , full opengl, gcc,g++, linaro toolchains you can download and see it)

                            checking for C++11... 
                            arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/usr/bin/ -O2 -O3 -std=gnu++11 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o c++11.o c++11.cpp
                            c++11.cpp:46:19: fatal error: utility: No such file or directory
                             #include <utility>
                                               ^
                            compilation terminated.
                            make: *** [c++11.o] Error 1
                            C++11 disabled.
                            ERROR: Qt requires a C++11 compiler and yours does not seem to be that.
                            Please upgrade.
                            

                            if don't have -sysroot /media/ngocvu/rootfs , configure will good work!
                            i don't understand that error! i was installed g++ version g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

                            jsulmJ 2 Replies Last reply
                            0
                            • D Dang Vu

                              @jsulm Dear Sir, i try but i have a problem with -sysroot! when i have a path -sysroot /media/ngocvu/rootfs ( i compress a rootfs in https://docs.google.com/uc?id=0BxlMhouhD6_YSmFlaExyVHJUTlU&export=download , full opengl, gcc,g++, linaro toolchains you can download and see it)

                              checking for C++11... 
                              arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/usr/bin/ -O2 -O3 -std=gnu++11 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o c++11.o c++11.cpp
                              c++11.cpp:46:19: fatal error: utility: No such file or directory
                               #include <utility>
                                                 ^
                              compilation terminated.
                              make: *** [c++11.o] Error 1
                              C++11 disabled.
                              ERROR: Qt requires a C++11 compiler and yours does not seem to be that.
                              Please upgrade.
                              

                              if don't have -sysroot /media/ngocvu/rootfs , configure will good work!
                              i don't understand that error! i was installed g++ version g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14
                              This post is deleted!
                              1 Reply Last reply
                              0
                              • D Dang Vu

                                @jsulm Dear Sir, i try but i have a problem with -sysroot! when i have a path -sysroot /media/ngocvu/rootfs ( i compress a rootfs in https://docs.google.com/uc?id=0BxlMhouhD6_YSmFlaExyVHJUTlU&export=download , full opengl, gcc,g++, linaro toolchains you can download and see it)

                                checking for C++11... 
                                arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=hard --sysroot=/usr/bin/ -O2 -O3 -std=gnu++11 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-beagleboard-g++ -o c++11.o c++11.cpp
                                c++11.cpp:46:19: fatal error: utility: No such file or directory
                                 #include <utility>
                                                   ^
                                compilation terminated.
                                make: *** [c++11.o] Error 1
                                C++11 disabled.
                                ERROR: Qt requires a C++11 compiler and yours does not seem to be that.
                                Please upgrade.
                                

                                if don't have -sysroot /media/ngocvu/rootfs , configure will good work!
                                i don't understand that error! i was installed g++ version g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

                                jsulmJ Offline
                                jsulmJ Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #15

                                @Dang-Vu Can you please post the output of

                                arm-linux-gnueabihf-g++ --version
                                

                                ?
                                How did you call configure?
                                What is inside /media/ngocvu/rootfs ?

                                D 1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @Dang-Vu Can you please post the output of

                                  arm-linux-gnueabihf-g++ --version
                                  

                                  ?
                                  How did you call configure?
                                  What is inside /media/ngocvu/rootfs ?

                                  D Offline
                                  D Offline
                                  Dang Vu
                                  wrote on last edited by
                                  #16

                                  @jsulm ouput g++ version:

                                  arm-linux-gnueabihf-g++ (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) 4.8.4
                                  Copyright (C) 2013 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
                                  

                                  .my configure

                                  ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -sysroot /media/ngocvu/rootfs -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
                                  

                                  in inside the /media/ngocvu/rootfs is debian image, ecxactly is a "/" of OS debian run in SD card! without SD card it cannot run!) and i upload it folder to google drive! it's link https://docs.google.com/uc?id=0BxlMhouhD6_YSmFlaExyVHJUTlU&export=download

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • D Dang Vu

                                    @jsulm ouput g++ version:

                                    arm-linux-gnueabihf-g++ (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) 4.8.4
                                    Copyright (C) 2013 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
                                    

                                    .my configure

                                    ./configure -v -opensource -confirm-license -prefix /usr/local/qt-5.7 -no-largefile -no-accessibility -sysroot /media/ngocvu/rootfs -opengl es2 -eglfs -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -skip qtpurchasing -skip qtcanvas3d -no-cups -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
                                    

                                    in inside the /media/ngocvu/rootfs is debian image, ecxactly is a "/" of OS debian run in SD card! without SD card it cannot run!) and i upload it folder to google drive! it's link https://docs.google.com/uc?id=0BxlMhouhD6_YSmFlaExyVHJUTlU&export=download

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #17

                                    @Dang-Vu Can you execute

                                    find /media/ngocvu/rootfs -name utility
                                    

                                    and post the output?
                                    You probably did not install needed dev packages on your target, so header files like "utility" are missing.

                                    D 1 Reply Last reply
                                    0
                                    • jsulmJ jsulm

                                      @Dang-Vu Can you execute

                                      find /media/ngocvu/rootfs -name utility
                                      

                                      and post the output?
                                      You probably did not install needed dev packages on your target, so header files like "utility" are missing.

                                      D Offline
                                      D Offline
                                      Dang Vu
                                      wrote on last edited by
                                      #18

                                      @jsulm my output find /media/ngocvu/rootfs -name utility, Sir!

                                      ./opt/source/Userspace-Arduino/utility
                                      ./usr/include/c++/4.9/tr1/utility
                                      ./usr/include/c++/4.9/utility
                                      
                                      
                                      jsulmJ 1 Reply Last reply
                                      0
                                      • D Dang Vu

                                        @jsulm my output find /media/ngocvu/rootfs -name utility, Sir!

                                        ./opt/source/Userspace-Arduino/utility
                                        ./usr/include/c++/4.9/tr1/utility
                                        ./usr/include/c++/4.9/utility
                                        
                                        
                                        jsulmJ Offline
                                        jsulmJ Offline
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #19

                                        @Dang-Vu That line is wrong:

                                        --sysroot=/usr/bin
                                        

                                        it tells the compiler to look in /usr/bin/include for header files which is wrong.
                                        I don't know why this parameter is passed to the compiler. Maybe it comes from your previous attempts to cross-compile?
                                        Do you call configure script from the directory where Qt source code is located?
                                        If so then please extract Qt sources again and call configure from another directory to do a clean "out of source build".

                                        D 2 Replies Last reply
                                        0
                                        • jsulmJ jsulm

                                          @Dang-Vu That line is wrong:

                                          --sysroot=/usr/bin
                                          

                                          it tells the compiler to look in /usr/bin/include for header files which is wrong.
                                          I don't know why this parameter is passed to the compiler. Maybe it comes from your previous attempts to cross-compile?
                                          Do you call configure script from the directory where Qt source code is located?
                                          If so then please extract Qt sources again and call configure from another directory to do a clean "out of source build".

                                          D Offline
                                          D Offline
                                          Dang Vu
                                          wrote on last edited by
                                          #20
                                          This post is deleted!
                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved