Summary: | Q: link libLLVM statically | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Konstantin A Lepikhov (L.A. Kostis) <lakostis> |
Component: | llvm15.0-devel | Assignee: | Arseny Maslennikov <arseny> |
Status: | CLOSED WORKSFORME | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | arseny |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Konstantin A Lepikhov (L.A. Kostis)
2023-01-07 12:43:01 MSK
https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/blob/amd-stg-open/lib/comgr/CMakeLists.txt сам CMakeLists.txt Я пока собрал https://git.altlinux.org/tasks/313080, но туда планируется ещё кое-что добавить по несвязанным причинам. #100 llvm15.0 15.0.6-alt1.1 -> 15.0.6-alt2 Tue Jan 10 2023 Arseny Maslennikov <arseny@altlinux> 15.0.6-alt2 <...> - Allow cmake config users to override LLVM_LINK_LLVM_DYLIB=ON. (Closes: 44831) (In reply to Arseny Maslennikov from comment #2) > Я пока собрал https://git.altlinux.org/tasks/313080, но туда планируется ещё > кое-что добавить по несвязанным причинам. > > #100 llvm15.0 15.0.6-alt1.1 -> 15.0.6-alt2 > Tue Jan 10 2023 Arseny Maslennikov <arseny@altlinux> 15.0.6-alt2 > <...> > - Allow cmake config users to override LLVM_LINK_LLVM_DYLIB=ON. (Closes: > 44831) Спасибо! Но пока я не понял, как этим пользоваться :) $ less build.log.tmp ... <13>Jan 11 09:48:10 rpmi: llvm15.0-filesystem-15.0.6-alt2 sisyphus+313080.200.2.1 1673364156 installed <13>Jan 11 09:48:25 rpmi: llvm15.0-polly-15.0.6-alt2 sisyphus+313080.200.2.1 1673364156 installed <13>Jan 11 09:48:25 rpmi: llvm15.0-gold-15.0.6-alt2 sisyphus+313080.200.2.1 1673364156 installed <13>Jan 11 09:48:26 rpmi: llvm15.0-libs-15.0.6-alt2 sisyphus+313080.200.2.1 1673364156 installed <13>Jan 11 09:48:31 rpmi: llvm15.0-15.0.6-alt2 sisyphus+313080.200.2.1 1673364156 installed <13>Jan 11 09:48:49 rpmi: llvm15.0-devel-15.0.6-alt2 sisyphus+313080.200.2.1 1673364156 installed set(LLVM_LINK_LLVM_DYLIB OFF) объявлена в CMakeLists.txt проекта и все равно в link.txt я вижу libLLVM-15.so: [builder@localhost .in]$ cat ~/RPM/BUILD/rocm-comgr-5.4.1/lib/comgr/x86_64-alt-linux/CMakeFiles/amd_comgr.dir/link.txt /usr/bin/clang++ -fPIC -pipe -frecord-gcc-switches -Wall -g -O2 -O2 -g -DNDEBUG -pthread -Wl,--version-script=/usr/src/RPM/BUILD/rocm-comgr-5.4.1/lib/comgr/x86_64-alt-linux/src/exportmap -Wl,--no-undefined -fuse-ld=lld -shared -Wl,-soname,libamd_comgr.so.2 -o libamd_comgr.so.2.4 "CMakeFiles/amd_comgr.dir/src/comgr-compiler.cpp.o" CMakeFiles/amd_comgr.dir/src/comgr.cpp.o "CMakeFiles/amd_comgr.dir/src/comgr-device-libs.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-disassembly.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-elfdump.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-env.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-metadata.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-objdump.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-signal.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-symbol.cpp.o" "CMakeFiles/amd_comgr.dir/src/comgr-symbolizer.cpp.o" "CMakeFiles/amd_comgr.dir/src/time-stat/time-stat.cpp.o" -Wl,-rpath,/usr/lib/llvm-15.0/lib64: .... /usr/lib/llvm-15.0/lib64/libclangASTMatchers.a /usr/lib/llvm-15.0/lib64/libclangEdit.a /usr/lib/llvm-15.0/lib64/libclangSupport.a /usr/lib/llvm-15.0/lib64/libclangFormat.a /usr/lib/llvm-15.0/lib64/libclangToolingInclusions.a /usr/lib/llvm-15.0/lib64/libclangAST.a /usr/lib/llvm-15.0/lib64/libclangToolingCore.a /usr/lib/llvm-15.0/lib64/libclangRewrite.a /usr/lib/llvm-15.0/lib64/libclangLex.a /usr/lib/llvm-15.0/lib64/libclangBasic.a /usr/lib/llvm-15.0/lib64/libLLVM-15.so Арсений, есть ли успехи с починкой пакета, нужна ли вам помощь? После изучения апстримной cmake-лапши у меня сложилось впечатление, что нужно: * либо собирать два разных "LLVM distribution"[1][2][3], т. е. снова переписывать сборку и упаковку, мейнтейнить перечисление этих компонентов, etc. с пока неясным мне результатом, и разложить получившиеся артефакты в совсем разные семейства пакетов (i. e. это две сборки из одних и тех же исходников); * либо в каком-то виде возвращать RH-0001-CMake-Split-static-library-exports-into-their-own-ex.patch (т. е. реализовать его заново). Сейчас занялся этим. [1] https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/clang/cmake/caches/MultiDistributionExample.cmake [2] https://llvm.org/docs/BuildingADistribution.html [3] https://github.com/gentoo/gentoo/blob/dbc45b1f9e41ec0832af235b948028c7afa531fc/sys-devel/clang/clang-15.0.7-r1.ebuild Проблема рассосалась сама собой при сборке с llvm16, пока закрываю. |