[devel] сломалась инициализация hasher для aarch64 с использованием qemu

Ivan A. Melnikov iv на altlinux.org
Вт Дек 22 15:10:29 MSK 2020


On Tue, Dec 22, 2020 at 03:28:38PM +0400, Ivan A. Melnikov wrote:
> On Tue, Dec 22, 2020 at 05:58:55PM +0700, Антон Мидюков wrote:
> > 22.12.2020 15:00, Антон Мидюков пишет:
> > > 22.12.2020 01:01, Dmitry V. Levin пишет:
> > >> On Tue, Dec 22, 2020 at 12:51:35AM +0700, Антон Мидюков wrote:
> > >>> Здравствуйте
> > >>>
> > >>> 19 декабря сего года сломалась инициализация hasher (как минимум) для aarch64 с использованием qemu с использованием репозитория Сизиф.
> > >>>
> > >>> hsh --init --target=aarch64 --apt-config=apt.conf.sisyphus.aarch64 --with-qemu aarch64 -v
> > >>>
> > >>> ...
> > >>>
> > >>> hsh-initroot: Created fakedata.
> > >>> libfakeroot: semop(-1): Function not implemented
> > >>> hsh-initroot: Unpack of setup_2.2.16-alt1_noarch_1577333714.rpm for fakedata failed.
> > >>> mki-prepare: /tmp/.private/antohami/mkimage-profiles.build.lZWMzx4/live/.work: unable to make initial chroot: rc=1
> > >>>
> > >>> Версия qemu 4.1.1-alt1
> > >>
> > >> С актуальной версией qemu не пробовали?
> > >>
> > > 
> > > Попробовал актуальную версию для p9 4.2.1-alt2 на стартерките builder x86_64. Та же проблема для всех архитектур.
> > > О результатах на Сизифном qemu сообщу позже.
> > > 
> > > 
> > 
> > На сизифном qemu 5.2.0-alt1 невозможно проверить из-за бага:
> > https://bugzilla.altlinux.org/show_bug.cgi?id=39141
> > 
> > Проверил 5.0.0-alt1 проблема со сборкой на базе Сизифа та же, что и у более ранних версий.
> 
> Подтверждаю, у меня такая же конфигурация (боевая x86_64 c сегодняшним
> Сизифом, qemu-user-static-aarch64-5.0.0-alt1 на hold'е). Формирование
> чрута с aarch64 Сизифом завершается ошибкой:
> 
> hsh-initroot: Unpacked initial package list.
> hsh-initroot: Created entry point: /tmp/.private/iv/aaaa/chroot/.host/entry
> libfakeroot: semop(-1): Function not implemented

glibc начиная с 2.31 реализует semop через semtimedop

http://git.altlinux.org/gears/g/..git?p=glibc.git;a=commitdiff;h=765cdd0bffd77960ae852104fc4ea5edcdb8aed3

Если я правильно понимаю, на 32-битных архитектурах на самом деле
используется системный вызов semtimedop_time64.

Однако поддержка этого системного вызова в qemu-user появилась
только в 5.2:

http://git.altlinux.org/gears/q/..git?p=qemu.git;a=commitdiff;h=cac46eb021fbbac77f1f98223b19608f31fc2236

То есть, рабочего qemu-user (без ALTBUG #39141), который мог бы запустить
fakeroot на Сизифе (т.е. 5.2+) у нас нет и не было.

-- 
  wbr,
    iv m.


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