redeclipse / base

Base environment for Red Eclipse and associated source files.
https://redeclipse.net/
424 stars 86 forks source link

Cannot build with Xcode on macOS (arm64) #1445

Closed r0xx0rd-teh-x0xx0r closed 4 months ago

r0xx0rd-teh-x0xx0r commented 9 months ago

I am trying to build Redeclipse for arm64 macOS, get the error: ld: Undefined symbols Don´t know if it is the right way to build the game for macOS. I already tried updating the SDL2 frameworks shipped with this repo to newer ones supporting universal x86_64 and arm64 on macOS.

Full stack from xcode:

Ld /Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Products/Debug/redeclipse.app/Contents/MacOS/redeclipse normal (in target 'redeclipse' from project 'redeclipse') cd /Users/ryo/Source/base/src/xcode /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Xlinker -reproducible -target arm64-apple-macos14.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -O0 -L/Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Intermediates.noindex/EagerLinkingTBDs/Debug -L/Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Products/Debug -F/Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Intermediates.noindex/EagerLinkingTBDs/Debug -F/Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Products/Debug -F../../bin/redeclipse.app/Contents/Frameworks -F/Users/ryo/Library/Frameworks -F/Library/Frameworks -filelist /Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Intermediates.noindex/redeclipse.build/Debug/redeclipse.build/Objects-normal/arm64/redeclipse.LinkFileList -Xlinker -rpath -Xlinker @loader_path/../Frameworks -Xlinker -object_path_lto -Xlinker /Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Intermediates.noindex/redeclipse.build/Debug/redeclipse.build/Objects-normal/arm64/redeclipse_lto.o -Xlinker -no_deduplicate -fobjc-link-runtime -lz -L../../bin/redeclipse.app/Contents/Frameworks -framework Cocoa -framework OpenGL -framework SDL2_image -framework SDL2_mixer -framework SDL2 -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Intermediates.noindex/redeclipse.build/Debug/redeclipse.build/Objects-normal/arm64/redeclipse_dependency_info.dat -o /Users/ryo/Library/Developer/Xcode/DerivedData/redeclipse-ajrzxdlsclrkiyeoezawzijmvwwa/Build/Products/Debug/redeclipse.app/Contents/MacOS/redeclipse

