Building examples on Ubuntu with Qt-5.13.0



  • I'm starting to work with Qt-5.13.0 on Ubuntu 16.04.
    I installed Qt-5.13.0 in ~/Qt5.13.0.
    Running Qt Creator, I click on Welcome then Examples, and select the Address Book Example.
    Click Configure Project with Qt-5.13.0.
    This generates these errors in General Messages:

    /home/gib/Qt5.13.0/5.13.0/gcc_64/mkspecs/features/toolchain.prf(39): system(execute) requires one or two arguments.
    Project ERROR: Cannot run compiler 'g++'. Output:

    ===================
    Maybe you forgot to setup the environment?
    /home/gib/Qt5.13.0/5.13.0/gcc_64/mkspecs/features/toolchain.prf(76): Variable QMAKE_CXX.COMPILER_MACROS is not defined.
    /home/gib/Qt5.13.0/5.13.0/gcc_64/mkspecs/features/toolchain.prf(201): system(execute) requires one or two arguments.
    Project ERROR: Cannot run compiler 'g++'. Output:

    ===================
    Maybe you forgot to setup the environment?
    Error while parsing file /home/gib/Qt5.13.0/Examples/Qt-5.13.0/widgets/itemviews/addressbook/addressbook.pro. Giving up.
    /home/gib/Qt5.13.0/5.13.0/gcc_64/mkspecs/features/toolchain.prf(39): system(execute) requires one or two arguments.
    Project ERROR: Cannot run compiler 'g++'. Output:

    ===================
    Maybe you forgot to setup the environment?
    /home/gib/Qt5.13.0/5.13.0/gcc_64/mkspecs/features/toolchain.prf(76): Variable QMAKE_CXX.COMPILER_MACROS is not defined.
    /home/gib/Qt5.13.0/5.13.0/gcc_64/mkspecs/features/toolchain.prf(201): system(execute) requires one or two arguments.
    Project ERROR: Cannot run compiler 'g++'. Output:

    ===================
    Maybe you forgot to setup the environment?
    Error while parsing file /home/gib/Qt5.13.0/Examples/Qt-5.13.0/widgets/itemviews/addressbook/addressbook.pro. Giving up.

    Perhaps as a consequence, no Project Tree is displayed. With Project view selected, there is just the single title line "addressbook". (The project build is apparently successful, but it can't be run - there is a popup "Could not find the executable, please provide one" Presumably this problem is caused by the configure issues.)

    I don't know what it means in this context to "setup the environment". My previous experience with Qt Creator has been mainly on Windows, and the examples have always built with no problems.

    Advice will be much appreciated.

    Thanks
    Gib


  • Qt Champions 2018

    @gibbogle Did you install build-essential Ubuntu package as well?
    As the error message states it can't find C++ compiler.
    See https://doc.qt.io/qt-5/linux.html

    sudo apt-get install build-essential libgl1-mesa-dev
    


  • @jsulm said in Building examples on Ubuntu with Qt-5.13.0:

    sudo apt-get install build-essential libgl1-mesa-dev

    Both are already the newest version.



  • @jsulm
    The kit has the compiler as: GCC (C++, x86 64bit in /usr/bin), and in /usr/bin I see gcc as a link to gcc-5.
    'gcc -v' shows

    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.11' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posix
    gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)


  • Qt Champions 2018

    @gibbogle Please check your Kit: are there any warnings/errors?
    Is C++ compiler set as g++?



  • @jsulm
    I don't see any warnings or errors associated with Qt-5.13.0.
    How do I set gcc to g++?



  • @jsulm
    To better express this: in the list of Compilers I see just many versions of GCC and some of Clang.


  • Qt Champions 2018

    @gibbogle Can you show a screenshot of your Kit configuration?



  • @jsulm Before I try to find out how to that, perhaps there is a simple solution.
    In Compilers, the Auto-detected list has two entries for GCC (C++, x86 64bit in /usr/bin) and two for GCC 5(C++, x86 64bit in /usr/bin). When I select these I see that the associated compiler paths are all to a version of g++:
    /usr/bin/g++
    /usr/bin/x86_64-linux-gnu-g++
    /usr/bin/g++-5
    /usr/bin/x86_64-linux-gnu-g++-5

    I know that the kit is using GCC, not GCC 5, but there is no way to see which of the first two in the above list it corresponds to (g++ or x86_64-linux-gnu-g++).

    Now I see that they all point to g++-5

    gib@gigabyte:/usr/bin$ ls -al g++
    lrwxrwxrwx 1 root root 5 May 20 2017 g++ -> g++-5
    -rwxr-xr-x 1 root root 919832 Aug 28 2018 g++-5
    lrwxrwxrwx 1 root root 5 May 20 2017 x86_64-linux-gnu-g++ -> g++-5
    lrwxrwxrwx 1 root root 5 Aug 28 2018 x86_64-linux-gnu-g++-5 -> g++-5



  • @jsulm I don't know how to get a screenshot in Linux.
    The kit for Qt-5.13.0 is (default) has:
    Compiler: GCC (C++, x86 64bit in /usr/bin)
    Environment: No changes to apply.
    Qt version: Qt 5.13.0 (gcc_64)



  • @gibbogle
    In fact (* got stripped in the copy-and-paste) I typed:
    ls -al * g++ *
    (without the spaces)



  • This post is deleted!


  • This post is deleted!


  • @jsulm I just reminded myself that the build does find and use g++, and makes the executable. I located it, and it runs OK. So the configure errors about g++ are perhaps not important, but there is still the problem with the missing directory tree.

    Should I make a bug report?


  • Qt Champions 2018

    @gibbogle said in Building examples on Ubuntu with Qt-5.13.0:

    missing directory tree

    You mean in QtCreator? This is not a bug - if qmake fails the project structure will not be updated.
    What happens if you call qmake in a terminal instead in QtCreator?



  • @jsulm But qmake doesn't fail when I do Build > Run qmake, and the build does succeed.
    I've now found that if I build for the first time then close the project (no project tree), then reopen the project, I do get a project tree. You might not call this a bug, but it's definitely confusing and undesirable.

    There is also the issue that after a successful build, clicking the green arrow to run the program gives the "Could not find the executable" popup. (I just discovered that on reopening the project - and seeing a project tree - the green arrow does execute the program.) It seems likely that all these issues stem from the same cause.

    Yes, this is all within Qt Creator.


 

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