Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

what are the leftovers from the previous builds of Qt?



  • it's been a while that I am trying to cross compile Qt5 for my Raspberry pi 4 on a lite version of OS (that has no desktop, no x server ..) on my Ubuntu 18.04

    I tried many times and I changed the configuration every time and I installed other libraries on my raspberry pi but it couldn't work.. So I said maybe it is because that I have some leftovers from previous builds that make the compilation fail

    for example if this is the message that I got after the configuration:

    Qt will be installed into '/opt/rpi/qt5pi//usr/local/Qt-rasp4-5.14.2'.
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    

    removing these directories and creating new empty ones /opt/rpi/qt5pi/ and /usr/local/Qt-rasp4-5.14.2 will solve the problem or what should I do ? ..

    I has been a while since I am trying to cross compile Qt .. please if you could help don't hesitate ..


  • Lifetime Qt Champion

    Hi,

    The leftovers are the files generated during the configuration and build process.

    The simplest way is to do out of source builds so you can just nuke the build directory and start from fresh.



  • @amina said in what are the leftovers from the previous builds of Qt?:

    /opt/rpi/qt5pi/

    Hi, thank ypu for helping

    so if my configuration looks like this then the build directory will be /opt/rpi/qt5pi/ ? and I just have to remove it before starting over?

    
     ../qt-everywhere-src-5.14.2/configure -release -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/rpi/rpi-gcc-8.3.0/bin/arm-linux-gnueabihf- -sysroot /opt/rpi/sysroot/ -opensource -confirm-license -skip qtwayland -skip qtdatavis3d -skip qtscript -make libs -prefix /usr/local/Qt-rasp4-5.14.2 -extprefix /opt/rpi/qt5pi -hostprefix /opt/rpi/qt5 -no-xcb -recheck
    

    but if my configuration looks like that I have to remove even the qt-everywhere-src-5.14.2 ?

    cd qt-everywhere-src-5.14.2
     ./configure -release -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/rpi/rpi-gcc-8.3.0/bin/arm-linux-gnueabihf- -sysroot /opt/rpi/sysroot/ -opensource -confirm-license -skip qtwayland -skip qtdatavis3d -skip qtscript -make libs -prefix /usr/local/Qt-rasp4-5.14.2 -extprefix /opt/rpi/qt5pi -hostprefix /opt/rpi/qt5 -no-xcb -recheck
    

  • Lifetime Qt Champion

    You are mixing the build and installation directory which are two different things.

    The build folder is where you are calling "configure" from and then "make".

    If you called configure from within the source then you have to call something like "make confclean".

    I would recommend to just nuke the sources (unless you have some custom stuff in there), extract them again from the archive and from there only use out of source builds.


  • Lifetime Qt Champion

    @amina said in what are the leftovers from the previous builds of Qt?:

    so if my configuration looks like this then the build directory will be /opt/rpi/qt5pi/ ?

    Build directory is the directory in which you build (where you call configure and make).
    That's why @SGaist suggested to do out of source build:

    • Create a directory
    • Go to this directory
    • Call configure and make from that directory


  • it is clear now, thank you @SGaist and @jsulm for helping


Log in to reply