Various issues with Clang and libc++ while playing with OpenCL (FYI)
Jean-Sébastien Pédron
dumbbell at FreeBSD.org
Wed Mar 5 11:30:37 UTC 2014
Hello!
[Note: I'm not subscribed to this list]
I'm trying to make OpenCL work on FreeBSD, using Mesa 10.1 release
candidate.
The implementation of libOpenCL.so in Mesa, called Clover, is in C++. In
the configure.ac script, they require GCC 4.7+, but I think it's mainly
for C++11 support. When building Mesa with Clang 3.4 and 11-CURRENT's
libc++, I had the following issues:
1. Clang 3.4 fails to build Clover, see this PR:
https://bugs.freedesktop.org/show_bug.cgi?id=74098
In the last comment, there's a patch to Clover, working around the
problem. Its author opened a ticket on LLVM bug tracker:
http://llvm.org/bugs/show_bug.cgi?id=18645
2. Mesa's configure script is looking for stddef.h here:
/usr/local/llvm34/lib/clang/3.4/include
LLVM/Clang ports don't install this file. I just added a symlink to
/usr/include/stddef.h and Mesa was happy. I still need to check how
it goes if I remove the check and the symlink. But perhaps Mesa is
right to expect this header (and maybe other) in this directory, I
don't know.
3. Our base libc++ has a bug in the <functional> header. I posted a PR
on Mesa bug tracker here, before I found out it was a problem with
libc++:
https://bugs.freedesktop.org/show_bug.cgi?id=75505
Apparently, it's fixed in libc++ upstream, in r199848.
4. At runtime, any OpenCL program segfaults in libc++ (I don't have the
stack trace at hand and can't remember what it was... Something with
basic_string).
When using libc++ from ports (devel/libc++, r200683) and the work around
for problem #1, Clover builds and OpenCL programs run fine.
This is mostly a "FYI" report, I think we can live with libc++ from
ports for Mesa.
--
Jean-Sébastien Pédron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20140305/6f908f7f/attachment.sig>
More information about the freebsd-toolchain
mailing list