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
signature.asc
Description: OpenPGP digital signature
