Skip to content

Build Flycast and PPSSPP core libretro_libnx.a file for Nintendo Switch RetroArch Failed #1718

@MegaBunLi

Description

@MegaBunLi

Tried all methods and counldn't find why, for other cores I can successfully output <corename>_libretro_libnx.a, but for these two cores I have no idea.

Noticed these two cores has stopped updates for a while for libnx version, I changed the fetch address to the original github address https://github.com/libretro/flycast and https://github.com/m4xw/ppsspp, but it didn't work.

Flycast

The error shows:

core/libretro/vmem_utils.cpp: In function 'void* mem_region_reserve(void*, size_t)':
core/libretro/vmem_utils.cpp:145:16: error: 'virtmemReserve' was not declared in this scope
  145 |         return virtmemReserve(len);
      |                ^~~~~~~~~~~~~~
core/libretro/vmem_utils.cpp: In function 'VMemType vmem_platform_init(void**, void**)':
core/libretro/vmem_utils.cpp:246:41: error: 'virtmemReserve' was not declared in this scope
  246 |         vmem_fd_codememory = (uintptr_t)virtmemReserve(size_aligned);
      |                                         ^~~~~~~~~~~~~~
core/libretro/vmem_utils.cpp: In function 'bool vmem_platform_prepare_jit_block(void*, unsigned int, void**, uintptr_t*)':
core/libretro/vmem_utils.cpp:391:24: error: 'virtmemReserve' was not declared in this scope
  391 |         void* ptr_rw = virtmemReserve(size_aligned);
      |                        ^~~~~~~~~~~~~~
make: *** [Makefile:1180: core/libretro/vmem_utils.o] Error 1
make: *** Waiting for unfinished jobs....
core/deps/libzip/mkstemp.c: In function '_zip_mkstemp':
core/deps/libzip/mkstemp.c:70:15: warning: implicit declaration of function 'getpid' [-Wimplicit-function-declaration]
   70 |         pid = getpid();
      |               ^~~~~~
cp "flycast_libretro_libnx.a" "/home/Floyd/Downloads/libretro-super/dist/libnx/flycast_libretro_libnx.a"
cp: cannot stat 'flycast_libretro_libnx.a': No such file or directory
1 core(s) failed:
   flycast

PPSSPP

The error shows:

$ platform=libnx ./libretro-build.sh ppsspp
CC = /opt/devkitpro/devkitA64/bin/aarch64-none-elf-gcc
CXX = /opt/devkitpro/devkitA64/bin/aarch64-none-elf-g++
CXX11 =
CXX17 =
STRIP =
Compiler: CC="/opt/devkitpro/devkitA64/bin/aarch64-none-elf-gcc" CXX="/opt/devkitpro/devkitA64/bin/aarch64-none-elf-g++"
libnx
libnx
=== PPSSPP
Building ppsspp...
cd "/home/Floyd/Downloads/libretro-super/libretro-ppsspp/libretro"
make platform="libnx-opengl" -j7  clean
rm -f ../Common/GL/GLInterface/EGL.o ../Common/GL/GLInterface/EGLSwitch.o ../Common/GL/GLInterface/GLInterface.o ../ext/vma/vk_mem_alloc.o ../ext/snappy/snappy-c.o ../ext/snappy/snappy-sinksource.o ../ext/snappy/snappy-stubs-internal.o ../ext/snappy/snappy.o ../ext/xbrz/xbrz.o ../ext/gason/gason.o ../ext/cityhash/city.o ../Common/Crypto/md5.o ../Common/Crypto/sha1.o ../Common/Crypto/sha256.o ../Common/Data/Color/RGBAUtil.o ../Common/Data/Convert/SmallDataConvert.o ../Common/Data/Encoding/Base64.o ../Common/Data/Encoding/Compression.o ../Common/Data/Encoding/Utf8.o ../Common/Data/Format/RIFF.o ../Common/Data/Format/IniFile.o 
...
...
../ext/zstd/lib/decompress/zstd_decompress.o ../ext/zstd/lib/decompress/zstd_decompress_block.o ../ext/zstd/lib/dictBuilder/cover.o ../ext/zstd/lib/dictBuilder/divsufsort.o ../ext/zstd/lib/dictBuilder/fastcover.o ../ext/zstd/lib/dictBuilder/zdict.o ../ext/zlib/adler32.o ../ext/zlib/compress.o ../ext/zlib/crc32.o ../ext/zlib/deflate.o ../ext/zlib/gzclose.o ../ext/zlib/gzlib.o ../ext/zlib/gzread.o ../ext/zlib/gzwrite.o ../ext/zlib/inffast.o ../ext/zlib/inflate.o ../ext/zlib/inftrees.o ../ext/zlib/trees.o ../ext/zlib/uncompr.o ../ext/zlib/zutil.o
make platform="libnx-opengl" -j7 CC="/opt/devkitpro/devkitA64/bin/aarch64-none-elf-gcc" CXX="/opt/devkitpro/devkitA64/bin/aarch64-none-elf-g++"
make: Nothing to be done for 'all'.
cp "ppsspp_libretro_libnx.a" "/home/Floyd/Downloads/libretro-super/dist/libnx/ppsspp_libretro_libnx.a"
cp: cannot stat 'ppsspp_libretro_libnx.a': No such file or directory
1 core(s) failed:
   ppsspp

How could I fix this?

Or did someone know where could I find the [4c293f3] version flycast_libretro_libnx.a and [8e24692] version ppsspp_libretro_libnx.a file? I just wanna modify the retroarch sourcesode without changing cores, but I must get the <corename>_libretro_libnx.a first to compile an nro file!

Really thx!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions