configure: configuring version us
splat 0.21.5 (powered by spimdisasm 1.20.0)
Loading symbols (symbol_addrs): 100%|████████████████████████████████████████████████████████████████████████████████████| 26306/26306 [00:01<00:00, 15187.18it/s]
Scanning charset: 1%|█ | 11/1037 [00:00<00:46, 22.14it/s]
Traceback (most recent call last):
File "/home/laura/projects/papermario/tools/build/configure.py", line 1440, in <module>
configure.split(not args.no_split_assets, args.split_code, args.shift, args.debug)
File "/home/laura/projects/papermario/tools/build/configure.py", line 424, in split
split.main(
File "/home/laura/projects/papermario-venv/lib/python3.11/site-packages/splat/scripts/split.py", line 528, in main
do_scan(all_segments, rom_bytes, stats, cache)
File "/home/laura/projects/papermario-venv/lib/python3.11/site-packages/splat/scripts/split.py", line 280, in do_scan
segment.scan(rom_bytes)
File "/home/laura/projects/papermario-venv/lib/python3.11/site-packages/splat/segtypes/common/group.py", line 131, in scan
sub.scan(rom_bytes)
File "/home/laura/projects/papermario/tools/splat_ext/pm_charset_palettes.py", line 27, in scan
palette = N64SegPalette.parse_palette_bytes(data[i : i + 0x10])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'N64SegPalette' has no attribute 'parse_palette_bytes'
Currently, when papermario's dependencies (which are installed with install_deps or install_copilers) are out of date and not on the correct version, splat and ninja will just fail with obscure error messages, e.g.:
Error message with splat
Error message with ninja
It would be good to enforce that the dependencies have the correct version so that it can give a clear error message telling the user what to do instead.