[devel] Q: /usr/lib64/ocaml/libasmrun.a -> textrel in ocaml on armh and x86

Dmitry V. Levin ldv на altlinux.org
Ср Дек 23 21:57:46 MSK 2020


On Wed, Dec 23, 2020 at 09:40:47PM +0300, Anton Farygin wrote:
> On 23.12.2020 19:49, Dmitry V. Levin wrote:
> > On Wed, Dec 23, 2020 at 06:37:29PM +0300, Anton Farygin wrote:
> >> On 23.12.2020 16:42, Yuri Sedunov wrote:
> >>> В Ср, 23/12/2020 в 16:31 +0300, Anton Farygin пишет:
> >>>> On 23.12.2020 16:08, Alexey Gladkov wrote:
> >>>>> On Wed, Dec 23, 2020 at 03:16:26PM +0300, Anton Farygin wrote:
> >>>>>>>> ok. Тогда я постараюсь ускориться с заданием с ocaml-4.11.
> >>>>>>> Как там с ускорением? -- ocaml мешает удалить заброшенные gtk2-
> >>>>>>> пакеты.
> >>>>>>> http://git.altlinux.org/tasks/263804/logs/events.1.1.log
> >>>>>>>
> >>>>>>>
> >>>>>> С ocaml возникла проблема, которую я пока-что не придумал как
> >>>>>> решить.
> >>>>>>
> >>>>>> А именно - на 32-битных архитектурах включенный в компиляторе pie
> >>>>>> приводит к
> >>>>>> появлению TEXTREL во всех собранных приложениях и модулях.
> >>>>>>
> >>>>>> Отключение pie при сборке ocaml у меня пока что ни к чему
> >>>>>> хорошему не
> >>>>>> привело и я склоняюсь к ослаблению проверки TEXTREL для 32-битных
> >>>>>> архитектур
> >>>>>> в 163 пакетах.
> >>>>> Может пора уже постепенно выключать пакеты из i586 ?
> >>>>>
> >>>> есть ещё armh, который у нас пока поддерживается.
> >>>>
> >>> Может добавить в /usr/lib/rpm/macros.d/ocaml.env
> >>> %ifarch %ix86 armh
> >>> export VERIFY_ELF_TEXTREL=relaxed
> >>> %endif
> >>>
> >>> И собрать хотя бы тестовое задание?
> >> нет, задать это переменной окружения не получится - её переопределяют.
> > Там другая переменная, называется RPM_VERIFY_ELF_METHOD,
> > соответственно, там надо было бы написать
> >
> > %ifarch %ix86 %arm
> > export RPM_VERIFY_ELF_METHOD=textrel=relaxed
> > %endif
> >
> > Но таким образом механизм %set_verify_elf_method полностью обходится.
> >
> А разве эта переменная тоже не переопределяется в макросах ?
> 
> %{?_verify_elf_method:export RPM_VERIFY_ELF_METHOD=\"%_verify_elf_method\"}\

Да, именно так она и определяется, но /usr/lib/rpm/macros.d/*.env
раскрываются после этого и могут сделать, например,

export RPM_VERIFY_ELF_METHOD="%{?_verify_elf_method:%_verify_elf_method }textrel=relaxed"

Но %ifarch/%endif там тоже не работает.


-- 
ldv


Подробная информация о списке рассылки Devel