исключение cmake -DCMAKE_EXPORT_COMPILE_COMMANDS

#cmake

#cmake

Вопрос:

  cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
-- Configuring done
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::replace: __pos (which is 18446744073709551615) > this->size() (which is 130)
Aborted (core dumped)

    cmake ..
 

работает нормально, пока я не введу cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON … после этой команды у меня будет тот же вывод для следующих cmake .. входов

обратная трассировка gdb:

 (gdb) bt
#0  0x00007ffff694b428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff694d02a in __GI_abort () at abort.c:89
#2  0x00007ffff6f8584d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc  .so.6
#3  0x00007ffff6f836b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc  .so.6
#4  0x00007ffff6f83701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc  .so.6
#5  0x00007ffff6f83919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc  .so.6
#6  0x00007ffff6fac3f7 in std::__throw_out_of_range_fmt(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libstdc  .so.6
#7  0x00007ffff7016247 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::replace(unsigned long, unsigned long, char const*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc  .so.6
#8  0x00000000006fd555 in cmMakefileTargetGenerator::WriteObjectBuildFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >amp;, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > constamp;, cmSourceFile constamp;, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >amp;) ()
#9  0x00000000006ff57d in cmMakefileTargetGenerator::WriteObjectRuleFiles(cmSourceFile constamp;) ()
#10 0x00000000006ffe2f in cmMakefileTargetGenerator::WriteTargetBuildRules() ()
#11 0x000000000070b271 in cmMakefileLibraryTargetGenerator::WriteRuleFiles() ()
#12 0x00000000006f3d26 in cmLocalUnixMakefileGenerator3::Generate() ()
#13 0x00000000006c19bb in cmGlobalGenerator::Generate() ()
#14 0x00000000006cf853 in cmGlobalUnixMakefileGenerator3::Generate() ()
#15 0x0000000000561297 in cmake::Generate() ()
#16 0x0000000000561763 in cmake::Run(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > constamp;, bool) ()
#17 0x00000000004bdf94 in do_cmake(int, char const* const*) ()
#18 0x00000000004b98e6 in main ()
 

Протестировано на трех дистрибутивах Ubuntu.
версии cmake: 3.10.0 и 3.5.1

В чем возможная проблема? Не могу найти ничего подобного в Google вообще

Комментарии:

1. Я думаю, что обращение к разработчикам CMake через форум CMake discourse или через средство отслеживания проблем CMake было бы полезно для решения такого рода проблем.

Ответ №1: