Summary: | отключить debuginfo для ocaml bytecode executable | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Anton Farygin <rider> |
Component: | rpm-build | Assignee: | placeholder <placeholder> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | arseny, glebfm, imz, iv, ldv, mike, placeholder, rider, vt |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 46782 |
Description
Anton Farygin
2023-11-16 19:59:18 MSK
* Есть ли инфа или спецификация на такое необычное использование .debug_* секций? * Есть ли примеры бинарей? * Что сделали в Федоре? Кстати, разве не вариант сделать %set_debuginfo_skiplist %_bindir/* в rpm-build-ocaml? сейчас я дособираю сборочное задание с ocaml - пойму сколько бинарей это затрагивает. Есть вероятность, что совсем немного - эта схема линковки старая и в современных проектах от неё ушли. подробнее про этот режим сборки можно почитать тут: https://v2.ocaml.org/releases/4.14/htmlman/comp.html -custom Спасибо.
> Unix: Never use the strip command on executables produced by ocamlc
> -custom, this would remove the bytecode part of the executable.
Пока предположу, что с байткодом там не секция .debug_info а какая-то другая. И надо использовать %brp_strip_none %_bindir/*, а может даже %brp_strip_debug хватит.
%brp_strip_none %_bindir/* не помогает, я первым делом попробовал. воспроизводится при сборке пакета ocaml-findlib из задания 333652 для архитектуры i586 после установки надо запустить ocamlfind из %buildroot Но сейчас он собран в режиме -no-custom - надо убрать это из configure (In reply to Anton Farygin from comment #4) > подробнее про этот режим сборки можно почитать тут: > https://v2.ocaml.org/releases/4.14/htmlman/comp.html > -custom -custom выглядит как достаточно жуткая вещь. Возможно, нам стоит вслед за dune[1][2] переходить на -output-complete-exe[3]. [1] https://github.com/ocaml/dune/issues/2505 [2] https://github.com/ocaml/dune/pull/2692 [3] https://github.com/ocaml/ocaml/pull/8872 "The idea is to deprecate -custom in a follow-up PR." Это сработало для unison (https://git.altlinux.org/tasks/341561/, проверял на loongarch64, в хешере на i586 прошёл начало туторила) и coccinelle (в Сизифе, тоже проверял). Да, согласен. custom почти не осталось в репозитории. > Это сработало для unison (...) и coccinelle (в Сизифе, тоже проверял). @iv, Про coccinelle, а почему только для этих архитектур а не для всех? %ifnarch %ocaml_native_arch # see https://bugzilla.altlinux.org/48475 find . -name Makefile | xargs sed -r -i 's/-custom\s/-output-complete-exe /g' %endif (In reply to Vitaly Chikunov from comment #10) > > Это сработало для unison (...) и coccinelle (в Сизифе, тоже проверял). > > @iv, Про coccinelle, а почему только для этих архитектур а не для всех? Скорее всего, я следовал заведённой ещё в %e2k традиции не трогать то, что работает. А у нас кроме i586 остались ещё не нативные архитектуры ? (In reply to Anton Farygin from comment #12) > А у нас кроме i586 остались ещё не нативные архитектуры ? Как минимум loongarch64 и %e2k. для loongarch есть вот такой PR: https://github.com/ocaml/ocaml/pull/11974 |