Problems about Native build Qt5.7 on raspberry pi3
-
and the installation info error is :
make[5]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src/plugins/platforms/qwayland-brcm-egl'
cd qwayland-xcomposite-egl/ && ( test -e Makefile || /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qmake /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src/plugins/platforms/qwayland-xcomposite-egl/qwayland-xcomposite-egl.pro -qtconf /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qt.conf -o Makefile ) && make -f Makefile install
make[5]: Entering directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src/plugins/platforms/qwayland-xcomposite-egl'
/usr/bin/g++ -c -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2 -std=c++1y -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_WAYLANDCLIENT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/opt/vc/include -I/opt/vc/include/interface/vcos -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I../../../hardwareintegration/client/xcomposite-egl -I../../../hardwareintegration/client/xcomposite_share -isystem /usr/include/libdrm -I../../../../include/QtWaylandClient/5.7.1 -I../../../../include/QtWaylandClient/5.7.1/QtWaylandClient -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtPlatformSupport -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtPlatformSupport/5.7.1 -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtPlatformSupport/5.7.1/QtPlatformSupport -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtGui/5.7.1 -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtGui/5.7.1/QtGui -I../../../../include -I../../../../include/QtWaylandClient -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtGui -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore/5.7.1 -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore/5.7.1/QtCore -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore -I.moc -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs/devices/linux-rpi3-g++ -o .obj/qwaylandxcompositebuffer.o ../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.cpp
/usr/bin/g++ -c -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -O2 -std=c++1y -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_WAYLANDCLIENT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/opt/vc/include -I/opt/vc/include/interface/vcos -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I../../../hardwareintegration/client/xcomposite-egl -I../../../hardwareintegration/client/xcomposite_share -isystem /usr/include/libdrm -I../../../../include/QtWaylandClient/5.7.1 -I../../../../include/QtWaylandClient/5.7.1/QtWaylandClient -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtPlatformSupport -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtPlatformSupport/5.7.1 -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtPlatformSupport/5.7.1/QtPlatformSupport -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtGui/5.7.1 -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtGui/5.7.1/QtGui -I../../../../include -I../../../../include/QtWaylandClient -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtGui -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore/5.7.1 -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore/5.7.1/QtCore -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore -I.moc -I/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs/devices/linux-rpi3-g++ -o .obj/qwaylandxcompositeeglwindow.o ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp
../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp: In member function ‘void QtWaylandClient::QWaylandXCompositeEGLWindow::createEglSurface()’:
../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp:126:93: error: invalid conversion from ‘Window {aka long unsigned int}’ to ‘EGLNativeWindowType {aka void*}’ [-fpermissive]
m_surface = eglCreateWindowSurface(m_glxIntegration->eglDisplay(), m_config, m_xWindow,0);
^
In file included from ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h:57:0,
from ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h:46,
from ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp:40:
/opt/vc/include/EGL/egl.h:265:31: note: initializing argument 3 of ‘void* eglCreateWindowSurface(EGLDisplay, EGLConfig, EGLNativeWindowType, const EGLint*)’
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,
^
Makefile:2100: recipe for target '.obj/qwaylandxcompositeeglwindow.o' failed
make[5]: *** [.obj/qwaylandxcompositeeglwindow.o] Error 1
make[5]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src/plugins/platforms/qwayland-xcomposite-egl'
Makefile:198: recipe for target 'sub-qwayland-xcomposite-egl-install_subtargets-ordered' failed
make[4]: *** [sub-qwayland-xcomposite-egl-install_subtargets-ordered] Error 2
make[4]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src/plugins/platforms'
Makefile:57: recipe for target 'sub-platforms-install_subtargets' failed
make[3]: *** [sub-platforms-install_subtargets] Error 2
make[3]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src/plugins'
Makefile:160: recipe for target 'sub-plugins-install_subtargets' failed
make[2]: *** [sub-plugins-install_subtargets] Error 2
make[2]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland/src'
Makefile:56: recipe for target 'sub-src-install_subtargets' failed
make[1]: *** [sub-src-install_subtargets] Error 2
make[1]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtwayland'
Makefile:498: recipe for target 'module-qtwayland-install_subtargets' failed
make: *** [module-qtwayland-install_subtargets] Error 2 -
All the errors you posted, except the last post, are not build errors - they just indicate that some features are disabled. For example SSE is disabled because ARM CPUs do not support it.
You probably can get rid of last error disabling QtWayland if you do not need it. -
This post is deleted! -
@jsulm
yes you are right!
to be honest i don't know much about Qtwayland, if disabled , is there any other side-effects as EGL-X11 is disabled ?
thank you every much! -
@JiujiuTong If you don't want to use Wayland then there are no side effects if you don't build it. You need support for what ever graphics you want to use. Do you want to use X11?
-
@jsulm
thanks for your rapid reply!
i try to install the QT5.7 on rpi3 because i want to learn developing qt application on rpi3 with OS(RASPBIAN JESSIE WITH PIXEL), the main purpose is playing multimedia.
as i'm a fresher to linux, i don't know much about X11, from the internet information, it seems there is no need to have this feature for my usage, am I right ? -
@JiujiuTong Per default Raspbian is using X11. So, if you want to test GUI applications you need X11. You most probably already have it as you're running Pixel. If Qt configure complains about OpenGL then you need to install OpenGL devel packages.
-
@jsulm
sorry, i don't understand.
do you mean i need to enable EGL-X11?
from the configure log it seems that "OpenGL ES 2.0 enabled".
what should i do then ?
thank you! -
@JiujiuTong then disable QtWayland and try again
-
@jsulm
OK, I will have a try! hope it works
thank you very much.
i will tell you the result later! -
@JiujiuTong add -skip wayland to your configure call
-
@jsulm
got it ! -
@jsulm
the problem is solved with -skip wayland option
but another problem happens:
the make install output error
/usr/bin/ld: cannot find -lclip2tri
/usr/bin/ld: cannot find -lpoly2tri
/usr/bin/ld: cannot find -lclipper
I know it means that three libs are not find, but there are tips above:
cd poly2tri/ && ( test -e Makefile || /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qmake /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/poly2tri/poly2tri.pro -qtconf /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qt.conf -o Makefile ) && make -f Makefile install
make[4]: Entering directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/poly2tri'
make[4]: Nothing to be done for 'install'.
make[4]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/poly2tri'
cd clipper/ && ( test -e Makefile || /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qmake /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/clipper/clipper.pro -qtconf /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qt.conf -o Makefile ) && make -f Makefile install
make[4]: Entering directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/clipper'
make[4]: Nothing to be done for 'install'.
make[4]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/clipper'
cd clip2tri/ && ( test -e Makefile || /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qmake /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/clip2tri/clip2tri.pro -qtconf /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qt.conf -o Makefile ) && make -f Makefile install
make[4]: Entering directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/clip2tri'
make[4]: Nothing to be done for 'install'.
make[4]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/clip2tri'
make[3]: Leaving directory '/home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty'it seams that the install process skip producing the libs,but later it need the libs, can you give any suggestions? thank you !
-
@JiujiuTong I don't know why those libs are not installed, but you can try to copy them manually
-
@jsulm
where can i find these libs? it seems that there are no libs created..... -
@JiujiuTong They actually should be built:
cd poly2tri/ && ( test -e Makefile || /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qmake /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/poly2tri/poly2tri.pro -qtconf /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qt.conf -o Makefile
-
@jsulm
OK, I will double confirm it.
after copy them manually, i would reinstalll again. thanks a lot! -
This post is deleted! -
@jsulm
i checked the files , there are three files:
libclip2tri.prl
libclipper.prl
libpoly2tri.prlbut no lib files. it's strange...
do you have any other suggestions ? thankyou! -
@JiujiuTong You can try to build those libraries manually:
cd poly2tri /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qmake /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtlocation/src/3rdparty/poly2tri/poly2tri.pro -qtconf /home/pi/opt/qt-everywhere-opensource-src-5.7.1/qtbase/bin/qt.conf -o Makefile
then make and make install