ところが、MBAは aarch64で、学科のサーバは Xeon。で、その上で singularity で built するわけだが...
まぁ、普通に動く。でも、MBAで動かすか。で、
Lima で動くのは Aarch64
いや、amd64 でも動くとはある
singulalrity image を Aarch64 で built すれば良い
2023にできてて、そのimageも動く。しかし、
% singularity build --fakeroot m68k-arm.sif m68k-arm.def
INFO: Starting build...
FATAL: While performing build: conveyor failed to get: Error initializing source oci:/root/.singularity/cache/blob:639b1aee6821be62e6db147eb40cbd169d39c46a64fa1bbcbdb7d2a142733fc3: Error choosing an image from manifest list docker://arm64v8/ubuntu:22.04: no image found in image index for architecture amd64, variant "", OS linux
どういうこと? なんか変わったのか? docker://arm64v8/ubuntu:22.04 がないといってるので、podman で pull して、root で実行! で動いた!
/ に mount されて、server 死亡
をくらいました。いったい全体なんなんだ。いや、podman で pull してユーザで実行できないってどういうこと?
さすがに、もう一度試す気はせず、MBA上の lima で apptainer buildすることに
% apptainer.lima build --fakeroot m68k.sif m68k.def
INFO: Starting build...
Copying blob 71daa2c787b0 skipped: already exists
Copying config 368eb09313 done |
Writing manifest to image destination
2025/04/27 19:50:00 info unpack layer: sha256:71daa2c787b0984bbf3b93b60686fc9fe305d28e833914019b2745ab9f36730e
INFO: Running post scriptlet
FATAL: container creation failed: mount hook function failure: mount /Users/kono->/Users/kono error: while mounting /Users/kono: destination /Users/kono doesn't exist in container
これはわかる。/Users/kono が read only mount されてるわけね。apptainer.lima shell なら、問題なく動く。fakeroot の関係か
ところが
% limactl shell apptainer apptainer build --fakeroot m68k.sif m68k.def
なら、このエラーはでない。しかし、最後の .sif の書き出して失敗する。これも /Users/kono が read only mount されてるからだ
% limactl shell apptainer apptainer build --fakeroot /tmp/m68k.sif m68k.def
とすればできる。しかし、この /tmp は VMの中だ
% limactl copy apptainer:/tmp/m68k.sif .
として、取り出せば良い。これでできたんだが、Aarch64には m68k のgcc cross compilerと実行環境はないらしい
No comments:
Post a Comment