Qt 5.10 on Raspberry Pi Configure Fail



  • I have 5.9.3 successfully install on this Pi but I thought I would try to get 5.10 up and running. So I did the following:

    • wget http://download.qt.io/official_releases/qt/5.10/5.10.0/single/qt-everywhere-src-5.10.0.tar.xz

    • created and moved into a build5.10 directory

    • issued the following:
      PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig PKG_CONFIG_SYSROOT_DIR=/ ../qt-everywhere-src-5.10.0/configure -v -opengl es2 -eglfs -no-gtk -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=/usr/bin/ -opensource -confirm-license -reduce-exports -force-pkg-config -nomake examples -no-compile-examples -skip qtwayland -skip qtwebengine -release -qt-pcre -ssl -evdev -system-freetype -fontconfig -glib -prefix /opt/Qt5.10

    This proceeds and ends with the following error:
    [0_1513956154114_config.log](Uploading 100%)
    ERROR: Feature 'eglfs' was enabled, but the pre-condition '!config.android && !config.darwin && !config.win32 && features.egl' failed.

    I tried to upload the config.log but the forum said that I didn't have enough privileges so you can view the log at https://pastebin.com/ixmNVkn7

    Any helpful insights would be greatly appreciated.

    Thanks and Happy Holidays!



  • I found that by adding

    -no-use-gold-linker
    

    I was able to successfully configure so it is building now.

    I forgot to mention that I'm running the latest Raspbian Stretch and you have to upgrade the firmware/kernel using

    sudo rpi-update
    

    I'll report bak once everything is complete



  • Well I wasn't that lucky. There are 2 compile errors:

    In file included from /home/pi/qt-everywhere-src-5.10.0/qtbase/include/QtWidgets/5.10.0/QtWidgets/private/qwidget_p.h:1:0,
                     from /home/pi/qt-everywhere-src-5.10.0/qtbase/include/QtWidgets/5.10.0/QtWidgets/private/../../../../../src/widgets/kernel/qdesktopwidget_p.h:56,
                     from /home/pi/qt-everywhere-src-5.10.0/qtbase/include/QtWidgets/5.10.0/QtWidgets/private/qdesktopwidget_p.h:1,
                     from /home/pi/qt-everywhere-src-5.10.0/qtbase/src/widgets/widgets/qmenubar.cpp:65:
    /home/pi/qt-everywhere-src-5.10.0/qtbase/include/QtWidgets/5.10.0/QtWidgets/private/../../../../../src/widgets/kernel/qwidget_p.h:303:24: internal compiler error: Segmentation fault
     class Q_WIDGETS_EXPORT QWidgetPrivate : public QObjectPrivate
                            ^~~~~~~~~~~~~~
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
    Makefile:71646: recipe for target '.obj/qmenubar.o' failed
    make[3]: *** [.obj/qmenubar.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    make[3]: Leaving directory '/home/pi/build5.10/qtbase/src/widgets'
    Makefile:660: recipe for target 'sub-widgets-make_first' failed
    make[2]: *** [sub-widgets-make_first] Error 2
    make[2]: Leaving directory '/home/pi/build5.10/qtbase/src'
    Makefile:48: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/pi/build5.10/qtbase'
    Makefile:81: recipe for target 'module-qtbase-make_first' failed
    make: *** [module-qtbase-make_first] Error 2
    
    


  • I thought maybe the previous error could have been caused by an over heated RPi (I used make -j4) so I did a make clean and then added a fan before I tried again just to rule out overheating. Here's my latest result:

    ln -s libQt5OpenGL.so.5.10.0 libQt5OpenGL.so
    ln -s libQt5OpenGL.so.5.10.0 libQt5OpenGL.so.5
    ln -s libQt5OpenGL.so.5.10.0 libQt5OpenGL.so.5.10
    rm -f ../../lib/libQt5OpenGL.so.5.10.0
    mv -f libQt5OpenGL.so.5.10.0  ../../lib/
    rm -f ../../lib/libQt5OpenGL.so
    rm -f ../../lib/libQt5OpenGL.so.5
    rm -f ../../lib/libQt5OpenGL.so.5.10
    mv -f libQt5OpenGL.so ../../lib/
    mv -f libQt5OpenGL.so.5 ../../lib/
    mv -f libQt5OpenGL.so.5.10 ../../lib/
    make[3]: Leaving directory '/home/pi/build5.10/qtbase/src/opengl'
    make[2]: Leaving directory '/home/pi/build5.10/qtbase/src'
    Makefile:48: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/pi/build5.10/qtbase'
    Makefile:81: recipe for target 'module-qtbase-make_first' failed
    make: *** [module-qtbase-make_first] Error 2
    
    


  • I've tried a few things without any luck. I've reduced the GPU memory to 64 (gpu_mem=64 in /boot/config.txt) but that didn't seem to make a difference.

    I decided to try and compile each module individually. I believe qtbase compiled OK but when I tried qt3d I got this error:

    cc1plus: out of memory allocating 16777204 bytes after a total of 57073664 bytes
    g++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
    Makefile:2837: recipe for target '.pch/Qt53DQuick.gch/c++' failed
    make[2]: *** [.pch/Qt53DQuick.gch/c++] Error 4
    Makefile:2544: recipe for target '.pch/Qt53DLogic.gch/c++' failed
    make[2]: *** [.pch/Qt53DLogic.gch/c++] Error 1
    make[2]: Leaving directory '/home/pi/build5.10/qt3d/src/logic'
    make[2]: Leaving directory '/home/pi/build5.10/qt3d/src/quick3d/quick3d'
    Makefile:142: recipe for target 'sub-logic-make_first' failed
    make[1]: *** [sub-logic-make_first] Error 2
    make[1]: *** Waiting for unfinished jobs....
    Makefile:297: recipe for target 'sub-quick3d-core-make_first' failed
    make[1]: *** [sub-quick3d-core-make_first] Error 2
    /home/pi/build5.10/qtbase/bin/rcc -name materialsystem /home/pi/qt-everywhere-src-5.10.0/qt3d/src/render/materialsystem/materialsystem.qrc -o .rcc/qrc_materialsystem.cpp
    
    

    I'm not sure if I'm just getting different errors or if someone can find something that needs to be changed.

    BTW, This is on a RPi 3 Model 3 V1.2 and running the following:

    pi@GI-Pi:~/build5.10/qt3d $ cat /etc/os-release
    PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
    pi@GI-Pi:~/build5.10/qt3d $ hostnamectl
       Static hostname: GI-Pi
             Icon name: computer
            Machine ID: 0af09f50a31249a69be1c2ec26ae5be4
               Boot ID: 3868cfc6e8734a4e92dcccdda7acf752
      Operating System: Raspbian GNU/Linux 9 (stretch)
                Kernel: Linux 4.9.70-v7+
          Architecture: arm
    
    


  • You are running out of memory so try building with just one compiler, so make -j1



  • Sorry for the delay in replying, I didn't get an email notice that a replay had been posted.

    I performed a make clean and then a make -j2 I know it took more than 7 hours to complete but for some reason my time stamp didn't print when it was done. I didn't see any errors on the screen so I did a sudo make install but unfortunately that had errors:

    source.o .obj/moc_qgeorectangle.o .obj/moc_qgeocircle.o .obj/moc_qgeocoordinate.o .obj/moc_qgeopositioninfosource.o .obj/moc_qgeosatelliteinfosource.o .obj/moc_qnmeapositioninfosource.o .obj/moc_qgeopolygon.o .obj/moc_qgeopath.o .obj/moc_qnmeapositioninfosource_p.o .obj/moc_qdeclarativegeoaddress_p.o .obj/moc_qdeclarativegeolocation_p.o  -L/home/pi/build5.10/qtbase/lib -lQt5Core -lpthread -L/home/pi/build5.10/qtlocation/lib -lclip2tri -lpoly2tri -lclipper
    /usr/bin/ld: cannot find -lclip2tri
    /usr/bin/ld: cannot find -lpoly2tri
    /usr/bin/ld: cannot find -lclipper
    collect2: error: ld returned 1 exit status
    Makefile:202: recipe for target '../../lib/libQt5Positioning.so.5.10.0' failed
    make[3]: *** [../../lib/libQt5Positioning.so.5.10.0] Error 1
    make[3]: Leaving directory '/home/pi/build5.10/qtlocation/src/positioning'
    Makefile:138: recipe for target 'sub-positioning-install_subtargets' failed
    make[2]: *** [sub-positioning-install_subtargets] Error 2
    make[2]: Leaving directory '/home/pi/build5.10/qtlocation/src'
    Makefile:58: recipe for target 'sub-src-install_subtargets' failed
    make[1]: *** [sub-src-install_subtargets] Error 2
    make[1]: Leaving directory '/home/pi/build5.10/qtlocation'
    Makefile:767: recipe for target 'module-qtlocation-install_subtargets' failed
    make: *** [module-qtlocation-install_subtargets] Error 2
    
    

    So perhaps I did have some compile errors and didn't see them? I searched for lclip2tri and it wasn't found anywhere


  • Moderators

    @GeorgeIoak I think you need to install libclip2tri, libpoly2tri and libclipper



  • @jsulm Do you know which package names include those? I also found this thread with similar issue but I don't see a resolution in this thread, https://forum.qt.io/topic/75018/native-build-qt-5-7-1-on-raspberry-pi-get-errors-usr-bin-ld-cannot-find-lclip2tri/5



  • I found there are 3 directories in qtlocation/src/3rdparty

    clip2tri
    clipper
    poly2tri

    so I navigated into each directory and performed a clean and then a make. When I then went to do a make install in the top level directory I got another error for "mapbox" so I went into that directory and did the same. When I tried the top level sudo make install this time it did not show any errors and I can see this:

    /opt/Qt5.10/bin/qmake --version
    QMake version 3.1
    Using Qt version 5.10.0 in /opt/Qt5.10/lib
    
    

    so now I have a build directory for 5.9.3 and 5.9.10 and 5.9.3 is installed in /opt/Qt5.9 and 5.10 is install in /opt/Qt5.10

    but I see the system is defaulting to 5.9.3 for some reason:

    which qmake
    /opt/Qt5.9/bin/qmake
    
    

    So you definitely cannot use make -j4 on the Raspberry Pi and it appears that the make files need a little cleaning up for a standard compile to work.

    What do "you" suggest I do at this point?


  • Moderators

    @GeorgeIoak said in Qt 5.10 on Raspberry Pi Configure Fail:

    but I see the system is defaulting to 5.9.3 for some reason

    Did you add /opt/Qt5.9/bin to PATH?



  • Whoops, you're right, my PATH included the 5.9 directory:

    /opt/Qt5.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
    

    What would be the best way to determine if my 5.10 installation is working properly before I delete the build directories and sources to free up disk space?


  • Moderators

    @GeorgeIoak said in Qt 5.10 on Raspberry Pi Configure Fail:

    What would be the best way to determine if my 5.10 installation is working properly

    Build a Qt project using it


Log in to reply
 

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