Dolphin is an emulator for two recent Nintendo video game consoles: the
GameCube and the Wii. It allows PC gamers to enjoy games for these two
consoles in full HD (1080p) with several enhancements: compatibility with
all PC controllers, turbo speed, networked multiplayer, and even more.
ELF_RANDOMIZE_LIMIT was bumped to 1MB for retguard, but MAME actually
requires 4MB, so it fails on statup.
There is no sense bumping ELF_RANDOMIZE_LIMIT again just for one program,
so disable retguard by adding -fno-ret-protector to CFLAGS.
Discussed with mortimer@
src/core/libcore.a(uds_beacon.cpp.o): In function `non-virtual thunk to CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>::~BlockCipherFinal()':
uds_beacon.cpp:(.text._ZThn4_N8CryptoPP16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEED0Ev[_ZThn4_N8CryptoPP16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEED0Ev]+0x75): undefined reference to `operator delete(void*, std::align_val_t)'
src/core/libcore.a(uds_beacon.cpp.o): In function `non-virtual thunk to CryptoPP::ClonableImpl<CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>, CryptoPP::Rijndael::Enc>::Clone() const':
uds_beacon.cpp:(.text._ZThn4_NK8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES4_E5CloneEv[_ZThn4_NK8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES4_E5CloneEv]+0x20): undefined reference to `operator new(unsigned long, std::align_val_t)'
uds_beacon.cpp:(.text._ZThn4_NK8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES4_E5CloneEv[_ZThn4_NK8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE0ENS_8Rijndael3EncEEES4_E5CloneEv]+0x58): undefined reference to `operator delete(void*, std::align_val_t)'
src/core/libcore.a(ccm.cpp.o): In function `HW::AES::(anonymous namespace)::CCM_3DSVariant_Final<true>::~CCM_3DSVariant_Final()':
ccm.cpp:(.text+0xbf1): undefined reference to `operator delete(void*, std::align_val_t)'
src/core/libcore.a(ccm.cpp.o): In function `non-virtual thunk to HW::AES::(anonymous namespace)::CCM_3DSVariant_Final<true>::~CCM_3DSVariant_Final()':
ccm.cpp:(.text+0xca4): undefined reference to `operator delete(void*, std::align_val_t)'
src/core/libcore.a(ccm.cpp.o): In function `non-virtual thunk to HW::AES::(anonymous namespace)::CCM_3DSVariant_Final<true>::~CCM_3DSVariant_Final()':
ccm.cpp:(.text+0xd04): undefined reference to `operator delete(void*, std::align_val_t)'
[...]
Citra is an experimental open-source Nintendo 3DS emulator/debugger written in
C++. It is written with portability in mind, with builds actively maintained for
Windows, Linux and macOS. Citra only emulates a subset of 3DS hardware and
therefore is generally only useful for running/debugging homebrew applications.
Citra is even able to boot several commercial games.
From Thomas Frohwein. Thanks!
ok sthen@
"localpng.h" substitutions. Some substitutions where not done, which
caused the build to fail when graphics/png is not installed.
OK nigel@, who initially reported the issue.