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

Anton Farygin rider на basealt.ru
Чт Дек 24 13:27:37 MSK 2020


On 23.12.2020 22:54, Dmitry V. Levin wrote:
> On Wed, Dec 23, 2020 at 10:38:07PM +0300, Anton Farygin wrote:
> [...]
>> А пока я так не сделал - вариант с проверкой наличия _is_ilp32 возможен ?
> Возможен, и даже лучше, поскольку исключение требуется для всех 32-битных
> архитектур, а не только для armh и x86, насколько я понимаю.
>
>> Ну, т.е. что-то вроде
>>
>> %_verify_elf_method %{?_is_ilp32:textrel=relaxed} %{!?_is_ilp32:default}
> Да, так будет работать (пробел лишний, но это не важно).
>
>
Да, с этим изменением дошло до сборки ppxlib на armh и бахнуло уже так, 
что я точно не знаю что с этим делать (на тестах, правда, но в ld):
http://git.altlinux.org/tasks/263310/build/13140/armh/log


[00:01:20] :(.data+0x49eb0): dangerous relocation: unsupported relocation
[00:01:20] :(.data+0x49ebc): dangerous relocation: unsupported relocation
[00:01:20] :(.data+0x49ec8): dangerous relocation: unsupported relocation
[00:01:20] :(.data+0x49ed4): dangerous relocation: unsupported relocation
[00:01:20] :(.data+0x49ee0): dangerous relocation: unsupported relocation
[00:01:20] :(.data+0x49eec): dangerous relocation: unsupported relocation
[00:01:20] /usr/bin/ld.default: warning: creating DT_TEXTREL in a PIE
[00:01:20] collect2: error: ld returned 1 exit status
[00:01:20] File "caml_startup", line 1:

Проблема в том, что ocaml-ppxlib слишком важный пакет, что бы его можно было просто не собирать на armh. анализ делал на Sisyphus:

ocaml-ppxlib
ocaml-ppx_here
ocaml-ppx_cold
ocaml-ppx_let
ocaml-ppx_fixed_literal
ocaml-ppx_sexp_conv
ocaml-cstruct
ocaml-ipaddr
ocaml-ppx_pipebang
ocaml-ppx_compare
ocaml-ppx_optional
ocaml-ppx_js_style
ocaml-ppx_fields_conv
ocaml-ppx_enumerate
ocaml-ppx_optcomp
ocaml-ppx_variants_conv
ocaml-ppx_typerep_conv
ocaml-ppx_custom_printf
ocaml-yaml
ocaml-uri
ocaml-conduit
ocaml-cohttp
ocaml-ppx_sexp_message
ocaml-ppx_sexp_value
ocaml-ppx_hash
ocaml-ppx_assert
ocaml-ppx_base
ocaml-ppx_string
ocaml-jst-config
ocaml-time_now
ocaml-ppx_inline_test
ocaml-ppx_expect
js_of_ocaml
ocaml-ptime
ocaml-syndic
ocaml-ppx_module_timer

По хорошему мне бы нативный чрут с armh, в котором можно было бы поотлаживать эту историю. Но наша сборочница в Обнинске ведёт себя нестабильно и на ней падает ядро.





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