From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: devel@lists.altlinux.org References: <3a15ed95-6ba2-e7cd-fb80-9ec3ac2412c6@basealt.ru> <62692ad34ec1f64e45bd6d74f1075488e26050ca.camel@altlinux.org> <1e34f12e-34d4-5772-0a7a-468076b7adf3@basealt.ru> <20201223130854.c6s36r562w5g5d6y@example.org> <65b22fb4-3bb1-3fcf-874a-15d5388d7388@basealt.ru> <0a903eab982794bd7be47d300c459a25ff17fbab.camel@altlinux.org> <92ddf98d-9ea4-5763-9653-8183fdd40e2c@basealt.ru> <20201223164930.GB12500@altlinux.org> <20201223185746.GA9535@altlinux.org> <20201223191204.GA14382@altlinux.org> From: Anton Farygin Organization: BaseALT Message-ID: <8887a579-235a-2cf0-0faf-9a8dac38f94d@basealt.ru> Date: Wed, 23 Dec 2020 22:38:07 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20201223191204.GA14382@altlinux.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [devel] Q: /usr/lib64/ocaml/libasmrun.a -> textrel in ocaml on armh and x86 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2020 19:38:09 -0000 Archived-At: List-Archive: List-Post: On 23.12.2020 22:12, Dmitry V. Levin wrote: > On Wed, Dec 23, 2020 at 09:57:46PM +0300, Dmitry V. Levin wrote: >> 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 там тоже не работает. > Первый объезд, который приходит в голову - это сделать rpm-build-ocaml > arch-пакетом и запаковать на нужных архитектурах файл, например, > /usr/lib/rpm/macros.d/ocaml-arch или даже /usr/lib/rpm/macros.d/ocaml-%_arch > следующего содержания: > %_verify_elf_method textrel=relaxed Не очень хотелось так делать. А пока я так не сделал - вариант с проверкой наличия _is_ilp32 возможен ? Ну, т.е. что-то вроде %_verify_elf_method %{?_is_ilp32:textrel=relaxed} %{!?_is_ilp32:default}