[cfe-dev] clang + libcxx + ninja

Alexey Samsonov vonosmas at gmail.com
Sat Apr 11 08:56:32 PDT 2015


Hi Peter,

Sorry for the late response. Unfortunately, I can't experiment with it
myself at the moment, but you can
try passing correct -DCMAKE_MAKE_PROGRAM flag to ExternalProject_Add
invocation here:

http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake?view=markup



On Mon, Apr 6, 2015 at 11:34 AM, Reid Kleckner <rnk at google.com> wrote:

> I think Alexey might know who wrote the libc++ tsan and msan build
> scripts. I suspect you don't need those, and that your build would succeed
> if you built libcxx instead of 'all'.
>
> Clang (and clang tools) should work with all the major versions of
> libstdc++. I suspect fixing this will be more fruitful than trying to port
> your codebase to a new STL implementation. I think you sent email about
> those problems, let me try to go find those threads and reply there.
>
> On Sun, Apr 5, 2015 at 2:42 PM, Peter Stirling <peter at pjstirling.plus.com>
> wrote:
>
>> Hi,
>> Since clang tools currently choke when using the gcc 4.9.2 libstdc++
>> headers (and 4.8.3, and 4.8.2, and testing against older versions is
>> seriously inconvenient), I decided to try libcxx to work around it. I
>> checked out the source as described in [1], but that caused the llvm build
>> to fail with the following error:
>>
>> [9/24] Performing configure step for 'libcxx_tsan'
>> FAILED: cd /home/peter/Programming/llvm/ninja/projects/compiler-rt/
>> lib/tsan/libcxx_tsan/src/libcxx_tsan-build && /usr/bin/cmake -P
>> /home/peter/Programming/llvm/ninja/projects/compiler-rt/
>> lib/tsan/libcxx_tsan/src/libcxx_tsan-stamp/libcxx_tsan-configure.cmake
>> && /usr/bin/cmake -E touch /home/peter/Programming/llvm/
>> ninja/projects/compiler-rt/lib/tsan/libcxx_tsan/src/
>> libcxx_tsan-stamp/libcxx_tsan-configure
>> CMake Error at /home/peter/Programming/llvm/ninja/projects/compiler-rt/
>> lib/tsan/libcxx_tsan/src/libcxx_tsan-stamp/libcxx_tsan-configure.cmake:16
>> (message):
>>   Command failed: 1
>>
>>    '/usr/bin/cmake' '-DCMAKE_C_COMPILER=/home/
>> peter/Programming/llvm/ninja/./bin/clang' '-DCMAKE_CXX_COMPILER=/home/
>> peter/Programming/llvm/ninja/./bin/clang' '-DCMAKE_C_FLAGS=
>> -fsanitize=thread' '-DCMAKE_CXX_FLAGS= -fsanitize=thread'
>> '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_INSTALL_PREFIX:PATH=/
>> home/peter/Programming/llvm/ninja/projects/compiler-rt/lib/tsan/libcxx_tsan'
>> '-GNinja' '/home/peter/Programming/llvm/llvm/projects/libcxx'
>>
>>   See also
>>
>> /home/peter/Programming/llvm/ninja/projects/compiler-rt/
>> lib/tsan/libcxx_tsan/src/libcxx_tsan-stamp/libcxx_tsan-configure-*.log
>>
>> Close inspection reveals that it tries to run cmake passing -GNinja (the
>> same as the main build) but doesn't supply -DCMAKE_MAKE_PROGRAM. Editing
>> the file [2] to inject the missing parameter lets the build succeed, but as
>> that file is generated, this edit needs to be repeated sometimes when I
>> update svn, and I'm not sure where it is generated from for a more
>> permanent fix.
>>
>> [1] http://libcxx.llvm.org/
>> [2] $BUILD/projects/compiler-rt/lib/tsan/libcxx_tsan/src/
>> libcxx_tsan-stamp/libcxx_tsan-configure.cmake
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
>


-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150411/19fab4fc/attachment.html>


More information about the cfe-dev mailing list