[Pixman] Build system patches for threading.
M Joonas Pihlaja
jpihlaja at cc.helsinki.fi
Mon Jul 12 04:45:42 PDT 2010
On Mon, 12 Jul 2010, Siarhei Siamashka wrote:
> On Sunday 11 July 2010 13:24:43 M Joonas Pihlaja wrote:
> > Check that the OpenMP pragmas don't cause link errors.
> > This patch adds extra guards around our use of OpenMP pragmas and checks that
> > the pragmas won't cause link errors. This fixes the build on Tru64 and
> > Solaris with the native compilers and clang.
> Do you have any thought about what could be the root cause of this problem?
Broken or incomplete OpenMP support or incomplete installation of
supporting libraries. Unusable OpenMP seems fairly common IME.
> Now I see a potential case when it can fail: autotools fail to detect OpenMP
> support (and the right options for the linker), but the compiler generates some
> code for the pragmas.
Right, it's a bit of a mess. We don't *really* know if any of it
works without actually running it, but of course that's got its own
> Could you try wrapping OpenMP pragmas into '#ifdef _OPENMP' (it is a predefined
> macro from OpenMP standard) and see whether it helps?
I can add this too, but this doesn't cover for the case where the
compiler thinks it supports openmp, but the required libraries aren't
> Also I wonder whether autotools detect OpenMP support in Solaris properly.
> Searching on the Internet reveals that '-xopenmp' might be the right option
Yes, it did detect the correct flag.
More information about the Pixman