Как установить Clang для YouCompleteMe?

ОС: Ubuntu 18.04

Уже есть несколько постов о том, как установить clang в Ubuntu, однако многие из них устарели, и мой вопрос касается установки clang как части инсалирования из YouCompleteMe .

Сначала, следуя указаниям в этого ответа и в предоставленной там ссылке , я выполнил следующие команды:

$ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main"

Затем я выполнил $ vim /etc/apt/sources.list и может убедиться, что новые строки, соответствующие llvm, были добавлены, как и ожидалось. Затем я запустил:

$ apt-get install clang-8 lldb-8 lld-8 --print-uris

, чтобы получить информацию о необходимом дисковом пространстве, которая в данном случае была:

The following NEW packages will be installed:
binfmt-support clang-8 lib32gcc1 lib32stdc++6 libc6-i386 libclang- 
common-8-dev libclang1-8 libffi-dev liblldb-8 libobjc-7-dev libobjc4 
libomp-8-dev libomp5-8 libpfm4 libpython-stdlib lld-8 lldb-8
llvm-8 llvm-8-dev llvm-8-runtime python python-lldb-8 python-minimal 
python-six python2.7 python2.7-minimal
0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded.
Need to get 71,4 MB of archives.
After this operation, 412 MB of additional disk space will be used.

Теперь, перед фактической установкой этих пакетов, я снова прочитал README файл YouCompleteMe , и заметил, что он говорит:

Вы можете использовать систему libclang или clangd, только если вы уверены, что это версия 8.0.0 или выше, в противном случае не , Даже если это так, мы рекомендуем использовать официальные двоичные файлы от llvm.org, если это возможно. Убедитесь, что вы загрузили правильный файл архива для вашей ОС.
Мы НАСТОЯТЕЛЬНО рекомендуем ПРОТИВ использования системы libclang или clangd вместо скомпилированных двоичных файлов верхнего уровня. Случайные вещи могут сломаться. Избавьте себя от хлопот и используйте предварительно собранный libclang или clangd.

Я предполагаю, что когда они говорят «системный libclang», они ссылаются на libclang, который я собирался установить, используя apt-get (Это то, к чему они на самом деле относятся? Если кто-то знает, что они подразумевают под "системный libclang", пожалуйста, дайте мне знать). Итак, я решил следовать предоставленной ими ссылке LLVM . Оказавшись там, я нажал «Ubuntu 18.04» в разделе «Готовые двоичные файлы». Затем началась загрузка файла tar.xz, и я запустил:

$ tar -xJf clang*.tar.xz

И этот пост подразумевает, что я должен запустить:

$ cd clang*
$ sudo cp -R * /usr/local/

Так что теперь Я вижу, что у меня есть два способа установить clang: через apt-get и распаковать бинарный файл.

YouCompleteMe запрашивает необычный способ установки clang?
Как правильно установить clang в Ubuntu 18.04?

2
задан 7 July 2019 в 03:36

1 ответ

Я уверен, что системные библиотеки libclang и clangd имеют версию 8.0.0 или выше в Ubuntu 18.04.

clangd предоставлен clang-tools-8 из репозитория вселенной в Ubuntu 18.04. Clang 8 и libclang предоставлены clang-8 и libclang1-8 в Ubuntu 18.04. Чтобы установить все эти пакеты, откройте терминал и введите:

sudo apt install clang-8 libclang1-8 clang-tools-8  

Я также нашел официальные двоичные файлы от llvm.org, который представляет собой файл размером 325 МБ с именем clang + llvm-8.0.0-x86_64 -linux-ГНУ-убунту-18.04.tar.gz . Он содержит скомпилированные двоичные файлы upsteam, которые упоминаются в файле README YouCompleteMe. Ручная загрузка и установка 325 МБ файлов кажутся мне большой работой только для установки механизма завершения кода для Vim, загрузка которого составляет всего 1152 кБ, а для самого vim - 2852 кБ, поэтому я бы хотел попробуйте сначала установить YouCompleteMe с пакетами репозитория Ubuntu и проверьте, не нарушает ли использование системных пакетов что-либо в YouCompleteMe.

0
ответ дан 7 July 2019 в 03:36

Другие вопросы по тегам:

Похожие вопросы: