[PySide] Problems with clang 10. Qt 5.13.2, and pyside2, git branch 5.13.2

Kacvinsky, Tom Tom.Kacvinsky at vector.com
Fri Nov 15 19:57:07 CET 2019


Hi Tim,


> -----Original Message-----
> From: PySide <pyside-bounces at qt-project.org> On Behalf Of Tim Roberts
> Sent: Friday, November 15, 2019 1:37 PM
> To: PySide at qt-project.org
> Subject: Re: [PySide] Problems with clang 10. Qt 5.13.2, and pyside2, git
> branch 5.13.2
> 
> Kacvinsky, Tom wrote:
> > I still had problems finding stddef.h (included by cstddef), until I
> > set the clang environment variable CPATH (which was set to the include
> > paths generated by "gcc -v -xc++ /dev/null")
> >
> > That fixed the problem with cstddef, but now I have this problem:
> >
> > /home/BUILD64/bin/gcc-8.3.0-2/include/c++/8.3.0/cstdlib:75:15: fatal
> error: stdlib.h: No such file or directory
> >   #include_next <stdlib.h>
> >                 ^~~~~~~~~~
> > Not sure if this is a PySide2 problem or a LLVM (version 10, BTW)
> > problem.  I just find it out that the cstddef issue was fixed but not
> > the cstdlib issue, as they have a similar chain of includes.
> 
> You said you have a custom build of llvm, yes?  Did you configure the default
> set of include paths?  The normal include paths would put the
> C++ includes first, followed by the C includes, and the use of
> "include_next" makes that mandatory.   <cstdlib> is a C++ include, and
> "include_next" says "don't look everywhere for this file, instead start looking
> at the NEXT directory in the include list.
> 
> It is, frankly, an abomination, and if you can't figure out how to adjust the
> INLCUDE path, you should just change the "include_next" to "include".  That
> should also solve the problem.
> 

I did build a custom LLVM.  But, looking over the LLVM documentation, I can't
see where to set the default search order for building LLVM via cmake.  I thought
it would be as simple as a -D cmake define, but this page

https://llvm.org/docs/CMake.html

doesn't list such a define.  I wonder if just have CPATH set before building LLVM
would be sufficient.  I do have the C++ headers directories before the C directories
in my CPATH environment variable.

You're right, this is an abomination.  LLVM seems to target whatever system you're
building on, using the system default header locations, instead of being relocatable
like GCC.  :-(

Tom


More information about the PySide mailing list