Summary: | Сборка с cmake и llvm не может использовать динамическую линковку | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Anton Zhukharev <ancieg> |
Component: | llvm | Assignee: | Arseny Maslennikov <arseny> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | arseny, lav |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Anton Zhukharev
2022-03-25 11:17:53 MSK
В наших пакетах с LLVM 12 статические библиотеки упакованы в -devel-static. Сами они для сборки будут не нужны, но апстрим LLVM так генерирует cmake-конфиги, что они проверяют наличие всех собранных targets, которые считают нужным. Более того, в актуальных версиях они сломали наш патч RH-0001-CMake-Split-static-library-exports-into-their-own-ex.patch и сделали раздельную установку .so и .a совсем невозможной без существенной переработки CMake-скриптов в дереве исходников, которую апстрим, скорее всего, не примет. В общем, я в ближайшие дни заканчиваю упаковку LLVM 13, где такая проблема возникать не будет. Если критичен именно LLVM 12 или надо просто как можно скорее собрать пакет, то можно доустановить -devel-static — всё равно библиотеки имеют разные имена, т. е. `-lLLVM-12` может прилинковать только shared object (или даст ошибку, если его нет), а `-lLLVMDemangle` может прилинковать соответствующий static object (и тоже даст ошибку, если его нет) Сейчас сборочный git-тег https://git.altlinux.org/people/ancieg/packages/ccls.git?p=ccls.git;a=commit;h=00cd80e3238b21cf40084faa58fd815fafc3537c у меня в окружении текущего сизифа спокойно собирается. |