ld: Undefined symbols: _alBufferData, referenced from: soundsample::setup(soundfile) in sound.o soundsample::setup(soundfile) in sound.o musicstream::fill(int) in sound.o musicstream::fill(int) in sound.o _alDeleteBuffers, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsample::setup(soundfile) in sound.o soundsample::cleanup() in sound.o musicstream::cleanup() in sound.o _alDeleteSources, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsource::cleanup() in sound.o soundsource::setup(soundsample) in sound.o musicstream::cleanup() in sound.o _alDistanceModel, referenced from: initsound() in sound.o _alDopplerFactor, referenced from: soundsetdoppler(float) in sound.o _alGenBuffers, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsample::setup(soundfile) in sound.o _alGenSources, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsource::setup(soundsample) in sound.o _alGetError, referenced from: soundenv::setparams(unsigned int) in sound.o soundenvzone::attachparams() in sound.o soundenvzone::attachparams() in sound.o soundenvzone::attachparams() in sound.o sounderror(bool) in sound.o soundsetdoppler(float) in sound.o soundsetspeed(float) in sound.o ... _alGetProcAddress, referenced from: getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o getextsoundprocs() in sound.o ... _alGetSourcei, referenced from: musicstream::update() in sound.o musicstream::update() in sound.o musicstream::playing() in sound.o soundsource::active() in sound.o soundsource::playing() in sound.o musicstream::active() in sound.o _alGetString, referenced from: sounderror(bool) in sound.o initsound() in sound.o initsound() in sound.o initsound() in sound.o playmusic(char const, bool) in sound.o updatesounds() in sound.o emitsound(int, vec, physent, int, int, float, float, float, float, float, int, float, int) in sound.o ... _alIsBuffer, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsample::valid() in sound.o musicstream::valid() in sound.o soundsample::setup(soundfile) in sound.o _alIsExtensionPresent, referenced from: initsound() in sound.o initsound() in sound.o _alIsSource, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsource::valid() in sound.o musicstream::valid() in sound.o soundsource::setup(soundsample) in sound.o _alListenerf, referenced from: updatesounds() in sound.o updatesounds() in sound.o _alListenerfv, referenced from: updatesounds() in sound.o updatesounds() in sound.o updatesounds() in sound.o _alSource3f, referenced from: musicstream::setup(char const, soundfile) in sound.o _alSource3i, referenced from: soundsource::update() in sound.o soundsource::update() in sound.o _alSourcePause, referenced from: soundsource::pause() in sound.o musicstream::pause() in sound.o _alSourcePlay, referenced from: musicstream::update() in sound.o soundsource::play() in sound.o musicstream::play() in sound.o _alSourceQueueBuffers, referenced from: musicstream::update() in sound.o musicstream::setup(char const, soundfile) in sound.o _alSourceStop, referenced from: soundsource::cleanup() in sound.o soundsource::stop() in sound.o musicstream::cleanup() in sound.o musicstream::stop() in sound.o _alSourceUnqueueBuffers, referenced from: musicstream::update() in sound.o _alSourcef, referenced from: musicstream::update() in sound.o musicstream::setup(char const, soundfile) in sound.o soundsource::update() in sound.o soundsource::update() in sound.o soundsource::update() in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o ... _alSourcefv, referenced from: soundsource::update() in sound.o soundsource::update() in sound.o _alSourcei, referenced from: musicstream::setup(char const, soundfile) in sound.o soundsource::update() in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o soundsource::setup(soundsample) in sound.o ... _alSpeedOfSound, referenced from: soundsetspeed(float) in sound.o _alcCloseDevice, referenced from: initsound() in sound.o stopsound() in sound.o _alcCreateContext, referenced from: initsound() in sound.o _alcDestroyContext, referenced from: stopsound() in sound.o _alcGetIntegerv, referenced from: initsound() in sound.o _alcGetString, referenced from: initsound() in sound.o initsound() in sound.o initsound() in sound.o initsound() in sound.o _alcIsExtensionPresent, referenced from: initsound() in sound.o initsound() in sound.o _alcMakeContextCurrent, referenced from: initsound() in sound.o stopsound() in sound.o _alcOpenDevice, referenced from: initsound() in sound.o initsound() in sound.o _alcProcessContext, referenced from: updatesounds() in sound.o _alcSuspendContext, referenced from: updatesounds() in sound.o _sf_close, referenced from: soundfile::clear() in sound.o _sf_get_string, referenced from: musicstream::setup(char const, soundfile) in sound.o musicstream::setup(char const, soundfile) in sound.o musicstream::setup(char const, soundfile) in sound.o _sf_open_virtual, referenced from: soundfile::setup(char const, int, int) in sound.o _sf_readf_float, referenced from: soundfile::setupsnd() in sound.o soundfile::fillmus(bool) in sound.o _sf_readf_short, referenced from: soundfile::setupsnd() in sound.o soundfile::fillmus(bool) in sound.o _sf_seek, referenced from: soundfile::fillmus(bool) in sound.o _sf_strerror, referenced from: soundfile::setup(char const, int, int) in sound.o clang: error: linker command failed with exit code 1 (use -v to see invocation)

dc-redeclipse commented 9 months ago

Hallo, we are currently not supporting this platform but there are some attempts from community members find an easy way let it happend, speaking of things like apples CrossOver ect. Best thing is you join us onto Discord and I will guide you to that. Just ping me when you are joining Discord.

r0xx0rd-teh-x0xx0r commented 9 months ago

Understandable since the platform is still quite new. It should run fine in CrossOver also the current Intel x84_64 macos build also still works fine. In the 2-3 years macOS might drop the translation layer for Intel entierely and only support arm64 though.

I will ping you on Discord.

qreeves commented 4 months ago

macOS sandbox becomes mandatory in April. Red Eclipse is officially discontinuing support for the platform. Sorry.