ToT is broken for me

i’m getting the following error when i try to build ToT on Ubuntu:

[2409/2884] Building CXX object tools/lldb/source/DataFormatters/CMakeFiles/lldbDataFormatters.dir/StringPrinter.cpp.o
FAILED: /usr/bin/ccache clang++ -Qunused-arguments -fcolor-diagnostics -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-deprecated-register -fno-exceptions -fno-rtti -fPIC -O3 -DNDEBUG -Itools/lldb/source/DataFormatters -I/home/dsnyder/tot/llvm/tools/lldb/source/DataFormatters -I/home/dsnyder/tot/llvm/tools/lldb/include -Itools/lldb/include -Iinclude -I/home/dsnyder/tot/llvm/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -I/home/dsnyder/tot/llvm/tools/lldb/…/clang/include -Itools/lldb/…/clang/include -I/home/dsnyder/tot/llvm/tools/lldb/source/. -I/home/dsnyder/tot/llvm/tools/lldb/source/Plugins/Process/Linux -I/home/dsnyder/tot/llvm/tools/lldb/source/Plugins/Process/POSIX -fno-exceptions -fno-rtti -MMD -MT tools/lldb/source/DataFormatters/CMakeFiles/lldbDataFormatters.dir/StringPrinter.cpp.o -MF “tools/lldb/source/DataFormatters/CMakeFiles/lldbDataFormatters.dir/StringPrinter.cpp.o.d” -o tools/lldb/source/DataFormatters/CMakeFiles/lldbDataFormatters.dir/StringPrinter.cpp.o -c /home/dsnyder/tot/llvm/tools/lldb/source/DataFormatters/StringPrinter.cpp
/home/dsnyder/tot/llvm/tools/lldb/source/DataFormatters/StringPrinter.cpp:19:10: fatal error: ‘codecvt’ file not found
1 error generated.

is anyone else seeing this?
i wasn’t having this problem yesterday


I have not synced to top of tree recently, but if a recent checkin had a line like:

#include <codecvt>

it would break linux, or any build using gcc. This is a cutting edge c++ 11 feature that is not implemented on all platforms. Refer to the discussion on and also recent lldb-dev thread about the Editline Rewrite

That’s what I thought at first too, but his command line indicates that it’s using clang. Either way, we shouldn’t be using codecvt for the reasons you mention. Is this a change that can be reverted until this gets sorted out? LLVM has support for converting between UTF8, UTF16, and I believe UTF32, so that should probably be used instead.

Actually it looks to me like this is a dead include. The cpp file is not actually using anything from to begin with. I’m going to just delete the #incldue line and check it in.