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

Ivan A. Melnikov iv на altlinux.org
Вт Дек 22 16:37:33 MSK 2020


On Tue, Dec 22, 2020 at 03:37:13PM +0300, Dmitry V. Levin wrote:
> On Tue, Dec 22, 2020 at 04:10:29PM +0400, Ivan A. Melnikov wrote:
> > 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.
> 
> На 32-битных архитектурах используется semtimedop_time64, но если
> ядро его не поддерживает, то используется обычный semtimedop.
> 
> На 64-битных архитектурах используется обычный semtimedop.

Ой, да, простите, я немного всё смешал, мы же только про aarch64 говорили.
 
> > Однако поддержка этого системного вызова в qemu-user появилась
> > только в 5.2:
> 
> Поддержки старого доброго semtimedop в qemu-user тоже раньше не было, что ли?


Она появилась в qemu 5.1, до того действительно не было.

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

-- 
  wbr,
    iv m.


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