I built Qt Everywhere for beaglebone black (OS Debian) but fail, somebody used to built it success can help me?
-
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! -
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!@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).
-
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! -
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!
-
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!
@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 -
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!
@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." -
@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."@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-
-
@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-
@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]
-
@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]
@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
) 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?!!
-
@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
) 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?!!
@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.
-
@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.
@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!
-
@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!
@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. -
@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.@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 -
@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.4This post is deleted! -
@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 -
@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 ?@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
-
@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
-
@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. -
@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
@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". -
@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".