Сборка Google LLVM 7.0.2 - PullRequest
       7

Сборка Google LLVM 7.0.2

0 голосов
/ 28 сентября 2018

Как собрать гугл форк из LLVM 7.0.2 (https://android.googlesource.com/toolchain/llvm, 1d739ffb0366421d383e04ff80ec2ee591315116)?У меня нет проблем со сборкой оригинального LLVM.Но выполнение шага настройки cmake <path/to/llvm/source/root> приводит к множеству подобных ошибок:

...
-- Targeting XCore
-- Clang version: 7.0.0
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
CMake Error at tools/clang/tools/diagtool/CMakeLists.txt:14 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "diagtool".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
   * cmake/modules/AddLLVM.cmake:771 (target_link_libraries)



CMake Error at tools/clang/tools/driver/CMakeLists.txt:33 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "clang".  All uses of target_link_libraries with a target must
  be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
   * cmake/modules/AddLLVM.cmake:771 (target_link_libraries)



CMake Error at tools/clang/tools/clang-format/CMakeLists.txt:14 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "clang-format".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
   * cmake/modules/AddLLVM.cmake:771 (target_link_libraries)
 ...

Я нахожусь на Linux Mint 18.2, машина x86_64.

РЕДАКТИРОВАТЬ: Если я пропускаю «инструменты» и «тесты»«тогда это работает.Как это: cmake -G Ninja -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF <src>.Хотя сборка с ninja завершается неудачно по той же причине, хотя я и указал флаги, чтобы также пропустить сборку (а не просто настройку) «инструментов» и «тестов» - он все равно пытается их собрать: (

1 Ответ

0 голосов
/ 01 октября 2018

Решил это.Извлеченный код фактически содержал ссылку (tools / clang -> ../../clang) на тот же каталог уровня, что и источник LLVM.У меня был каталог clang из предыдущих тестов, который был несовместим с Google LLVM 7.0.2.Поэтому я удалил этот каталог и скачал соответствующую версию clang, в которой исправлены ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...