Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Qt 5.10.0 compile with clang on ubuntu 17.10
Forum Updated to NodeBB v4.3 + New Features

Qt 5.10.0 compile with clang on ubuntu 17.10

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
7 Posts 3 Posters 7.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O Offline
    O Offline
    osmial
    wrote on last edited by osmial
    #1

    Hi all,

    cause I'm going to develop mobile app using Qt I want to recompile Qt sources using clang due to Google's decision to get rid of GCC support in Android's NDK. But as a first step I just want to compile Qt for desktop ubuntu 17.10 using clang.
    I have installed clang 5.0

    My configure command:

    ../configure -c++std c++1z -platform linux-clang -opensource -nomake examples -nomake tests
    

    Unfortunately it fails with error:
    ERROR: C++11 <random> is required and is missing or failed to compile.
    in output messages I can also find:

    Checking for C++14 support... yes
    Checking for C++1z support... yes
    ...
    Checking for C++11 <future>... no
    Checking for C++11 <random>... no
    

    which makes me quite confused... but output message encourages to check out config.log file for details, so:

    executing config test cxx11_random
    + cd /home/tomek/workspace/qt-dev/qt5/build-5.10.0_x86_64_clang/config.tests/unix/cxx11_random && /home/tomek/workspace/qt-dev/qt5/build-5.10.0_x86_64_clang/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared use_gold_linker warn_off console single_arch" /home/tomek/workspace/qt-dev/qt5/qtbase/config.tests/unix/cxx11_random
    + cd /home/tomek/workspace/qt-dev/qt5/build-5.10.0_x86_64_clang/config.tests/unix/cxx11_random && MAKEFLAGS= /usr/bin/make
    > clang++ -c -pipe -O2 -w -fPIC  -I/home/tomek/workspace/qt-dev/qt5/qtbase/config.tests/unix/cxx11_random -I. -I/home/tomek/workspace/qt-dev/qt5/qtbase/mkspecs/linux-clang -o cxx11_random.o /home/tomek/workspace/qt-dev/qt5/qtbase/config.tests/unix/cxx11_random/cxx11_random.cpp
    > In file included from /home/tomek/workspace/qt-dev/qt5/qtbase/config.tests/unix/cxx11_random/cxx11_random.cpp:29:
    > In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/random:35:
    > /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
    > #error This file requires compiler and library support \
    >  ^
    > /home/tomek/workspace/qt-dev/qt5/qtbase/config.tests/unix/cxx11_random/cxx11_random.cpp:33:5: error: use of undeclared identifier 'std'
    >     std::mt19937 mt(0);
    >     ^
    > 2 errors generated.
    

    and second similar log about c++11_future test.
    As log says there is no -std=c++11 or -std=gnu++11 option specified, which can be confirmed few lines above. But I've specified -c++std c++1z option for configure script which should satisfy that build command...
    That make me think there might be a bug somewhere in build system but before I create a ticket I want to ask if anybody see if I'm doing something wrong, or maybe somebody has already observed the same issue?

    Thanks in advance,
    osmial

    1 Reply Last reply
    0
    • 6thC6 Offline
      6thC6 Offline
      6thC
      wrote on last edited by
      #2

      I use QMake and use things like:

      CONFIG += c++17
      

      Perhaps try c++17 instead of c++1z - https://clang.llvm.org/cxx_status.html

      C++17 implementation status
      Clang 5 and later implement all the features of the C++ 2017 Draft International Standard.
      
      You can use Clang in C++17 mode with the -std=c++17 option (use -std=c++1z in Clang 4 and earlier).
      
      1 Reply Last reply
      0
      • O Offline
        O Offline
        osmial
        wrote on last edited by
        #3

        Yes, that's next interesting thing I forgot to mention about in first post.
        When I'm trying with -c++std c++17 (passing this flag to configure script) the output ends with:

        ERROR: Invalid argument c++17 to command line parameter c++std
        
        > clang++ -v
        clang version 5.0.0-3 (tags/RELEASE_500/final)
        Target: x86_64-pc-linux-gnu
        Thread model: posix
        InstalledDir: /usr/bin
        Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/7
        Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/7.2.0
        Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5
        Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1
        Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
        Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.4.0
        Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
        Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0
        Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/7
        Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/7.2.0
        Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
        Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.1
        Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
        Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.4.0
        Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
        Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.2.0
        Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0
        Candidate multilib: .;@m64
        Selected multilib: .;@M64 
        

        Anybody has tried building latest releases with clang?

        jsulmJ 1 Reply Last reply
        0
        • O osmial

          Yes, that's next interesting thing I forgot to mention about in first post.
          When I'm trying with -c++std c++17 (passing this flag to configure script) the output ends with:

          ERROR: Invalid argument c++17 to command line parameter c++std
          
          > clang++ -v
          clang version 5.0.0-3 (tags/RELEASE_500/final)
          Target: x86_64-pc-linux-gnu
          Thread model: posix
          InstalledDir: /usr/bin
          Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/7
          Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/7.2.0
          Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5
          Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1
          Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
          Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.4.0
          Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
          Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0
          Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/7
          Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/7.2.0
          Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
          Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.1
          Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
          Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.4.0
          Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
          Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.2.0
          Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0
          Candidate multilib: .;@m64
          Selected multilib: .;@M64 
          

          Anybody has tried building latest releases with clang?

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @osmial said in Qt 5.10.0 compile with clang on ubuntu 17.10:

          c++17

          Then try with c++14

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • O Offline
            O Offline
            osmial
            wrote on last edited by
            #5

            I've started without passing this flag to configure script at all. But it failed. Then I've started to experiment with versions - I've tried all from c++11 to c++17.
            For flags c++11 - c++1z output is build error, for c++17 it says this argument is being not recognized.

            jsulmJ 1 Reply Last reply
            0
            • O osmial

              I've started without passing this flag to configure script at all. But it failed. Then I've started to experiment with versions - I've tried all from c++11 to c++17.
              For flags c++11 - c++1z output is build error, for c++17 it says this argument is being not recognized.

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @osmial And what about c++14?

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • O Offline
                O Offline
                osmial
                wrote on last edited by
                #7

                By writing c++11 - c++1z I was thinking about range:
                c++11, c++14, c++1z:
                ERROR: C++11 <random> is required and is missing or failed to compile.

                for c++17:
                ERROR: Invalid argument c++17 to command line parameter c++std

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved