Hi,
ppsspp fails to build on riscv64. Looking at the error log, I suspect
that other architectures may be affected.
--8<--
FAILED: CMakeFiles/Core.dir/Core/MIPS/JitCommon/JitCommon.cpp.o
/usr/ports/pobj/ppsspp-1.10.3/bin/c++ -DSDL -DSHARED_LIBZIP -DSHARED_ZLIB -DUSE_FFMPEG=1 -DVK_USE_PLATFORM_XLIB_KHR -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_XOPEN_SOURCE_EXTENDED -D__BSD_VISIBLE=1 -D__STDC_CONSTANT_MACROS -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/native -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/glslang -I/usr/X11R6/include -I/usr/local/lib/libzip/include -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3 -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/Common -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/cityhash -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/libkirk -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/sfmt19937 -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/xbrz -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/xxhash -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/glslang/glslang/.. -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/glslang/SPIRV/.. -I/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ext/SPIRV-Cross-build/../SPIRV-Cross -isystem /usr/local/include -isystem /usr/local/include/SDL2 -O2 -pipe -Wno-switch -Wno-uninitialized -DNDEBUG -D_NDEBUG -Wno-multichar -Wno-deprecated-register -Wno-tautological-pointer-compare -include /usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/ppsspp_config.h -fno-strict-aliasing -std=gnu++11 -MD -MT CMakeFiles/Core.dir/Core/MIPS/JitCommon/JitCommon.cpp.o -MF CMakeFiles/Core.dir/Core/MIPS/JitCommon/JitCommon.cpp.o.d -o CMakeFiles/Core.dir/Core/MIPS/JitCommon/JitCommon.cpp.o -c /usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/Core/MIPS/JitCommon/JitCommon.cpp
/usr/ports/pobj/ppsspp-1.10.3/ppsspp-1.10.3/Core/MIPS/JitCommon/JitCommon.cpp:75:10: error: cannot initialize return object of type 'MIPSComp::JitInterface *' with an rvalue of type 'MIPSComp::FakeJit *'
return new MIPSComp::FakeJit(mips);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
-->8--
The full list of architectures where a JIT is supported is:
arm aarch64 i386 amd64
mips32 is supposedly also supported but we don't run on that.
All the remaining JIT architectures are little endian, and ppsspp is
already disabled on big endian architectures. So NOT_FOR_ARCHS may seem
redundant now. Shall I keep it, as in the diff below, or shall I drop it?
ok?
Index: Makefile
===================================================================
RCS file: /d/cvs/ports/emulators/ppsspp/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- Makefile 5 May 2021 07:31:12 -0000 1.15
+++ Makefile 1 Aug 2021 11:15:06 -0000
@@ -3,6 +3,11 @@
# See https://github.com/hrydgard/ppsspp/issues/8823
NOT_FOR_ARCHS = ${BE_ARCHS}
+# FakeJit fallback broken in (at least) 1.10.3
+# ppsspp-1.10.3/Core/MIPS/JitCommon/JitCommon.cpp:75:10: error: cannot initialize return object of type 'MIPSComp::JitInterface *' with an rvalue of type 'MIPSComp::FakeJit *'
+PPSSPP_JIT_ARCHS = arm aarch64 i386 amd64
+ONLY_FOR_ARCHS = ${PPSSPP_JIT_ARCHS}
+
COMMENT = Sony PlayStation Portable emulator
GH_ACCOUNT = hrydgard
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
No comments:
Post a Comment