Cannot build QT from sources with libc++ from conan-center recipe. (qglobal.h:45:12: fatal error: 'type_traits' file not found)

Viewed 376

I'm trying to build qt/5.15.2@ package from conan-center with that profile:

[settings]
build_type=Debug
arch=x86_64
arch_build=x86_64
os=Linux
os_build=Linux
compiler=clang
compiler.version=9
compiler.libcxx=libc++
[env]
CC=clang-9
CXX=clang++-9
CXXFLAGS="-v"

it fails with that output

Performing shadow build...
Preparing build tree...
Creating qmake...
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/main.cpp:30:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/project.h:32:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/library/qmakeevaluator.h:36:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/library/qmakeparser.h:32:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/library/qmake_global.h:32:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/include/QtCore/qglobal.h:1:
/home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:45:12: fatal error: 'type_traits' file
      not found
#  include <type_traits>
           ^~~~~~~~~~~~~
1 error generated.

I already tried a lot of things to solve it:

  1. Add -I /usr/lib/llvm-9/include/c++/v1/ to ./configure. The help of configure says that it is acceptable to pass -I, -D, -L parameters
  2. Define INCLUDE or INCLUDEPATH env variables with the value of /usr/lib/llvm-9/include/c++/v1/
  3. Add the same thing as in (1) to QMAKE_CXXFLAGS in ./configure call All approaches above don't work, the output is still the same

The path /usr/lib/llvm-9/include/c++/v1/ contains all stdlib headers and type_traits too. Other conan packages are building fine, adding -v option to compiler shows a list of include paths which contains the path above.
I also tried to add -v to QMAKE_CXXFLAGS and CXXFLAGS to trace include paths but it doesn't even change anything
I found some similar questions but they're all related to android's NDK which I don't use

0 Answers
Related