Doxygen не может найти разделяемую библиотеку (библиотеки) 'libclang.so.6: версия `LLVM_6.0' ', которая требуется для запуска

1053
Sreyam

Я установил doxygen из бинарного дистрибутива для Linux x86-64 . Я использую Ubuntu 17.10 . Установка прошла гладко. Когда я пытаюсь запустить doxygen, он показывает следующую ошибку:

doxygen: error while loading shared libraries: libclang.so.6: cannot open shared object file: No such file or directory

Сначала я проверил, установлена ​​ли у меня последняя версия clang. Затем я последовал совету, данному в комментарии pandabr (от 7 февраля 2017 года), и попытался создать символическую ссылку libclang.so.6на существующий файл libclang-5.0.so.1в каталоге /usr/lib/x86_64-linux-gnu. Я предположил, что, возможно, документация doxygen ссылается на файл, который называется, libclang.so.6и он показывал ошибку, потому что не смог найти файл в данном каталоге. Теперь, когда я пытаюсь запустить doxygen, он показывает следующую ошибку:

doxygen: /usr/lib/x86_64-linux-gnu/libclang.so.6: version 'LLVM_6.0' not found (required by doxygen)

Учитывая, что у меня установлена ​​последняя версия Clang (по состоянию на 21 февраля 2018 года), нужно ли мне устанавливать LLVM 6.0 отдельно? (Я новичок, но из того, что я собрал на веб-страницах для Clang и LLVM, Clang использует LLVM в качестве бэкэнда и, таким образом, по умолчанию должен содержать LLVM.)

Я просмотрел список ошибок Doxygen на Bugzilla и нашел результат, который соответствовал, когда я искал libclang. Я посмотрел на описание ошибки, но я не уверен, как ее использовать. Что-нибудь мне нужно изменить в документах Doxygen?

Мой главный вопрос, учитывая вышеописанную ошибку, как мне заставить работать doxygen? Все остальные вопросы в тексте выше являются вспомогательными вопросами, требующими более подробных ответов. Они могут или не могут иметь отношение. Поскольку я не знаю, какая информация актуальна, а какая нет, я постарался изложить все.

Заранее благодарю за любую помощь.

0

1 ответ на вопрос

0
Beeen

Кажется, есть зависимости, которые apt не хочет устанавливать. Я «исправил» проблему (также появляющуюся в Ubuntu 16.04), запустив сначала

sudo apt-get install -f

который пытается исправить поврежденную структуру зависимостей среди установленных в данный момент пакетов.

После этого я смог установить doxygen через apt-get, который также автоматически установил входящие зависимости.