void-linux / void-containers Goto Github PK
View Code? Open in Web Editor NEWOCI container images for Void Linux
Home Page: https://voidlinux.org
License: Other
OCI container images for Void Linux
Home Page: https://voidlinux.org
License: Other
sometimes, I want to compile a Linux kernel like Gentoo, but must install multi-app and dependencies..
make menuconfig
very easy?$ sudo docker run -it --rm ghcr.io/void-linux/void-linux:mini-bb-musl
Unable to find image 'ghcr.io/void-linux/void-linux:mini-bb-musl' locally
mini-bb-musl: Pulling from void-linux/void-linux
b8bade5013d9: Pull complete
e5991dee9f7c: Pull complete
Digest: sha256:8ec89c31ad2e377e1a126c5f07f8d3cea88a9c432fde2098f0d7abbef3c16d17
Status: Downloaded newer image for ghcr.io/void-linux/void-linux:mini-bb-musl
WARNING: The requested image's platform (linux/arm/v7) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
exec /bin/sh: exec format error
thin images for aarch64 would be helpful for me
when building the linux/arm/v6
and linux/arm/v7
images, both locally on x86_64 and in github CI, the hashed certificates in /etc/ssl/certs
(<hex string>.0
symlinks) are not generated by openssl rehash
during xbps-reconfigure -a
and thus SSL verification fails in the resultant images.
It appears that running xbps-reconfigure -f ca-certificates
in an interactive session of the resultant container does regenerate the certificates, but I am unsure why that works. Running the failing program from that INSTALL
script (openssl rehash
) directly does not work; when run in verbose mode (-v
), it should print a bunch of lines about linking hashed certificates.
Based on the logs below, this seems to be caused by qemu not implementing a syscall (398
, which appears to be rseq
), and from testing it does not work with either qemu-user-static-7.1.0_3
or qemu-user-static-8.0.3_1
.
docker run --platform linux/arm/v6 -e QEMU_STRACE=1 --rm ghcr.io/void-linux/void-musl-full:20230809 openssl rehash -v /etc/ssl/certs
1 brk(NULL) = 0x400a8000
1 access("/etc/ld.so.preload",R_OK) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/v8l/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/v8l/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/v8l/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/v8l",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/tls/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/tls",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/v8l/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/v8l/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/v8l/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/v8l/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/v8l/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/v8l/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/v8l/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/v8l",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib32/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib32/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ffff248,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef80) = 0
1 mmap2(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f7bb000
1 mmap2(NULL,601320,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f728000
1 mmap2(0x3f730000,535784,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f730000
1 munmap(0x3f728000,32768) = 0
1 munmap(0x3f7b3000,31976) = 0
1 mprotect(0x3f799000,73728,PROT_NONE) = 0
1 mmap2(0x3f7ab000,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x6b) = 0x3f7ab000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib32/libcrypto.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ffff238,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef70) = 0
1 mmap2(NULL,2246724,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f50b000
1 mmap2(0x3f510000,2181188,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f510000
1 munmap(0x3f50b000,20480) = 0
1 munmap(0x3f725000,43076) = 0
1 mprotect(0x3f6fc000,53248,PROT_NONE) = 0
1 mmap2(0x3f709000,98304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1f9) = 0x3f709000
1 mmap2(0x3f721000,14404,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x3f721000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib32/libc.so.6",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ffff228,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef60) = 0
1 mmap2(NULL,1745356,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f365000
1 mmap2(0x3f370000,1679820,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f370000
1 munmap(0x3f365000,45056) = 0
1 munmap(0x3f50b000,16844) = 0
1 mprotect(0x3f4ea000,81920,PROT_NONE) = 0
1 mmap2(0x3f4fe000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x17e) = 0x3f4fe000
1 mmap2(0x3f501000,37324,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x3f501000
1 close(3) = 0
1 set_tid_address(0x3f7bc128) = 1
1 set_robust_list(0x3f7bc12c,12) = -1 errno=38 (Function not implemented)
1 Unknown syscall 398
1 mprotect(0x3f4fe000,8192,PROT_READ) = 0
1 mprotect(0x3f709000,94208,PROT_READ) = 0
1 mprotect(0x3f7ab000,20480,PROT_READ) = 0
1 mprotect(0x40098000,32768,PROT_READ) = 0
1 mprotect(0x3f7fd000,4096,PROT_READ) = 0
1 ugetrlimit(3,1073740476,1062248906,1062224200,1,1062207064) = 0
1 getrandom(0x3f503700,4,1) = 4
1 brk(NULL) = 0x400a8000
1 brk(0x400c9000) = 0x400c9000
1 futex(0x3f723368,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723368,1064448872) = 0
1 futex(0x3f72336c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f72336c,1064448876) = 0
1 futex(0x3f723370,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723370,1064448880) = 0
1 futex(0x3f723290,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723290,1064448656) = 0
1 rt_sigaction(SIGPIPE,0x3ffff63c,0x3ffff6c8) = 0
1 futex(0x3f723414,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723414,1064449044) = 0
1 futex(0x3f723378,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723378,1064448888) = 0
1 futex(0x3f72337c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f72337c,1064448892) = 0
1 futex(0x3f72338c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f72338c,1064448908) = 0
1 futex(0x3f720ca4,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f720ca4,1064438948) = 0
1 futex(0x3f721234,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f721234,1064440372) = 0
1 futex(0x3f720d30,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f720d30,1064439088) = 0
1 futex(0x3f723374,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723374,1064448884) = 0
1 futex(0x3f723390,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723390,1064448912) = 0
1 openat(AT_FDCWD,"/etc/ssl/openssl.cnf",O_RDONLY|O_LARGEFILE) = 3
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ffff440) = 0
1 read(3,0x400b7180,4096) = 4096
1 read(3,0x400b7180,4096) = 4096
1 read(3,0x400b7180,4096) = 2717
1 read(3,0x400b7180,4096) = 0
1 close(3) = 0
1 futex(0x3f723380,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723380,1064448896) = 0
1 futex(0x3f7b2cc8,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f7b2cc8,1065037000) = 0
1 sysinfo(0x3ffff754) = 0
1 futex(0x3f7b2ce0,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f7b2ce0,1065037024) = 0
1 access("/etc/ssl/certs",W_OK) = 0
1 statx(1,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffec38) = 0
1 openat(AT_FDCWD,"/etc/ssl/certs",O_RDONLY|O_DIRECTORY|O_LARGEFILE|O_NONBLOCK|O_CLOEXEC) = 3
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ffff518) = 0
1 getdents64(3,0x400bb7c0,32768) = 9336
1 close(3) = 0
1 write(1,0x400b6e88,21) = 21
Doing /etc/ssl/certs
1 exit_group(0)
docker run --platform linux/arm/v6 -e QEMU_STRACE=1 --rm ghcr.io/classabbyamp/void-glibc-full:fcc682f openssl rehash -v /etc/ssl/certs
``` 1 brk(NULL) = 0x400a8000 1 access("/etc/ld.so.preload",R_OK) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/v8l/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/v8l/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/v8l/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/v8l/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/v8l",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/tls/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/tls",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/v8l/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/v8l/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/v8l/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/v8l/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/v8l/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/v8l/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/v8l/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/v8l",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/neon/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/neon/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/neon/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/vfp/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory) 1 statx(AT_FDCWD,"/usr/lib32/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef90) = -1 errno=2 (No such file or directory) 1 openat(AT_FDCWD,"/usr/lib32/libssl.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 1 read(3,0x3ffff248,512) = 512 1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef80) = 0 1 mmap2(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f7bb000 1 mmap2(NULL,601320,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f728000 1 mmap2(0x3f730000,535784,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f730000 1 munmap(0x3f728000,32768) = 0 1 munmap(0x3f7b3000,31976) = 0 1 mprotect(0x3f799000,73728,PROT_NONE) = 0 1 mmap2(0x3f7ab000,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x6b) = 0x3f7ab000 1 close(3) = 0 1 openat(AT_FDCWD,"/usr/lib32/libcrypto.so.1.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 1 read(3,0x3ffff238,512) = 512 1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef70) = 0 1 mmap2(NULL,2246724,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f50b000 1 mmap2(0x3f510000,2181188,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f510000 1 munmap(0x3f50b000,20480) = 0 1 munmap(0x3f725000,43076) = 0 1 mprotect(0x3f6fc000,53248,PROT_NONE) = 0 1 mmap2(0x3f709000,98304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1f9) = 0x3f709000 1 mmap2(0x3f721000,14404,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x3f721000 1 close(3) = 0 1 openat(AT_FDCWD,"/usr/lib32/libc.so.6",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 1 read(3,0x3ffff228,512) = 512 1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffef60) = 0 1 mmap2(NULL,1745356,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f365000 1 mmap2(0x3f370000,1679820,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f370000 1 munmap(0x3f365000,45056) = 0 1 munmap(0x3f50b000,16844) = 0 1 mprotect(0x3f4ea000,81920,PROT_NONE) = 0 1 mmap2(0x3f4fe000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x17e) = 0x3f4fe000 1 mmap2(0x3f501000,37324,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x3f501000 1 close(3) = 0 1 set_tid_address(0x3f7bc128) = 1 1 set_robust_list(0x3f7bc12c,12) = -1 errno=38 (Function not implemented) 1 Unknown syscall 398 1 mprotect(0x3f4fe000,8192,PROT_READ) = 0 1 mprotect(0x3f709000,94208,PROT_READ) = 0 1 mprotect(0x3f7ab000,20480,PROT_READ) = 0 1 mprotect(0x40098000,32768,PROT_READ) = 0 1 mprotect(0x3f7fd000,4096,PROT_READ) = 0 1 ugetrlimit(3,1073740476,1062248906,1062224200,1,1062207064) = 0 1 getrandom(0x3f503700,4,1) = 4 1 brk(NULL) = 0x400a8000 1 brk(0x400c9000) = 0x400c9000 1 futex(0x3f723368,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723368,1064448872) = 0 1 futex(0x3f72336c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f72336c,1064448876) = 0 1 futex(0x3f723370,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723370,1064448880) = 0 1 futex(0x3f723290,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723290,1064448656) = 0 1 rt_sigaction(SIGPIPE,0x3ffff63c,0x3ffff6c8) = 0 1 futex(0x3f723414,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723414,1064449044) = 0 1 futex(0x3f723378,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723378,1064448888) = 0 1 futex(0x3f72337c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f72337c,1064448892) = 0 1 futex(0x3f72338c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f72338c,1064448908) = 0 1 futex(0x3f720ca4,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f720ca4,1064438948) = 0 1 futex(0x3f721234,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f721234,1064440372) = 0 1 futex(0x3f720d30,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f720d30,1064439088) = 0 1 futex(0x3f723374,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723374,1064448884) = 0 1 futex(0x3f723390,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723390,1064448912) = 0 1 openat(AT_FDCWD,"/etc/ssl/openssl.cnf",O_RDONLY|O_LARGEFILE) = 3 1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ffff440) = 0 1 read(3,0x400b7180,4096) = 4096 1 read(3,0x400b7180,4096) = 4096 1 read(3,0x400b7180,4096) = 2717 1 read(3,0x400b7180,4096) = 0 1 close(3) = 0 1 futex(0x3f723380,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f723380,1064448896) = 0 1 futex(0x3f7b2cc8,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f7b2cc8,1065037000) = 0 1 sysinfo(0x3ffff754) = 0 1 futex(0x3f7b2ce0,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,2147483647,NULL,0x3f7b2ce0,1065037024) = 0 1 access("/etc/ssl/certs",W_OK) = 0 1 statx(1,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3fffec38) = 0 1 openat(AT_FDCWD,"/etc/ssl/certs",O_RDONLY|O_DIRECTORY|O_LARGEFILE|O_NONBLOCK|O_CLOEXEC) = 3 1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ffff518) = 0 1 getdents64(3,0x400bb7c0,32768) = 9336 1 close(3) = 0 1 write(1,0x400b6e88,21) = 21 Doing /etc/ssl/certs 1 exit_group(0) ```
Hey, we have no issues running in amd64 environments, but on Apple Silicon trying to build with --platform linux/amd64
and/or FROM --platform linux/amd64 ghcr.io/void-linux/void-glibc-full:latest
gives us package manager issues:
=> CACHED [1/5] FROM ghcr.io/void-linux/void-glibc-full:latest@sha256:7f582c504050231708e55e10de0fd816c9f2dac721 0.0s
=> ERROR [2/5] RUN xbps-install -Syu && xbps-install -y curl tar xz 1.6s
------
> [2/5] RUN xbps-install -Syu && xbps-install -y curl tar xz:
1.558 ERROR: [reposync] failed to fetch file `https://repo-default.voidlinux.org/current/x86_64-repodata': Requested Range Not Satisfiable
1.566 [*] Updating repository `https://repo-default.voidlinux.org/current/x86_64-repodata' ...
Any idea on how to work around this locally? Apologies if this should be more obvious, tried a few different things. Works fine in CI though!
the following tags:
all fail with the same cert verification failure.
FROM ghcr.io/void-linux/void-linux:latest-mini-bb-x86_64
RUN xbps-install -SuyM
CMD ["/bin/sh"]
$ docker build .
Sending build context to Docker daemon 3.072kB
Step 1/3 : FROM ghcr.io/void-linux/void-linux:latest-mini-bb-x86_64
---> d912037f4d51
Step 2/3 : RUN xbps-install -SuyM
---> Running in 7b5dd0aa8f57
Certificate verification failed for /C=US/O=Internet Security Research Group/CN=ISRG Root X1
SSL_connect returned 1
ERROR: [reposync] failed to fetch file `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata': Operation not permitted
Certificate verification failed for /C=US/O=Internet Security Research Group/CN=ISRG Root X1
SSL_connect returned 1
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...
The command '/bin/sh -c xbps-install -SuyM' returned a non-zero code: 95
Does not happen if the latest-mini-x86_64
tag is used:
docker build .
Sending build context to Docker daemon 3.072kB
Step 1/3 : FROM ghcr.io/void-linux/void-linux:latest-mini-x86_64
---> 2cbb9bf2e855
Step 2/3 : RUN xbps-install -SuyM
---> Running in 0a71a9a6c39a
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...
x86_64-repodata: [1701KB 0%] 217MB/s ETA: 00m00s
x86_64-repodata: [1701KB 70%] 1290KB/s ETA: 00m00s
x86_64-repodata: 1701KB [avg rate: 1828KB/s]
...
Removing intermediate container 0a71a9a6c39a
---> 00aa26ad69ad
Step 3/3 : CMD ["/bin/sh"]
---> Running in 29ead3a54b7c
Removing intermediate container 29ead3a54b7c
---> 3f99e4de5e62
Successfully built 3f99e4de5e62
Distrobox is unable to start a void container on Linux Mint 21.3. It was working fine a few weeks ago, and nothing else in my host system has changed.
Steps to reproduce:
Run
distrobox create -i ghcr.io/void-linux/void-glibc-full -n void
Image ghcr.io/void-linux/void-glibc-full not found.
Do you want to pull the image now? [Y/n]: y
Trying to pull ghcr.io/void-linux/void-glibc-full:latest...
Getting image source signatures
Copying blob 5b5f5f05ee94 skipped: already exists
Copying blob 1fc573451507 done
Copying config 40ebd91a5a done
Writing manifest to image destination
Storing signatures
40ebd91a5adb0c8cd2124fc7fbe91bc14dd9e8c7ff4ce92b78943258ea311bc6
Creating 'void' using image ghcr.io/void-linux/void-glibc-full [ OK ]
Distrobox 'void' successfully created.
To enter, run:
distrobox enter void
Then run
distrobox enter void
Starting container... [ OK ]
Installing basic packages... Error: An error occurred
I get the exact same result from using void-glibc, void-musl, or void-musl-full instead.
Happens on all mini and mini-bb image variants. Is this something that can be safely ignored?
This was suppressed/ignored by the || exit 0
at the end of this:
# mini
RUN xbps-install -yMU binutils && \
strip /target/usr/lib/* /target/usr/bin/* || exit 0
# mini-bb
RUN xbps-install -yMU busybox-huge binutils && \
for util in $(busybox --list) ; do [ ! -f /target/usr/bin/$util ] && ln -svf /usr/bin/busybox /target/usr/bin/$util ; done && \
strip /target/usr/lib/* /target/usr/bin/* || exit 0
sample of the output:
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/ld-2.32.so'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/ld-linux-x86-64.so.2'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libBrokenLocale-2.32.so'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libBrokenLocale.so'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libBrokenLocale.so.1'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libSegFault.so'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libacl.so.1'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libacl.so.1.1.2301'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libanl-2.32.so'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libanl.so'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libanl.so.1'
#7 22.46 strip: Unable to recognise the format of the input file `/target/usr/lib/libarchive.so.13'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libarchive.so.13.6.0'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libattr.so.1'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libattr.so.1.1.2501'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libbz2.so.1'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libbz2.so.1.0'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libbz2.so.1.0.8'
#7 22.47 strip: Unable to recognise the format of the input file `/target/usr/lib/libc-2.32.so'
#7 22.47 strip: /target/usr/lib/libc.so: file format not recognized
Hey! We wish make toolbox containers based on the images (at https://github.com/toolbx-images/images )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.