==>(B Building on articuno(B ==>(B Checking for remote environment...(B ==>(B Syncing package to remote host...(B sending incremental file list created directory packages/python-imageio ./ .SRCINFO 1,435B 100% 0B/s 0:00:00 1,435B 100% 0B/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 92B 100% 92,000B/s 0:00:00 92B 100% 92,000B/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646B 100% 646,000B/s 0:00:00 646B 100% 646,000B/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 3,880B 100% 3,880,000B/s 0:00:00 3,880B 100% 3,880,000B/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375B 100% 375,000B/s 0:00:00 375B 100% 375,000B/s 0:00:00 (xfr#5, to-chk=3/9) python-imageio-2.38.1-1.log 864B 100% 864,000B/s 0:00:00 864B 100% 864,000B/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 3,707 bytes received 190 bytes 2,598.00 bytes/sec total size is 6,645 speedup is 1.71 ==>(B Running pkgctl build --arch riscv64 on remote host...(B ==> WARNING:(B invalid architecture: riscv64(B ==>(B Updating pacman database cache(B [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==>(B Building python-imageio(B  ->(B repo: extra(B  ->(B arch: riscv64(B  ->(B worker: felix-0(B ==>(B Building python-imageio for [extra] (riscv64)(B ]3008;start=9331f3e6e501485da6a2e7d51c86a8a6;user=felix;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a8e0f254fb404064a221d3f8b0adfaf2;pid=1986699;comm=sudo;targetuser=root;type=session\Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ]3008;start=706b276e4c354b97843c5bdee408e7c4;user=root;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a8e0f254fb404064a221d3f8b0adfaf2;pid=1986783;comm=systemd-nspawn;container=arch-nspawn-1986783;type=container\]11;?\]2;🔵 Container arch-nspawn-1986783 on articuno.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h[!p]104\[?7h]3008;end=706b276e4c354b97843c5bdee408e7c4\==>(B Building in chroot for [extra] (riscv64)...(B ==>(B Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-0]...(Bdone(B ]3008;start=9f71ac8bec584088ae6a8b00d19d3e9a;user=root;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a8e0f254fb404064a221d3f8b0adfaf2;pid=1990719;comm=sudo;targetuser=felix;type=session\==>(B Making package: python-imageio 2.38.1-1 (Fri Oct 23 02:51:31 2026)(B ==>(B Retrieving sources...(B  ->(B Downloading python-imageio-2.38.1.tar.gz...(B % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 24595 0 24595 0 0 13481 0 00:01 24572 100 562.1k 0 562.1k 0 0 202.3k 0 00:02 24572 100 562.1k 0 562.1k 0 0 202.3k 0 00:02 24572 100 562.1k 0 562.1k 0 0 202.2k 0 00:02 24572  ->(B Cloning python-imageio-test-images git repo...(B Cloning into bare repository '/home/felix/packages/python-imageio/python-imageio-test-images'... remote: Enumerating objects: 98, done. remote: Counting objects: 3% (1/29) remote: Counting objects: 6% (2/29) remote: Counting objects: 10% (3/29) remote: Counting objects: 13% (4/29) remote: Counting objects: 17% (5/29) remote: Counting objects: 20% (6/29) remote: Counting objects: 24% (7/29) remote: Counting objects: 27% (8/29) remote: Counting objects: 31% (9/29) remote: Counting objects: 34% (10/29) remote: Counting objects: 37% (11/29) remote: Counting objects: 41% (12/29) remote: Counting objects: 44% (13/29) remote: Counting objects: 48% (14/29) remote: Counting objects: 51% (15/29) remote: Counting objects: 55% (16/29) remote: Counting objects: 58% (17/29) remote: Counting objects: 62% (18/29) remote: Counting objects: 65% (19/29) remote: Counting objects: 68% (20/29) remote: Counting objects: 72% (21/29) remote: Counting objects: 75% (22/29) remote: Counting objects: 79% (23/29) remote: Counting objects: 82% (24/29) remote: Counting objects: 86% (25/29) remote: Counting objects: 89% (26/29) remote: Counting objects: 93% (27/29) remote: Counting objects: 96% (28/29) remote: Counting objects: 100% (29/29) remote: Counting objects: 100% (29/29), done. remote: Compressing objects: 3% (1/26) remote: Compressing objects: 7% (2/26) remote: Compressing objects: 11% (3/26) remote: Compressing objects: 15% (4/26) remote: Compressing objects: 19% (5/26) remote: Compressing objects: 23% (6/26) remote: Compressing objects: 26% (7/26) remote: Compressing objects: 30% (8/26) remote: Compressing objects: 34% (9/26) remote: Compressing objects: 38% (10/26) remote: Compressing objects: 42% (11/26) remote: Compressing objects: 46% (12/26) remote: Compressing objects: 50% (13/26) remote: Compressing objects: 53% (14/26) remote: Compressing objects: 57% (15/26) remote: Compressing objects: 61% (16/26) remote: Compressing objects: 65% (17/26) remote: Compressing objects: 69% (18/26) remote: Compressing objects: 73% (19/26) remote: Compressing objects: 76% (20/26) remote: Compressing objects: 80% (21/26) remote: Compressing objects: 84% (22/26) remote: Compressing objects: 88% (23/26) remote: Compressing objects: 92% (24/26) remote: Compressing objects: 96% (25/26) remote: Compressing objects: 100% (26/26) remote: Compressing objects: 100% (26/26), done. Receiving objects: 1% (1/98) Receiving objects: 2% (2/98) Receiving objects: 2% (2/98), 888.01 KiB | 816.00 KiB/s Receiving objects: 2% (2/98), 2.69 MiB | 1.29 MiB/s Receiving objects: 2% (2/98), 5.55 MiB | 1.75 MiB/s Receiving objects: 2% (2/98), 9.64 MiB | 2.30 MiB/s Receiving objects: 2% (2/98), 15.49 MiB | 3.25 MiB/s Receiving objects: 2% (2/98), 22.33 MiB | 4.44 MiB/s Receiving objects: 2% (2/98), 30.71 MiB | 5.79 MiB/s Receiving objects: 2% (2/98), 41.83 MiB | 7.53 MiB/s Receiving objects: 3% (3/98), 41.83 MiB | 7.53 MiB/s Receiving objects: 4% (4/98), 41.83 MiB | 7.53 MiB/s Receiving objects: 4% (4/98), 53.59 MiB | 9.07 MiB/s Receiving objects: 5% (5/98), 53.59 MiB | 9.07 MiB/s Receiving objects: 6% (6/98), 53.59 MiB | 9.07 MiB/s Receiving objects: 6% (6/98), 60.84 MiB | 9.32 MiB/s Receiving objects: 6% (6/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 7% (7/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 8% (8/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 9% (9/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 10% (10/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 11% (11/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 12% (12/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 13% (13/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 14% (14/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 15% (15/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 16% (16/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 17% (17/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 18% (18/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 19% (19/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 20% (20/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 21% (21/98), 71.30 MiB | 9.75 MiB/s Receiving objects: 22% (22/98), 75.66 MiB | 9.82 MiB/s Receiving objects: 23% (23/98), 75.66 MiB | 9.82 MiB/s Receiving objects: 23% (23/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 24% (24/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 25% (25/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 26% (26/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 27% (27/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 28% (28/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 29% (29/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 30% (30/98), 79.27 MiB | 9.50 MiB/s Receiving objects: 30% (30/98), 89.75 MiB | 8.87 MiB/s Receiving objects: 31% (31/98), 89.75 MiB | 8.87 MiB/s Receiving objects: 32% (32/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 33% (33/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 34% (34/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 35% (35/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 36% (36/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 37% (37/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 38% (38/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 39% (39/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 40% (40/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 41% (41/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 42% (42/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 43% (43/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 44% (44/98), 95.22 MiB | 9.15 MiB/s Receiving objects: 44% (44/98), 113.35 MiB | 10.52 MiB/s Receiving objects: 44% (44/98), 124.47 MiB | 10.71 MiB/s Receiving objects: 44% (44/98), 130.64 MiB | 11.21 MiB/s Receiving objects: 44% (44/98), 143.65 MiB | 11.74 MiB/s Receiving objects: 45% (45/98), 143.65 MiB | 11.74 MiB/s Receiving objects: 46% (46/98), 143.65 MiB | 11.74 MiB/s Receiving objects: 47% (47/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 48% (48/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 50% (49/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 51% (50/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 52% (51/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 53% (52/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 54% (53/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 55% (54/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 56% (55/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 57% (56/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 58% (57/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 59% (58/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 60% (59/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 61% (60/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 62% (61/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 63% (62/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 64% (63/98), 147.83 MiB | 11.35 MiB/s Receiving objects: 65% (64/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 66% (65/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 67% (66/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 68% (67/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 69% (68/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 70% (69/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 71% (70/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 72% (71/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 73% (72/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 74% (73/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 75% (74/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 76% (75/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 77% (76/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 78% (77/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 79% (78/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 80% (79/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 81% (80/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 82% (81/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 83% (82/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 84% (83/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 85% (84/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 86% (85/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 87% (86/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 88% (87/98), 153.95 MiB | 11.40 MiB/s Receiving objects: 88% (87/98), 165.74 MiB | 11.33 MiB/s Receiving objects: 89% (88/98), 165.74 MiB | 11.33 MiB/s Receiving objects: 90% (89/98), 165.74 MiB | 11.33 MiB/s Receiving objects: 90% (89/98), 176.00 MiB | 10.99 MiB/s Receiving objects: 91% (90/98), 176.00 MiB | 10.99 MiB/s Receiving objects: 92% (91/98), 176.00 MiB | 10.99 MiB/s remote: Total 98 (delta 9), reused 17 (delta 3), pack-reused 69 (from 1) Receiving objects: 93% (92/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 94% (93/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 95% (94/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 96% (95/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 97% (96/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 98% (97/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 100% (98/98), 181.10 MiB | 10.81 MiB/s Receiving objects: 100% (98/98), 186.48 MiB | 8.42 MiB/s, done. Resolving deltas: 0% (0/9) Resolving deltas: 11% (1/9) Resolving deltas: 22% (2/9) Resolving deltas: 33% (3/9) Resolving deltas: 44% (4/9) Resolving deltas: 55% (5/9) Resolving deltas: 66% (6/9) Resolving deltas: 77% (7/9) Resolving deltas: 88% (8/9) Resolving deltas: 100% (9/9) Resolving deltas: 100% (9/9), done. ==>(B Validating source files with b2sums...(B python-imageio-2.38.1.tar.gz ... Passed python-imageio-test-images ... Passed ]3008;end=9f71ac8bec584088ae6a8b00d19d3e9a\Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ]3008;start=ef43e5749a294bd8b2346083bb603d9d;user=root;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a8e0f254fb404064a221d3f8b0adfaf2;pid=1997167;comm=systemd-nspawn;container=makechrootpkg-python-imageio.build.1986744;type=container\]11;?\]2;🔵 Container makechrootpkg-python-imageio.build.1986744 on articuno.felixc.at\]3008;start=b7f9f69caa034b3a9e4e62fca2aa5e61;user=root;hostname=makechrootpkg-python-imageio.build.1986744;machineid=ccc690c20f4f43f496de59db97c41176;bootid=55bf503091244c3e9149a28fe26a4056;pid=14;comm=sudo;targetuser=builduser;type=session\==>(B Making package: python-imageio 2.38.1-1 (Fri Oct 23 02:52:27 2026)(B ==>(B Checking runtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=eb4d632c2eb044f1b68b6fb279dd5d17;user=builduser;hostname=makechrootpkg-python-imageio.build.1986744;machineid=ccc690c20f4f43f496de59db97c41176;bootid=55bf503091244c3e9149a28fe26a4056;pid=888;comm=sudo;targetuser=root;type=session\[?25lresolving dependencies... looking for conflicting packages... Package (31) New Version Net Change Download Size extra/aom 3.15.2-1 4.98 MiB extra/blas 3.12.1-2 0.43 MiB extra/cblas 3.12.1-2 0.31 MiB extra/dav1d 1.5.4-1 0.71 MiB extra/freetype2 2.14.3-1 1.61 MiB extra/fribidi 1.0.17-1 0.25 MiB extra/graphite 1:1.3.15-1 0.18 MiB extra/harfbuzz 14.6.0-1 4.86 MiB extra/jbigkit 2.2-1 0.14 MiB extra/lapack 3.12.1-2 9.09 MiB extra/lcms2 2.19.1-1 0.66 MiB extra/libavif 1.4.2-1 0.77 MiB extra/libdeflate 1.26-1 0.10 MiB extra/libimagequant 4.4.1-2 0.55 MiB extra/libjpeg-turbo 3.2.0-2 2.24 MiB extra/libpng 1.6.59-1 0.54 MiB extra/libraqm 0.11.0-1 0.19 MiB extra/libtiff 4.7.2-2 1.18 MiB extra/libwebp 1.6.0-2 0.64 MiB extra/libxau 1.0.12-1 0.02 MiB extra/libxcb 1.17.0-1 3.69 MiB extra/libxdmcp 1.1.5-2 0.13 MiB extra/libyuv r2921+644251f25-1 1.16 MiB extra/openjpeg2 2.5.4-1 13.30 MiB extra/python-packaging 26.3-1 1.58 MiB extra/rav1e 0.8.1-3 4.85 MiB extra/svt-av1 4.2.0-1 2.16 MiB extra/xcb-proto 1.17.0-4 1.03 MiB extra/xorgproto 2026.1-1 1.47 MiB extra/python-numpy 2.5.4-1 42.70 MiB extra/python-pillow 13.0.0-1 4.90 MiB 0.95 MiB Total Download Size: 0.95 MiB Total Installed Size: 106.41 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-pillow-13.0.0-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing blas... installing cblas... installing lapack... installing python-numpy... Optional dependencies for python-numpy blas-openblas: faster linear algebra installing python-packaging... installing libpng... installing freetype2... Optional dependencies for freetype2 harfbuzz: Improved autohinting [pending] installing libjpeg-turbo... installing jbigkit... installing libdeflate... installing libwebp... Optional dependencies for libwebp libwebp-utils: WebP conversion and inspection tools installing libtiff... Optional dependencies for libtiff freeglut: for using tiffgt installing lcms2... installing aom... installing dav1d... Optional dependencies for dav1d dav1d-doc: HTML documentation installing libyuv... installing rav1e... installing svt-av1... installing libavif... installing fribidi... installing graphite... Optional dependencies for graphite graphite-docs: Documentation installing harfbuzz... Optional dependencies for harfbuzz harfbuzz-utils: utilities installing libraqm... installing openjpeg2... installing libimagequant... installing xcb-proto... installing xorgproto... installing libxdmcp... installing libxau... installing libxcb... installing python-pillow... Optional dependencies for python-pillow libwebp: for webp images [installed] tk: for the ImageTK module python-olefile: OLE2 file support python-pyqt6: for the ImageQt module python-defusedxml: for reading XMP tags :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h]3008;end=eb4d632c2eb044f1b68b6fb279dd5d17\==>(B Checking buildtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=935fbd2441ac4eda889baf5ad3d87f8f;user=builduser;hostname=makechrootpkg-python-imageio.build.1986744;machineid=ccc690c20f4f43f496de59db97c41176;bootid=55bf503091244c3e9149a28fe26a4056;pid=1049;comm=sudo;targetuser=root;type=session\[?25lresolving dependencies... looking for conflicting packages... Package (21) New Version Net Change extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.context 6.1.2-1 0.06 MiB extra/python-jaraco.functools 4.1.0-3 0.07 MiB extra/python-jaraco.text 4.0.0-4 0.08 MiB extra/python-more-itertools 11.2.1-1 0.78 MiB extra/python-platformdirs 4.13.5-1 0.57 MiB extra/python-pluggy 1.7.0-1 0.28 MiB extra/python-pygments 2.21.0-1 15.59 MiB extra/python-pyproject-hooks 1.3.3-1 0.11 MiB extra/python-wheel 0.48.0-1 0.34 MiB extra/zlib-ng 2.3.3-1 0.23 MiB extra/git 2.56.0-1 32.07 MiB extra/python-build 1.6.1-1 0.33 MiB extra/python-installer 1.1.0-1 0.21 MiB extra/python-pytest 1:9.1.1-1 4.95 MiB extra/python-setuptools 1:84.2.1-1.1 4.94 MiB Total Installed Size: 61.17 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-setuptools... installing python-iniconfig... installing python-pluggy... installing python-pygments... installing python-pytest... :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Checking for old perl modules... WARNING: '/usr/lib/perl5/5.42' contains data from at least 2 packages which will NOT be used by the installed perl interpreter. -> Run the following command to get a list of affected packages: pacman -Qqo '/usr/lib/perl5/5.42' [?25h]3008;end=935fbd2441ac4eda889baf5ad3d87f8f\==>(B Retrieving sources...(B  ->(B Found python-imageio-2.38.1.tar.gz(B ==> WARNING:(B Skipping all source file integrity checks.(B ==>(B Extracting sources...(B  ->(B Extracting python-imageio-2.38.1.tar.gz with bsdtar(B  ->(B Creating working copy of python-imageio-test-images git repo...(B Cloning into 'python-imageio-test-images'... done. Updating files: 6% (5/75) Updating files: 8% (6/75) Updating files: 9% (7/75) Updating files: 10% (8/75) Updating files: 12% (9/75) Updating files: 13% (10/75) Updating files: 14% (11/75) Updating files: 16% (12/75) Updating files: 17% (13/75) Updating files: 18% (14/75) Updating files: 20% (15/75) Updating files: 21% (16/75) Updating files: 22% (17/75) Updating files: 24% (18/75) Updating files: 25% (19/75) Updating files: 26% (20/75) Updating files: 28% (21/75) Updating files: 29% (22/75) Updating files: 30% (23/75) Updating files: 32% (24/75) Updating files: 33% (25/75) Updating files: 34% (26/75) Updating files: 36% (27/75) Updating files: 37% (28/75) Updating files: 38% (29/75) Updating files: 40% (30/75) Updating files: 41% (31/75) Updating files: 42% (32/75) Updating files: 44% (33/75) Updating files: 45% (34/75) Updating files: 46% (35/75) Updating files: 48% (36/75) Updating files: 49% (37/75) Updating files: 50% (38/75) Updating files: 52% (39/75) Updating files: 53% (40/75) Updating files: 54% (41/75) Updating files: 56% (42/75) Updating files: 57% (43/75) Updating files: 58% (44/75) Updating files: 60% (45/75) Updating files: 61% (46/75) Updating files: 62% (47/75) Updating files: 64% (48/75) Updating files: 65% (49/75) Updating files: 66% (50/75) Updating files: 68% (51/75) Updating files: 69% (52/75) Updating files: 70% (53/75) Updating files: 72% (54/75) Updating files: 73% (55/75) Updating files: 74% (56/75) Updating files: 76% (57/75) Updating files: 77% (58/75) Updating files: 78% (59/75) Updating files: 80% (60/75) Updating files: 81% (61/75) Updating files: 82% (62/75) Updating files: 84% (63/75) Updating files: 85% (64/75) Updating files: 86% (65/75) Updating files: 88% (66/75) Updating files: 89% (67/75) Updating files: 90% (68/75) Updating files: 92% (69/75) Updating files: 93% (70/75) Updating files: 94% (71/75) Updating files: 96% (72/75) Updating files: 97% (73/75) Updating files: 98% (74/75) Updating files: 100% (75/75) Updating files: 100% (75/75), done. Switched to a new branch 'makepkg' ==>(B Starting build()...(B * Getting build dependencies for wheel... running egg_info creating ImageIO.egg-info writing ImageIO.egg-info/PKG-INFO writing dependency_links to ImageIO.egg-info/dependency_links.txt writing entry points to ImageIO.egg-info/entry_points.txt writing requirements to ImageIO.egg-info/requires.txt writing top-level names to ImageIO.egg-info/top_level.txt writing manifest file 'ImageIO.egg-info/SOURCES.txt' reading manifest file 'ImageIO.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'docs/ext/__pycache__' warning: no files found matching 'tests/*.md' warning: no previously-included files matching '.git*' found anywhere in distribution warning: no previously-included files matching '*.pyo' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'ImageIO.egg-info/SOURCES.txt' * Building wheel... running bdist_wheel running build running build_py creating build/lib/imageio copying imageio/__main__.py -> build/lib/imageio copying imageio/v3.py -> build/lib/imageio copying imageio/v2.py -> build/lib/imageio copying imageio/freeze.py -> build/lib/imageio copying imageio/__init__.py -> build/lib/imageio copying imageio/typing.py -> build/lib/imageio copying imageio/testing.py -> build/lib/imageio creating build/lib/imageio/core copying imageio/core/v3_plugin_api.py -> build/lib/imageio/core copying imageio/core/util.py -> build/lib/imageio/core copying imageio/core/request.py -> build/lib/imageio/core copying imageio/core/findlib.py -> build/lib/imageio/core copying imageio/core/fetching.py -> build/lib/imageio/core copying imageio/core/legacy_plugin_wrapper.py -> build/lib/imageio/core copying imageio/core/__init__.py -> build/lib/imageio/core copying imageio/core/format.py -> build/lib/imageio/core copying imageio/core/imopen.py -> build/lib/imageio/core creating build/lib/imageio/plugins copying imageio/plugins/ffmpeg.py -> build/lib/imageio/plugins copying imageio/plugins/spe.py -> build/lib/imageio/plugins copying imageio/plugins/tifffile_v3.py -> build/lib/imageio/plugins copying imageio/plugins/pillow_info.py -> build/lib/imageio/plugins copying imageio/plugins/freeimage.py -> build/lib/imageio/plugins copying imageio/plugins/gdal.py -> build/lib/imageio/plugins copying imageio/plugins/freeimagemulti.py -> build/lib/imageio/plugins copying imageio/plugins/simpleitk.py -> build/lib/imageio/plugins copying imageio/plugins/lytro.py -> build/lib/imageio/plugins copying imageio/plugins/__init__.py -> build/lib/imageio/plugins copying imageio/plugins/_tifffile.py -> build/lib/imageio/plugins copying imageio/plugins/bsdf.py -> build/lib/imageio/plugins copying imageio/plugins/_freeimage.py -> build/lib/imageio/plugins copying imageio/plugins/feisem.py -> build/lib/imageio/plugins copying imageio/plugins/grab.py -> build/lib/imageio/plugins copying imageio/plugins/swf.py -> build/lib/imageio/plugins copying imageio/plugins/npz.py -> build/lib/imageio/plugins copying imageio/plugins/pillow_legacy.py -> build/lib/imageio/plugins copying imageio/plugins/pillowmulti.py -> build/lib/imageio/plugins copying imageio/plugins/pyav.py -> build/lib/imageio/plugins copying imageio/plugins/rawpy.py -> build/lib/imageio/plugins copying imageio/plugins/dicom.py -> build/lib/imageio/plugins copying imageio/plugins/pillow.py -> build/lib/imageio/plugins copying imageio/plugins/tifffile.py -> build/lib/imageio/plugins copying imageio/plugins/example.py -> build/lib/imageio/plugins copying imageio/plugins/fits.py -> build/lib/imageio/plugins copying imageio/plugins/_swf.py -> build/lib/imageio/plugins copying imageio/plugins/_dicom.py -> build/lib/imageio/plugins copying imageio/plugins/_bsdf.py -> build/lib/imageio/plugins copying imageio/plugins/pydicom.py -> build/lib/imageio/plugins copying imageio/plugins/opencv.py -> build/lib/imageio/plugins creating build/lib/imageio/config copying imageio/config/extensions.py -> build/lib/imageio/config copying imageio/config/__init__.py -> build/lib/imageio/config copying imageio/config/plugins.py -> build/lib/imageio/config running egg_info writing ImageIO.egg-info/PKG-INFO writing dependency_links to ImageIO.egg-info/dependency_links.txt writing entry points to ImageIO.egg-info/entry_points.txt writing requirements to ImageIO.egg-info/requires.txt writing top-level names to ImageIO.egg-info/top_level.txt reading manifest file 'ImageIO.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'docs/ext/__pycache__' warning: no files found matching 'tests/*.md' warning: no previously-included files matching '.git*' found anywhere in distribution warning: no previously-included files matching '*.pyo' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'ImageIO.egg-info/SOURCES.txt' copying imageio/py.typed -> build/lib/imageio copying imageio/v2.pyi -> build/lib/imageio copying imageio/v3.pyi -> build/lib/imageio copying imageio/core/format.pyi -> build/lib/imageio/core copying imageio/core/request.pyi -> build/lib/imageio/core copying imageio/core/imopen.pyi -> build/lib/imageio/core copying imageio/core/legacy_plugin_wrapper.pyi -> build/lib/imageio/core copying imageio/config/plugins.pyi -> build/lib/imageio/config copying imageio/config/extensions.pyi -> build/lib/imageio/config installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/imageio copying build/lib/imageio/__main__.py -> build/bdist.linux-riscv64/wheel/./imageio creating build/bdist.linux-riscv64/wheel/imageio/core copying build/lib/imageio/core/v3_plugin_api.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/util.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/format.pyi -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/request.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/findlib.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/request.pyi -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/fetching.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/legacy_plugin_wrapper.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/__init__.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/format.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/imopen.pyi -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/imopen.py -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/core/legacy_plugin_wrapper.pyi -> build/bdist.linux-riscv64/wheel/./imageio/core copying build/lib/imageio/py.typed -> build/bdist.linux-riscv64/wheel/./imageio copying build/lib/imageio/v3.py -> build/bdist.linux-riscv64/wheel/./imageio copying build/lib/imageio/v2.py -> build/bdist.linux-riscv64/wheel/./imageio copying build/lib/imageio/freeze.py -> build/bdist.linux-riscv64/wheel/./imageio copying build/lib/imageio/v3.pyi -> build/bdist.linux-riscv64/wheel/./imageio copying build/lib/imageio/__init__.py -> build/bdist.linux-riscv64/wheel/./imageio copying build/lib/imageio/typing.py -> build/bdist.linux-riscv64/wheel/./imageio creating build/bdist.linux-riscv64/wheel/imageio/config copying build/lib/imageio/config/extensions.py -> build/bdist.linux-riscv64/wheel/./imageio/config copying build/lib/imageio/config/plugins.pyi -> build/bdist.linux-riscv64/wheel/./imageio/config copying build/lib/imageio/config/__init__.py -> build/bdist.linux-riscv64/wheel/./imageio/config copying build/lib/imageio/config/plugins.py -> build/bdist.linux-riscv64/wheel/./imageio/config copying build/lib/imageio/config/extensions.pyi -> build/bdist.linux-riscv64/wheel/./imageio/config copying build/lib/imageio/v2.pyi -> build/bdist.linux-riscv64/wheel/./imageio creating build/bdist.linux-riscv64/wheel/imageio/plugins copying build/lib/imageio/plugins/ffmpeg.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/spe.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/tifffile_v3.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/pillow_info.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/freeimage.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/gdal.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/freeimagemulti.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/simpleitk.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/lytro.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/__init__.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/_tifffile.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/bsdf.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/_freeimage.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/feisem.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/grab.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/swf.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/npz.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/pillow_legacy.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/pillowmulti.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/pyav.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/rawpy.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/dicom.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/pillow.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/tifffile.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/example.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/fits.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/_swf.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/_dicom.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/_bsdf.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/pydicom.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/plugins/opencv.py -> build/bdist.linux-riscv64/wheel/./imageio/plugins copying build/lib/imageio/testing.py -> build/bdist.linux-riscv64/wheel/./imageio running install_egg_info Copying ImageIO.egg-info to build/bdist.linux-riscv64/wheel/./ImageIO-2.38.1-py3.14.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/imageio-2.38.1.dist-info/WHEEL creating '/build/python-imageio/src/imageio-2.38.1/dist/.tmp-5ny47hr6/imageio-2.38.1-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'imageio/__init__.py' adding 'imageio/__main__.py' adding 'imageio/freeze.py' adding 'imageio/py.typed' adding 'imageio/testing.py' adding 'imageio/typing.py' adding 'imageio/v2.py' adding 'imageio/v2.pyi' adding 'imageio/v3.py' adding 'imageio/v3.pyi' adding 'imageio/config/__init__.py' adding 'imageio/config/extensions.py' adding 'imageio/config/extensions.pyi' adding 'imageio/config/plugins.py' adding 'imageio/config/plugins.pyi' adding 'imageio/core/__init__.py' adding 'imageio/core/fetching.py' adding 'imageio/core/findlib.py' adding 'imageio/core/format.py' adding 'imageio/core/format.pyi' adding 'imageio/core/imopen.py' adding 'imageio/core/imopen.pyi' adding 'imageio/core/legacy_plugin_wrapper.py' adding 'imageio/core/legacy_plugin_wrapper.pyi' adding 'imageio/core/request.py' adding 'imageio/core/request.pyi' adding 'imageio/core/util.py' adding 'imageio/core/v3_plugin_api.py' adding 'imageio/plugins/__init__.py' adding 'imageio/plugins/_bsdf.py' adding 'imageio/plugins/_dicom.py' adding 'imageio/plugins/_freeimage.py' adding 'imageio/plugins/_swf.py' adding 'imageio/plugins/_tifffile.py' adding 'imageio/plugins/bsdf.py' adding 'imageio/plugins/dicom.py' adding 'imageio/plugins/example.py' adding 'imageio/plugins/feisem.py' adding 'imageio/plugins/ffmpeg.py' adding 'imageio/plugins/fits.py' adding 'imageio/plugins/freeimage.py' adding 'imageio/plugins/freeimagemulti.py' adding 'imageio/plugins/gdal.py' adding 'imageio/plugins/grab.py' adding 'imageio/plugins/lytro.py' adding 'imageio/plugins/npz.py' adding 'imageio/plugins/opencv.py' adding 'imageio/plugins/pillow.py' adding 'imageio/plugins/pillow_info.py' adding 'imageio/plugins/pillow_legacy.py' adding 'imageio/plugins/pillowmulti.py' adding 'imageio/plugins/pyav.py' adding 'imageio/plugins/pydicom.py' adding 'imageio/plugins/rawpy.py' adding 'imageio/plugins/simpleitk.py' adding 'imageio/plugins/spe.py' adding 'imageio/plugins/swf.py' adding 'imageio/plugins/tifffile.py' adding 'imageio/plugins/tifffile_v3.py' adding 'imageio-2.38.1.dist-info/licenses/LICENSE' adding 'imageio-2.38.1.dist-info/METADATA' adding 'imageio-2.38.1.dist-info/WHEEL' adding 'imageio-2.38.1.dist-info/entry_points.txt' adding 'imageio-2.38.1.dist-info/top_level.txt' adding 'imageio-2.38.1.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Successfully built imageio-2.38.1-py3-none-any.whl ==>(B Starting check()...(B ============================= test session starts ============================== platform linux -- Python 3.14.8, pytest-9.1.1, pluggy-1.7.0 -- /build/python-imageio/src/imageio-2.38.1/test-env/bin/python cachedir: .pytest_cache rootdir: /build/python-imageio/src/imageio-2.38.1 configfile: pyproject.toml plugins: platformdirs-4.13.5 collecting ... collected 196 items / 5 deselected / 10 skipped / 191 selected tests/test_bsdf.py::test_select PASSED [ 0%] tests/test_bsdf.py::test_not_an_image PASSED [ 1%] tests/test_bsdf.py::test_singleton PASSED [ 1%] tests/test_bsdf.py::test_series PASSED [ 2%] tests/test_bsdf.py::test_series_unclosed PASSED [ 2%] tests/test_bsdf.py::test_random_access PASSED [ 3%] tests/test_bsdf.py::test_volume PASSED [ 3%] tests/test_bsdf.py::test_from_url PASSED [ 4%] tests/test_config.py::test_format_on_v3_plugin PASSED [ 4%] tests/test_core.py::test_fetching PASSED [ 5%] tests/test_core.py::test_request PASSED [ 5%] tests/test_core.py::test_request_read_sources PASSED [ 6%] tests/test_core.py::test_request_save_sources PASSED [ 6%] tests/test_core.py::test_request_seekable_file_object PASSED [ 7%] tests/test_core.py::test_request_seekable_file_object_readline PASSED [ 7%] tests/test_core.py::test_request_file_no_seek PASSED [ 8%] tests/test_core.py::test_util_image PASSED [ 8%] tests/test_core.py::test_util_dict PASSED [ 9%] tests/test_core.py::test_util_get_platform PASSED [ 9%] tests/test_core.py::test_util_asarray PASSED [ 10%] tests/test_core.py::test_util_progres_bar PASSED [ 10%] tests/test_core.py::test_util_image_as_uint PASSED [ 11%] tests/test_core.py::test_util_has_has_module PASSED [ 12%] tests/test_core.py::test_functions PASSED [ 12%] tests/test_core.py::test_v2_format_resolution PASSED [ 13%] tests/test_core.py::test_to_nbytes_correct[1-1_0] PASSED [ 13%] tests/test_core.py::test_to_nbytes_correct[1-1_1] PASSED [ 14%] tests/test_core.py::test_to_nbytes_correct[8B-8] PASSED [ 14%] tests/test_core.py::test_to_nbytes_correct[1MB-1000000] PASSED [ 15%] tests/test_core.py::test_to_nbytes_correct[1M-1000000] PASSED [ 15%] tests/test_core.py::test_to_nbytes_correct[1GiB-1073741824] PASSED [ 16%] tests/test_core.py::test_to_nbytes_correct[1.5TB-1500000000000.0] PASSED [ 16%] tests/test_core.py::test_to_nbytes_incorrect[1mb] PASSED [ 17%] tests/test_core.py::test_to_nbytes_incorrect[1Giib] PASSED [ 17%] tests/test_core.py::test_to_nbytes_incorrect[GB] PASSED [ 18%] tests/test_core.py::test_to_nbytes_incorrect[1.3.2TB] PASSED [ 18%] tests/test_core.py::test_to_nbytes_incorrect[8b] PASSED [ 19%] tests/test_core.py::test_memtest PASSED [ 19%] tests/test_core.py::test_example_plugin PASSED [ 20%] tests/test_core.py::test_imwrite_not_subclass PASSED [ 20%] tests/test_core.py::test_imwrite_not_array_like PASSED [ 21%] tests/test_core.py::test_imwrite_symbol_name PASSED [ 21%] tests/test_core.py::test_legacy_empty_image PASSED [ 22%] tests/test_core.py::test_imopen_unsupported_iomode PASSED [ 23%] tests/test_core.py::test_imopen_no_plugin_found PASSED [ 23%] tests/test_core.py::test_imopen_unregistered_plugin[.jpg] PASSED [ 24%] tests/test_core.py::test_plugin_selection_failure PASSED [ 24%] tests/test_core.py::test_plugin_selection_success[.jpg] PASSED [ 25%] tests/test_core.py::test_imopen_installable_plugin PASSED [ 25%] tests/test_core.py::test_legacy_object_image_writing PASSED [ 26%] tests/test_core.py::test_imiter PASSED [ 26%] tests/test_core.py::test_request_mode_backwards_compatibility PASSED [ 27%] tests/test_core.py::test_faulty_legacy_mode_access PASSED [ 27%] tests/test_core.py::test_mvolread_out_of_bytes PASSED [ 28%] tests/test_core.py::test_invalid_explicit_plugin PASSED [ 28%] tests/test_core.py::test_broken_plugin PASSED [ 29%] tests/test_core.py::test_volwrite_failure PASSED [ 29%] tests/test_core.py::test_memory_size PASSED [ 30%] tests/test_core.py::test_imopen_explicit_plugin_input PASSED [ 30%] tests/test_core.py::test_sort_order_restore PASSED [ 31%] tests/test_core.py::test_imopen_extension PASSED [ 31%] tests/test_core.py::test_imopen_extension_malformatted[.jpg] PASSED [ 32%] tests/test_core.py::test_writing_foreign_extension PASSED [ 32%] tests/test_core.py::test_format_hint_malformatted PASSED [ 33%] tests/test_core.py::test_format_hint PASSED [ 34%] tests/test_core.py::test_standard_images PASSED [ 34%] tests/test_dicom.py::test_read_empty_dir PASSED [ 35%] tests/test_dicom.py::test_dcmtk PASSED [ 35%] tests/test_dicom.py::test_selection PASSED [ 36%] tests/test_dicom.py::test_progress PASSED [ 36%] tests/test_dicom.py::test_different_read_modes PASSED [ 37%] tests/test_dicom.py::test_different_read_modes_with_readers PASSED [ 37%] tests/test_dicom.py::test_v3_reading PASSED [ 38%] tests/test_dicom.py::test_contiguous_dicom_series PASSED [ 38%] tests/test_fei_tiff.py::test_fei_file_reading PASSED [ 39%] tests/test_fei_tiff.py::test_fei_file_fail PASSED [ 39%] tests/test_format.py::test_format PASSED [ 40%] tests/test_format.py::test_reader_and_writer PASSED [ 40%] tests/test_format.py::test_default_can_read_and_can_write PASSED [ 41%] tests/test_format.py::test_format_manager PASSED [ 41%] tests/test_format.py::test_sorting_errors PASSED [ 42%] tests/test_format.py::test_default_order PASSED [ 42%] tests/test_format.py::test_preferring_fi PASSED [ 43%] tests/test_format.py::test_bad_formats PASSED [ 43%] tests/test_format.py::test_write_format_search_fail PASSED [ 44%] tests/test_format.py::test_format_by_filename PASSED [ 45%] tests/test_format.py::test_touch_warnings PASSED [ 45%] tests/test_grab.py::test_grab_plugin_load PASSED [ 46%] tests/test_grab.py::test_grab_simulated PASSED [ 46%] tests/test_legacy_plugin_wrapper.py::test_exception_message_bytes PASSED [ 47%] tests/test_legacy_plugin_wrapper.py::test_ellipsis_index PASSED [ 47%] tests/test_legacy_plugin_wrapper.py::test_properties PASSED [ 48%] tests/test_lytro.py::test_lytro_lfr_format PASSED [ 48%] tests/test_lytro.py::test_lytro_illum_raw_format PASSED [ 49%] tests/test_lytro.py::test_lytro_f01_raw_format PASSED [ 49%] tests/test_lytro.py::test_lytro_lfp_format PASSED [ 50%] tests/test_lytro.py::test_lytro_lfr_reading PASSED [ 50%] tests/test_lytro.py::test_lytro_lfp_reading PASSED [ 51%] tests/test_lytro.py::test_lytro_raw_illum_reading PASSED [ 51%] tests/test_lytro.py::test_lytro_raw_f0_reading PASSED [ 52%] tests/test_meta.py::test_namespace PASSED [ 52%] tests/test_meta.py::test_import_nothing PASSED [ 53%] tests/test_meta.py::test_import_modules PASSED [ 53%] tests/test_npz.py::test_npz_format PASSED [ 54%] tests/test_npz.py::test_npz_reading_writing PASSED [ 54%] tests/test_pillow.py::test_write_single_frame[chelsea.npy-iio.png-pil.png] PASSED [ 55%] tests/test_pillow.py::test_write_single_frame[chelsea.npy-iio.jpg-pil.jpg] PASSED [ 56%] tests/test_pillow.py::test_write_single_frame[chelsea.npy-iio.jpeg-pil.jpg] PASSED [ 56%] tests/test_pillow.py::test_write_single_frame[chelsea.npy-iio.bmp-pil.bmp] PASSED [ 57%] tests/test_pillow.py::test_write_multiframe[newtonscradle_rgb.npy-iio.gif-pil.gif] PASSED [ 57%] tests/test_pillow.py::test_png_compression PASSED [ 58%] tests/test_pillow.py::test_png_quantization PASSED [ 58%] tests/test_pillow.py::test_png_16bit FAILED [ 59%] tests/test_pillow.py::test_png_remote PASSED [ 59%] tests/test_pillow.py::test_png_transparent_pixel PASSED [ 60%] tests/test_pillow.py::test_png_gamma_correction PASSED [ 60%] tests/test_pillow.py::test_jpg_compression PASSED [ 61%] tests/test_pillow.py::test_exif_orientation PASSED [ 61%] tests/test_pillow.py::test_exif_invalid_orientation[0] PASSED [ 62%] tests/test_pillow.py::test_exif_invalid_orientation[9] PASSED [ 62%] tests/test_pillow.py::test_gif_rgb_vs_rgba PASSED [ 63%] tests/test_pillow.py::test_gif_gray PASSED [ 63%] tests/test_pillow.py::test_gif_fps_warning PASSED [ 64%] tests/test_pillow.py::test_gif_irregular_duration PASSED [ 64%] tests/test_pillow.py::test_gif_palletsize PASSED [ 65%] tests/test_pillow.py::test_gif_loop_and_duration PASSED [ 65%] tests/test_pillow.py::test_gif_indexed_read PASSED [ 66%] tests/test_pillow.py::test_unknown_image PASSED [ 67%] tests/test_pillow.py::test_gif_transparent_pixel PASSED [ 67%] tests/test_pillow.py::test_gif_list_write PASSED [ 68%] tests/test_pillow.py::test_gif_first_p_frame PASSED [ 68%] tests/test_pillow.py::test_legacy_exif_orientation PASSED [ 69%] tests/test_pillow.py::test_incomatible_write_format PASSED [ 69%] tests/test_pillow.py::test_write_to_bytes PASSED [ 70%] tests/test_pillow.py::test_write_to_bytes_rgba PASSED [ 70%] tests/test_pillow.py::test_write_to_bytes_imwrite PASSED [ 71%] tests/test_pillow.py::test_write_to_bytes_jpg PASSED [ 71%] tests/test_pillow.py::test_write_jpg_to_bytes_io PASSED [ 72%] tests/test_pillow.py::test_initialization_failure PASSED [ 72%] tests/test_pillow.py::test_quantized_gif PASSED [ 73%] tests/test_pillow.py::test_properties PASSED [ 73%] tests/test_pillow.py::test_metadata PASSED [ 74%] tests/test_pillow.py::test_apng_reading PASSED [ 74%] tests/test_pillow.py::test_apng_metadata PASSED [ 75%] tests/test_pillow.py::test_write_format_warning PASSED [ 75%] tests/test_pillow.py::test_8bit_with_16bit_depth PASSED [ 76%] tests/test_pillow.py::test_deprecated_kwargs PASSED [ 76%] tests/test_pillow.py::test_png_batch_fail PASSED [ 77%] tests/test_pillow.py::test_incremental_gif_write PASSED [ 78%] tests/test_pillow.py::test_format_change_warning PASSED [ 78%] tests/test_pillow.py::test_writable_output PASSED [ 79%] tests/test_pillow.py::test_heif_remote SKIPPED (could not import 'pillow_heif': No module named 'pillow_heif') [ 79%] tests/test_pillow.py::test_avif_remote SKIPPED (could not import 'pillow_heif': No module named 'pillow_heif') [ 80%] tests/test_pillow.py::test_webp_remote PASSED [ 80%] tests/test_pillow.py::test_pillow_readline_on_seekable_stream PASSED [ 81%] tests/test_pillow_legacy.py::test_pillow_format PASSED [ 81%] tests/test_pillow_legacy.py::test_png FAILED [ 82%] tests/test_pillow_legacy.py::test_png_remote PASSED [ 82%] tests/test_pillow_legacy.py::test_jpg PASSED [ 83%] tests/test_pillow_legacy.py::test_jpg_more PASSED [ 83%] tests/test_pillow_legacy.py::test_gif XFAIL (New pillow version is no longer supported.) [ 84%] tests/test_pillow_legacy.py::test_animated_gif XFAIL (New pillow version is no longer supported.) [ 84%] tests/test_pillow_legacy.py::test_v3_gif PASSED [ 85%] tests/test_pillow_legacy.py::test_images_with_transparency PASSED [ 85%] tests/test_pillow_legacy.py::test_gamma_correction PASSED [ 86%] tests/test_pillow_legacy.py::test_inside_zipfile PASSED [ 86%] tests/test_pillow_legacy.py::test_bmp PASSED [ 87%] tests/test_pillow_legacy.py::test_scipy_imread_compat PASSED [ 87%] tests/test_pillow_legacy.py::test_write_jpg_to_bytes_io PASSED [ 88%] tests/test_simpleitk.py::test_simpleitk_reading_writing SKIPPED [ 89%] tests/test_spe.py::test_imopen PASSED [ 89%] tests/test_spe.py::test_read PASSED [ 90%] tests/test_spe.py::test_iter PASSED [ 90%] tests/test_spe.py::test_metadata PASSED [ 91%] tests/test_spe.py::test_sdtcontrol_v0501 PASSED [ 91%] tests/test_spe.py::test_properties PASSED [ 92%] tests/test_swf.py::test_format_selection PASSED [ 92%] tests/test_swf.py::test_reading_saving PASSED [ 93%] tests/test_swf.py::test_read_from_url PASSED [ 93%] tests/test_swf.py::test_invalid PASSED [ 94%] tests/test_swf.py::test_lowlevel PASSED [ 94%] tests/test_swf.py::test_types PASSED [ 95%] tests/test_v2.py::test_reader PASSED [ 95%] tests/test_v2.py::test_get_reader_format PASSED [ 96%] tests/test_v2.py::test_get_length PASSED [ 96%] tests/test_v2.py::test_iterating PASSED [ 97%] tests/test_v2.py::test_writer PASSED [ 97%] tests/test_v2.py::test_get_writer_format PASSED [ 98%] tests/test_v2.py::test_warnings PASSED [ 98%] tests/test_v2.py::test_mimwrite_exception PASSED [ 99%] tests/test_v2.py::test_kwarg_forwarding PASSED [100%] =================================== FAILURES =================================== ________________________________ test_png_16bit ________________________________ test_images = PosixPath('/build/python-imageio/src/imageio-2.38.1/.test_images') tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/test_png_16bit0') def test_png_16bit(test_images, tmp_path): im = np.load(test_images / "chelsea.npy")[..., 0] > iio.imwrite( tmp_path / "1.png", 2 * im.astype(np.uint16), plugin="pillow", mode="I;16", ) tests/test_pillow.py:102: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ imageio/v3.py:147: in imwrite encoded = img_file.write(image, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ imageio/plugins/pillow.py:448: in write pil_frame = Image.fromarray(frame, mode=mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ obj = array([[286, 286, 282, ..., 90, 90, 90], [292, 290, 286, ..., 92, 90, 94], [296, 294, 292, ..., 9...[256, 278, 268, ..., 332, 332, 334], [278, 254, 250, ..., 322, 322, 324]], shape=(300, 451), dtype=uint16) mode = 'I;16' def fromarray(obj: SupportsArrayInterface, mode: str | None = None) -> Image: """ Creates an image memory from an object exporting the array interface (using the buffer protocol):: from PIL import Image import numpy as np a = np.zeros((5, 5)) im = Image.fromarray(a) If ``obj`` is not contiguous, then the ``tobytes`` method is called and :py:func:`~PIL.Image.frombuffer` is used. In the case of NumPy, be aware that Pillow modes do not always correspond to NumPy dtypes. Pillow modes only offer 1-bit pixels, 8-bit pixels, 32-bit signed integer pixels, and 32-bit floating point pixels. Pillow images can also be converted to arrays:: from PIL import Image import numpy as np im = Image.open("hopper.jpg") a = np.asarray(im) When converting Pillow images to arrays however, only pixel values are transferred. This means that P and PA mode images will lose their palette. :param obj: Object with array interface :param mode: Optional mode to use when reading ``obj``. Since pixel values do not contain information about palettes or color spaces, this can be used to place grayscale L mode data within a P mode image, or read RGB data as YCbCr for example. See: :ref:`concept-modes` for general information about modes. :returns: An image object. .. versionadded:: 1.1.6 """ arr = obj.__array_interface__ shape = arr["shape"] ndim = len(shape) strides = arr.get("strides", None) try: typekey = (1, 1) + shape[2:], arr["typestr"] except KeyError as e: if mode is not None: typekey = None color_modes: list[str] = [] else: msg = "Cannot handle this data type" raise TypeError(msg) from e if typekey is not None: try: typemode, rawmode, color_modes = _fromarray_typemap[typekey] except KeyError as e: typekey_shape, typestr = typekey msg = f"Cannot handle this data type: {typekey_shape}, {typestr}" raise TypeError(msg) from e if mode is not None: if mode != typemode and mode not in color_modes: msg = "Invalid mode for data type" > raise ValueError(msg) E ValueError: Invalid mode for data type /usr/lib/python3.14/site-packages/PIL/Image.py:3451: ValueError ___________________________________ test_png ___________________________________ test_images = PosixPath('/build/python-imageio/src/imageio-2.38.1/.test_images') tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/test_png0') @deprecated_test def test_png(test_images, tmp_path): fnamebase = str(tmp_path / "test") for isfloat in (False, True): for crop in (0, 1, 2): for colors in (0, 1, 3, 4): fname = fnamebase + "%i.%i.%i.png" % (isfloat, crop, colors) rim = get_ref_im(colors, crop, isfloat) imageio.imsave(fname, rim, format="PNG-PIL") im = imageio.imread(fname, format="PNG-PIL") mul = 255 if isfloat else 1 assert_close(rim * mul, im, 0.1) # lossless # Parameters im = imageio.imread(test_images / "chelsea.png", ignoregamma=True, format="PNG-PIL") imageio.imsave(fnamebase + ".png", im, interlaced=True) # Parameter fail with pytest.raises(TypeError): imageio.imread(test_images / "chelsea.png", notavalidk=True, format="PNG-PIL") with pytest.raises(TypeError): imageio.imsave(fnamebase + ".png", im, notavalidk=True, format="PNG-PIL") # Compression imageio.imsave(fnamebase + "1.png", im, compression=0, format="PNG-PIL") imageio.imsave(fnamebase + "2.png", im, compression=9, format="PNG-PIL") s1 = os.stat(fnamebase + "1.png").st_size s2 = os.stat(fnamebase + "2.png").st_size assert s2 < s1 # Fail with pytest.raises(ValueError): imageio.imsave(fnamebase + ".png", im, compression=12, format="PNG-PIL") # Quantize imageio.imsave(fnamebase + "1.png", im, quantize=256, format="PNG-PIL") imageio.imsave(fnamebase + "2.png", im, quantize=4, format="PNG-PIL") im = imageio.imread( fnamebase + "2.png", format="PNG-PIL" ) # touch palette read code s1 = os.stat(fnamebase + "1.png").st_size s2 = os.stat(fnamebase + "2.png").st_size assert s1 > s2 # Fail fname = fnamebase + "1.png" with pytest.raises(ValueError): imageio.imsave(fname, im[:, :, :3], quantize=300, format="PNG-PIL") with pytest.raises(ValueError): imageio.imsave(fname, im[:, :, 0], quantize=100, format="PNG-PIL") # 16b bit images im = imageio.imread(test_images / "chelsea.png")[:, :, 0] > imageio.imsave(fnamebase + "1.png", im.astype("uint16") * 2, format="PNG-PIL") tests/test_pillow_legacy.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ imageio/v2.py:397: in imwrite return file.write(im, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ imageio/core/legacy_plugin_wrapper.py:253: in write writer.append_data(image, metadata) imageio/core/format.py:589: in append_data return self._append_data(im, total_meta) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ imageio/plugins/pillow_legacy.py:453: in _append_data PillowFormat.Writer._append_data(self, im, meta) imageio/plugins/pillow_legacy.py:371: in _append_data img = ndarray_to_pil( imageio/plugins/pillow_legacy.py:825: in ndarray_to_pil return Image.fromarray(arr, mode) ^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ obj = array([[286, 286, 282, ..., 90, 90, 90], [292, 290, 286, ..., 92, 90, 94], [296, 294, 292, ..., 9...[256, 278, 268, ..., 332, 332, 334], [278, 254, 250, ..., 322, 322, 324]], shape=(300, 451), dtype=uint16) mode = 'I;16' def fromarray(obj: SupportsArrayInterface, mode: str | None = None) -> Image: """ Creates an image memory from an object exporting the array interface (using the buffer protocol):: from PIL import Image import numpy as np a = np.zeros((5, 5)) im = Image.fromarray(a) If ``obj`` is not contiguous, then the ``tobytes`` method is called and :py:func:`~PIL.Image.frombuffer` is used. In the case of NumPy, be aware that Pillow modes do not always correspond to NumPy dtypes. Pillow modes only offer 1-bit pixels, 8-bit pixels, 32-bit signed integer pixels, and 32-bit floating point pixels. Pillow images can also be converted to arrays:: from PIL import Image import numpy as np im = Image.open("hopper.jpg") a = np.asarray(im) When converting Pillow images to arrays however, only pixel values are transferred. This means that P and PA mode images will lose their palette. :param obj: Object with array interface :param mode: Optional mode to use when reading ``obj``. Since pixel values do not contain information about palettes or color spaces, this can be used to place grayscale L mode data within a P mode image, or read RGB data as YCbCr for example. See: :ref:`concept-modes` for general information about modes. :returns: An image object. .. versionadded:: 1.1.6 """ arr = obj.__array_interface__ shape = arr["shape"] ndim = len(shape) strides = arr.get("strides", None) try: typekey = (1, 1) + shape[2:], arr["typestr"] except KeyError as e: if mode is not None: typekey = None color_modes: list[str] = [] else: msg = "Cannot handle this data type" raise TypeError(msg) from e if typekey is not None: try: typemode, rawmode, color_modes = _fromarray_typemap[typekey] except KeyError as e: typekey_shape, typestr = typekey msg = f"Cannot handle this data type: {typekey_shape}, {typestr}" raise TypeError(msg) from e if mode is not None: if mode != typemode and mode not in color_modes: msg = "Invalid mode for data type" > raise ValueError(msg) E ValueError: Invalid mode for data type /usr/lib/python3.14/site-packages/PIL/Image.py:3451: ValueError ------------------------------ Captured log call ------------------------------- WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. WARNING imageio:util.py:40 Lossy conversion from float32 to uint8. Range [0, 1]. Convert image to uint8 prior to saving to suppress this warning. =============================== warnings summary =============================== tests/test_spe.py::test_metadata /build/python-imageio/src/imageio-2.38.1/imageio/plugins/spe.py:915: UserWarning: Failed to decode "sw_version" metadata string. Check `char_encoding` parameter. warnings.warn( tests/test_spe.py::test_metadata /build/python-imageio/src/imageio-2.38.1/imageio/plugins/spe.py:343: UserWarning: Failed to decode SDT-control metadata field `sequence_type`: 'INVA' warnings.warn( tests/test_spe.py::test_metadata /build/python-imageio/src/imageio-2.38.1/imageio/plugins/spe.py:424: UserWarning: Failed to decode SDT-control laser modulation script. Bad char_encoding? warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_pillow.py::test_png_16bit - ValueError: Invalid mode for data type FAILED tests/test_pillow_legacy.py::test_png - ValueError: Invalid mode for data type = 2 failed, 184 passed, 13 skipped, 5 deselected, 2 xfailed, 3 warnings in 102.24s (0:01:42) = ==> ERROR:(B A failure occurred in check().(B  Aborting...(B ]3008;end=b7f9f69caa034b3a9e4e62fca2aa5e61\[!p]104\[?7h]3008;end=ef43e5749a294bd8b2346083bb603d9d\==> ERROR:(B Build failed, check /var/lib/archbuild/extra-riscv64/felix-0/build(B [?12l[?25h[?12l[?25h]3008;end=9331f3e6e501485da6a2e7d51c86a8a6\[?12l[?25hreceiving incremental file list python-imageio-2.38.1-1-riscv64-build.log python-imageio-2.38.1-1-riscv64-check.log sent 62 bytes received 6,988 bytes 4,700.00 bytes/sec total size is 43,800 speedup is 6.21