Сборка Clang очень медленная и зависает в середине - PullRequest
0 голосов
/ 12 декабря 2018

Я начинаю с написания своих собственных инструментов лязга.Вот шаги, которые я выполнил до сих пор:

  1. Извлечен сборка релиза llvm 7.0
  2. Изучен сборка релиза clang 7.0
  3. Построен clang и llvmиспользуя ниндзя со следующими флагами (он постоянно зависал на мне без них)

    -DLLVM_USE_LINKER=gold -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_LINK_LLVM_DYLIB=true -DLLVM_USE_SPLIT_DWARF=ON -DBUILD_SHARED_LIBS=ON

  4. Установленный лязг

Теперь я хочу установить Clang в качестве собственного компилятора.Поэтому я установил эти флаги в конфигурационном файле, используя 'ccmake ../llvm'.Я не уверен, что это было правильно, хотя?Теперь, когда я пытаюсь собрать clang, он говорит, что обнаружен линкер GNU ld.Как я могу сбросить файл конфигурации и изменить компоновщик, чтобы он работал быстрее?У меня 8 ГБ ОЗУ.

Во-вторых, придется ли мне снова и снова собирать clang каждый раз, когда я пишу инструмент?Как бы это заняло 3-4 часа каждый раз?

Обновление Как подсказал sandthorn в комментариях, я ограничил параллельные задания до 1 с помощью ninja -j 1.Однако сборка снова не удалась со следующей ошибкой:

[3840/4138] Linking CXX shared library lib/libLTO.so.7
FAILED: lib/libLTO.so.7 
: && /usr/bin/c++ -fPIC -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold   -Wl,-O3 -Wl,--gc-sections  -Wl,--version-script,/home/tehreem/clang-llvm/build/tools/lto/LTO.exports -shared -Wl,-soname,libLTO.so.7 -o lib/libLTO.so.7 tools/lto/CMakeFiles/LTO.dir/LTODisassembler.cpp.o tools/lto/CMakeFiles/LTO.dir/lto.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVM-7.so && :

И после этого есть около 100 других неопределенных ссылочных ошибок.

...