==> Updating pacman database cache :: Synchronizing package databases... core downloading... extra downloading... ==> Building libretro-bsnes -> repo: extra-staging -> arch: aarch64 -> worker: ben-1 ==> Building libretro-bsnes for [extra-staging] (aarch64) 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. :: Synchronizing package databases... core-staging downloading... core-testing downloading... core downloading... extra-staging downloading... extra-testing downloading... aur downloading... extra downloading... :: Starting full system upgrade... there is nothing to do ==> Building in chroot for [extra-staging] (aarch64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-staging-aarch64/root] -> [ben-1]...done ==> Making package: libretro-bsnes 1:20260719.184125.g9c1285dda7dd-1 (Mon Jul 27 16:01:40 2026) ==> Retrieving sources... -> Cloning libretro-bsnes git repo... Cloning into bare repository '/home/ben/alpb/build/libretro-bsnes/libretro-bsnes'... -> Found libretro-bsnes-flags.patch ==> Validating source files with b2sums... libretro-bsnes ... Passed libretro-bsnes-flags.patch ... Passed 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. ==> Making package: libretro-bsnes 1:20260719.184125.g9c1285dda7dd-1 (Mon Jul 27 23:01:48 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change extra-testing/libretro-core-info 1.22.2-1 0.40 MiB Total Installed Size: 0.40 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing libretro-core-info... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (5) New Version Net Change extra-testing/perl-error 0.17030-3 0.04 MiB extra-testing/perl-mailtools 2.22-3 0.10 MiB extra-testing/perl-timedate 2.35-1 0.15 MiB extra-testing/zlib-ng 2.3.3-1 0.25 MiB extra-testing/git 2.55.0-1 30.97 MiB Total Installed Size: 31.51 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... git-2.55.0-1-aarch64 downloading... zlib-ng-2.3.3-1-aarch64 downloading... 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 :: Running post-transaction hooks... (1/3) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/3) Reloading system manager configuration... Skipped: Current root is not booted. (3/3) Arming ConditionNeedsUpdate... ==> Retrieving sources... -> Found libretro-bsnes-flags.patch ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Creating working copy of libretro-bsnes git repo... Cloning into 'libretro-bsnes'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... patching file nall/GNUmakefile Hunk #1 succeeded at 138 with fuzz 1 (offset 11 lines). ==> Starting build()... make: Entering directory '/build/libretro-bsnes/src/libretro-bsnes/bsnes' Compiling target-libretro/libretro.cpp ... Compiling target-libretro/program.cpp ... Compiling ../libco/libco.c ... Compiling emulator/emulator.cpp ... Compiling filter/filter.cpp ... Compiling lzma/lzma.cpp ... Compiling sfc/interface/interface.cpp ... Compiling sfc/system/system.cpp ... Compiling sfc/controller/controller.cpp ... Compiling sfc/cartridge/cartridge.cpp ... In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from emulator/emulator.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from target-libretro/program.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/system/system.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from filter/filter.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/interface/interface.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from lzma/lzma.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/controller/controller.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from target-libretro/libretro.cpp:4: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ Compiling sfc/memory/memory.cpp ... Compiling sfc/cpu/cpu.cpp ... Compiling sfc/smp/smp.cpp ... Compiling sfc/dsp/dsp.cpp ... Compiling sfc/ppu/ppu.cpp ... Compiling sfc/ppu-fast/ppu.cpp ... In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/memory/memory.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/cartridge/cartridge.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ Compiling sfc/expansion/expansion.cpp ... Compiling sfc/coprocessor/coprocessor.cpp ... In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/cpu/cpu.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/smp/smp.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/dsp/dsp.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/ppu/ppu.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/ppu-fast/ppu.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from sfc/expansion/expansion.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ Compiling sfc/slot/slot.cpp ... Compiling gb/Core/apu.c ... In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from ./sfc/coprocessor/icd/icd.cpp:1, from sfc/coprocessor/coprocessor.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ Compiling gb/Core/camera.c ... Compiling gb/Core/rumble.c ... Compiling gb/Core/display.c ... Compiling gb/Core/gb.c ... Compiling gb/Core/joypad.c ... Compiling gb/Core/mbc.c ... gb/Core/gb.c:1:9: warning: ‘_GNU_SOURCE’ redefined 1 | #define _GNU_SOURCE | ^~~~~~~~~~~ : note: this is the location of the previous definition Compiling gb/Core/memory.c ... gb/Core/gb.c: In function ‘GB_attributed_logv’: gb/Core/gb.c:26:5: warning: ignoring return value of ‘vasprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 26 | vasprintf(&string, fmt, args); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gb/Core/gb.c: In function ‘GB_load_boot_rom’: gb/Core/gb.c:219:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 219 | fread(gb->boot_rom, sizeof(gb->boot_rom), 1, f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gb/Core/gb.c: In function ‘GB_load_rom’: gb/Core/gb.c:297:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 297 | fread(gb->rom, 1, gb->rom_size, f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gb/Core/gb.c: In function ‘GB_load_gbs’: gb/Core/gb.c:470:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 470 | fread(file_data, 1, file_size, f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gb/Core/gb.c: In function ‘GB_load_isx’: gb/Core/gb.c:487:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 487 | fread(magic, 1, sizeof(magic), f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compiling gb/Core/printer.c ... Compiling gb/Core/random.c ... Compiling gb/Core/rewind.c ... Compiling gb/Core/save_state.c ... Compiling gb/Core/sgb.c ... Compiling gb/Core/sm83_cpu.c ... Compiling gb/Core/symbol_hash.c ... gb/Core/save_state.c: In function ‘GB_is_save_state’: gb/Core/save_state.c:1335:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 1335 | fread(&magic, sizeof(magic), 1, f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gb/Core/save_state.c:1343:9: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 1343 | fread(&magic, sizeof(magic), 1, f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gb/Core/save_state.c:1351:5: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 1351 | fread(&magic, sizeof(magic), 1, f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compiling gb/Core/timing.c ... Compiling processor/arm7tdmi/arm7tdmi.cpp ... Compiling processor/spc700/spc700.cpp ... Compiling processor/wdc65816/wdc65816.cpp ... In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./sfc/sfc.hpp:6, from ./sfc/slot/bsmemory/bsmemory.cpp:1, from sfc/slot/slot.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./processor/processor.hpp:3, from processor/arm7tdmi/arm7tdmi.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./processor/processor.hpp:3, from processor/spc700/spc700.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ In file included from ../nall/string.hpp:362, from ../nall/chrono.hpp:4, from ./emulator/emulator.hpp:8, from ./processor/processor.hpp:3, from processor/wdc65816/wdc65816.cpp:1: ../nall/string/markup/bml.hpp: In function ‘nall::Markup::Node nall::BML::unserialize(const nall::string&, nall::string_view)’: ../nall/string/markup/bml.hpp:153:31: warning: casting ‘nall::BML::SharedNode’ {aka ‘nall::shared_pointer’} to ‘nall::Markup::SharedNode&’ {aka ‘nall::shared_pointer&’} does not use ‘nall::shared_pointer::shared_pointer(const nall::shared_pointer&) [with U = nall::BML::ManagedNode; = void; T = nall::Markup::ManagedNode]’ [-Wcast-user-defined] 153 | return (Markup::SharedNode&)node; | ^~~~ g++ -o out/bsnes_libretro.so -shared obj/libretro.o obj/program.o obj/libco.o obj/emulator.o obj/filter.o obj/lzma.o obj/sfc-interface.o obj/sfc-system.o obj/sfc-controller.o obj/sfc-cartridge.o obj/sfc-memory.o obj/sfc-cpu.o obj/sfc-smp.o obj/sfc-dsp.o obj/sfc-ppu.o obj/sfc-ppu-fast.o obj/sfc-expansion.o obj/sfc-coprocessor.o obj/sfc-slot.o obj/gb-apu.o obj/gb-camera.o obj/gb-rumble.o obj/gb-display.o obj/gb-gb.o obj/gb-joypad.o obj/gb-mbc.o obj/gb-memory.o obj/gb-printer.o obj/gb-random.o obj/gb-rewind.o obj/gb-save_state.o obj/gb-sgb.o obj/gb-sm83_cpu.o obj/gb-symbol_hash.o obj/gb-timing.o obj/processor-arm7tdmi.o obj/processor-spc700.o obj/processor-wdc65816.o -Wl,--no-undefined -Wl,--version-script=target-libretro/link.T -lgomp -Wl,-Bdynamic -fopenmp -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -ldl -shared -I../sameboy In function ‘fromInteger’, inlined from ‘__ct ’ at ../nall/string/cast.hpp:50:45, inlined from ‘make_string’ at ../nall/string/cast.hpp:247:10, inlined from ‘append’ at ../nall/string/core.hpp:54:22, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘retro_load_game’ at target-libretro/libretro.cpp:918:41: ../nall/string/utility.hpp:116:72: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] 116 | for(int x = size - 1, y = 0; x >= 0 && y < size; x--, y++) result[x] = buffer[y]; | ^ ../nall/string/cast.hpp: In function ‘retro_load_game’: ../nall/string/cast.hpp:247:10: note: at offset -3 into destination object ‘’ of size 14 247 | return stringify>(value); | ^ In function ‘fromInteger’, inlined from ‘__ct ’ at ../nall/string/cast.hpp:50:45, inlined from ‘make_string’ at ../nall/string/cast.hpp:247:10, inlined from ‘append’ at ../nall/string/core.hpp:54:22, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘retro_load_game_special’ at target-libretro/libretro.cpp:976:41: ../nall/string/utility.hpp:116:72: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] 116 | for(int x = size - 1, y = 0; x >= 0 && y < size; x--, y++) result[x] = buffer[y]; | ^ ../nall/string/cast.hpp: In function ‘retro_load_game_special’: ../nall/string/cast.hpp:247:10: note: at offset -3 into destination object ‘’ of size 14 247 | return stringify>(value); | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘saveHitachiDSP’ at sfc/cartridge/save.cpp:109:25, inlined from ‘saveCartridge.constprop’ at sfc/cartridge/save.cpp:7:76: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/save.cpp: In function ‘saveCartridge.constprop’: sfc/cartridge/save.cpp:109:25: note: at offset 52 into destination object ‘’ of size 32 109 | if(auto memory = node["memory(type=RAM,content=Data,architecture=HG51BS169)"]) { | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘saveuPD7725’ at sfc/cartridge/save.cpp:122:25, inlined from ‘saveCartridge.constprop’ at sfc/cartridge/save.cpp:8:71: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/save.cpp: In function ‘saveCartridge.constprop’: sfc/cartridge/save.cpp:122:25: note: at offset 50 into destination object ‘’ of size 32 122 | if(auto memory = node["memory(type=RAM,content=Data,architecture=uPD7725)"]) { | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘saveCartridgeBSMemory’ at sfc/cartridge/save.cpp:17:48, inlined from ‘save.constprop’ at sfc/cartridge/cartridge.cpp:146:26: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/save.cpp: In function ‘save.constprop’: sfc/cartridge/save.cpp:17:48: note: at offset 45 into destination object ‘’ of size 32 17 | if(auto memory = Emulator::Game::Memory{node["game/board/memory(type=Flash,content=Program)"]}) { | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘saveCartridgeSufamiTurboA’ at sfc/cartridge/save.cpp:25:48, inlined from ‘save.constprop’ at sfc/cartridge/cartridge.cpp:149:30: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/save.cpp: In function ‘save.constprop’: sfc/cartridge/save.cpp:25:48: note: at offset 40 into destination object ‘’ of size 32 25 | if(auto memory = Emulator::Game::Memory{node["game/board/memory(type=RAM,content=Save)"]}) { | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘saveCartridgeSufamiTurboB’ at sfc/cartridge/save.cpp:35:48, inlined from ‘save.constprop’ at sfc/cartridge/cartridge.cpp:152:30: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/save.cpp: In function ‘save.constprop’: sfc/cartridge/save.cpp:35:48: note: at offset 40 into destination object ‘’ of size 32 35 | if(auto memory = Emulator::Game::Memory{node["game/board/memory(type=RAM,content=Save)"]}) { | ^ In function ‘fromInteger’, inlined from ‘__ct ’ at ../nall/string/cast.hpp:50:45, inlined from ‘make_string’ at ../nall/string/cast.hpp:247:10, inlined from ‘append’ at ../nall/string/core.hpp:54:22, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘load’ at target-libretro/program.cpp:294:102: ../nall/string/utility.hpp:116:72: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] 116 | for(int x = size - 1, y = 0; x >= 0 && y < size; x--, y++) result[x] = buffer[y]; | ^ ../nall/string/cast.hpp: In member function ‘load’: ../nall/string/cast.hpp:247:10: note: at offset -6 into destination object ‘’ of size 14 247 | return stringify>(value); | ^ In function ‘fromInteger’, inlined from ‘__ct ’ at ../nall/string/cast.hpp:50:45, inlined from ‘make_string’ at ../nall/string/cast.hpp:247:10, inlined from ‘append’ at ../nall/string/core.hpp:54:22, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘load’ at target-libretro/program.cpp:297:101: ../nall/string/utility.hpp:116:72: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] 116 | for(int x = size - 1, y = 0; x >= 0 && y < size; x--, y++) result[x] = buffer[y]; | ^ ../nall/string/cast.hpp: In member function ‘load’: ../nall/string/cast.hpp:247:10: note: at offset -6 into destination object ‘’ of size 14 247 | return stringify>(value); | ^ In function ‘fromInteger’, inlined from ‘__ct ’ at ../nall/string/cast.hpp:50:45, inlined from ‘make_string’ at ../nall/string/cast.hpp:247:10, inlined from ‘append’ at ../nall/string/core.hpp:54:22, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘load’ at target-libretro/program.cpp:300:77: ../nall/string/utility.hpp:116:72: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] 116 | for(int x = size - 1, y = 0; x >= 0 && y < size; x--, y++) result[x] = buffer[y]; | ^ ../nall/string/cast.hpp: In member function ‘load’: ../nall/string/cast.hpp:247:10: note: at offset -5 into destination object ‘’ of size 14 247 | return stringify>(value); | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘loadCartridgeBSMemory’ at sfc/cartridge/load.cpp:76:48, inlined from ‘loadBSMemory’ at sfc/cartridge/cartridge.cpp:120:24, inlined from ‘loadBSMemory.constprop’ at sfc/cartridge/load.cpp:213:17: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/load.cpp: In function ‘loadBSMemory.constprop’: sfc/cartridge/load.cpp:76:48: note: at offset 34 into destination object ‘’ of size 32 76 | if(auto memory = Emulator::Game::Memory{node["game/board/memory(content=Program)"]}) { | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘loadCartridgeSufamiTurboA’ at sfc/cartridge/load.cpp:93:48, inlined from ‘loadSufamiTurboA’ at sfc/cartridge/cartridge.cpp:128:28, inlined from ‘loadSufamiTurboA.constprop’ at sfc/cartridge/load.cpp:227:21: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/load.cpp: In function ‘loadSufamiTurboA.constprop’: sfc/cartridge/load.cpp:93:48: note: at offset 40 into destination object ‘’ of size 32 93 | if(auto memory = Emulator::Game::Memory{node["game/board/memory(type=RAM,content=Save)"]}) { | ^ In member function ‘resize’, inlined from ‘_append’ at ../nall/string/core.hpp:66:9, inlined from ‘append’ at ../nall/string/core.hpp:54:10, inlined from ‘__ct ’ at ../nall/string.hpp:152:11, inlined from ‘loadCartridgeSufamiTurboB’ at sfc/cartridge/load.cpp:109:48, inlined from ‘loadSufamiTurboB’ at sfc/cartridge/cartridge.cpp:136:28, inlined from ‘loadSufamiTurboB.constprop’ at sfc/cartridge/load.cpp:245:21: ../nall/string/allocator/adaptive.hpp:64:23: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 64 | get()[_size = size] = 0; | ^ sfc/cartridge/load.cpp: In function ‘loadSufamiTurboB.constprop’: sfc/cartridge/load.cpp:109:48: note: at offset 40 into destination object ‘’ of size 32 109 | if(auto memory = Emulator::Game::Memory{node["game/board/memory(type=RAM,content=Save)"]}) { | ^ make: Leaving directory '/build/libretro-bsnes/src/libretro-bsnes/bsnes' ==> Entering fakeroot environment... ==> Starting package()... ==> Tidying install... -> Removing libtool files... -> Removing static library files... -> Purging unwanted files... -> Stripping unneeded symbols from binaries and libraries... -> Compressing man and info pages... ==> Checking for packaging issues... ==> Creating package "libretro-bsnes"... -> Generating .PKGINFO file... -> Generating .BUILDINFO file... -> Generating .MTREE file... -> Compressing package... ==> Leaving fakeroot environment. ==> Finished making: libretro-bsnes 1:20260719.184125.g9c1285dda7dd-1 (Mon Jul 27 23:02:17 2026) ==> Installing package libretro-bsnes with pacman -U... loading packages... resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change libretro-bsnes 1:20260719.184125.g9c1285dda7dd-1 3.57 MiB Total Installed Size: 3.57 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing libretro-bsnes... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... resolving dependencies... looking for conflicting packages... Package (6) New Version Net Change core/licenses 20240728-1 1.54 MiB extra-testing/pyalpm 0.11.1-1 0.25 MiB extra-testing/python-boolean.py 5.0-2 0.36 MiB extra-testing/python-license-expression 30.4.4-2 1.24 MiB extra-testing/python-pyelftools 0.33-1 2.57 MiB extra-testing/namcap 3.6.0-3 1.00 MiB Total Installed Size: 6.96 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... pyalpm-0.11.1-1-aarch64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing licenses... installing pyalpm... installing python-boolean.py... installing python-license-expression... installing python-pyelftools... installing namcap... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... Checking PKGBUILD Checking libretro-bsnes-1:20260719.184125.g9c1285dda7dd-1-aarch64.pkg.tar.zst libretro-bsnes W: Referenced library 'libstdc++.so.6' is an uninstalled dependency (needed in files ['usr/lib/libretro/bsnes_libretro.so']) libretro-bsnes W: Referenced library 'libc.so.6' is an uninstalled dependency (needed in files ['usr/lib/libretro/bsnes_libretro.so']) libretro-bsnes W: Referenced library 'libgcc_s.so.1' is an uninstalled dependency (needed in files ['usr/lib/libretro/bsnes_libretro.so']) libretro-bsnes W: Referenced library 'ld-linux-aarch64.so.1' is an uninstalled dependency (needed in files ['usr/lib/libretro/bsnes_libretro.so']) libretro-bsnes W: Referenced library 'libgomp.so.1' is an uninstalled dependency (needed in files ['usr/lib/libretro/bsnes_libretro.so']) libretro-bsnes W: Referenced library 'libm.so.6' is an uninstalled dependency (needed in files ['usr/lib/libretro/bsnes_libretro.so']) libretro-bsnes W: Dependency included, but may not be needed ('glibc') libretro-bsnes W: Dependency included, but may not be needed ('libgcc') libretro-bsnes W: Dependency included, but may not be needed ('libgomp') libretro-bsnes W: Dependency included, but may not be needed ('libretro-core-info') libretro-bsnes W: Dependency included, but may not be needed ('libstdc++') ==> Running checkpkg -> Downloading current versions 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. Package (1) Old Version New Version Net Change Download Size extra-testing/libretro-bsnes 1:20260719.184125.g9c1285dda7dd-1 1:20260420.172703.gd62d219ac22f-1 -0.06 MiB 0.60 MiB Total Download Size: 0.60 MiB :: Proceed with download? [Y/n] :: Retrieving packages... libretro-bsnes-1:20260420.172703.gd62d219ac22f-1-aarch64 downloading... checking keyring... checking package integrity... -> Checking packages ==> No soname differences for libretro-bsnes. [?25h==> Generating .SRCINFO...done ==> Finished building libretro-bsnes 1:20260719.184125.g9c1285dda7dd-1 [?25h