You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ld: warning: ignoring file ./App/Contents/Frameworks/SDL2.framework/SDL2, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
[...]
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [artifacts/SIDFactoryII] Error 1
Expected behavior
a successful build
Desktop (please complete the following information):
macOS Big Sur - mac mini with M1 CPU (arm64)
the source from the 'master' branche.
Additional information
Replacing the currently distributed SDL2.framework with the latest stable (currently version 2.0.14) – downloadable from libsdl.org – will solve this issue and leads to a successful build.
An alternative might be looking for the framework in /Library/Frameworks and see if it is installed there, if so, then use this one instead of the one in sidfactory2/macos/App/Contents/Frameworks.
The text was updated successfully, but these errors were encountered:
It gives a nice clean and working binary:
bash-3.2$ file artifacts/SIDFactoryII
artifacts/SIDFactoryII: Mach-O 64-bit executable arm64
There are still some (for me minor) issues (likely better to address when you have an Apple Silicon mac yourself), but so far so good!! Also, I don't hink the idea is to run the binary itself instead of using an .app, I guess ;-) Good enough for me to start learning this editor anyway!
Great :)
The executable from the macos is not meant to be run by itself, because it needs to find its resources (config.ini, colorschemes, default driver to load etc.), which are in different locations inside an App bundle.
You can do make app to build the App bundle, or make raw to build a raw version of the DMG that is distributed.
You should also be able to build and run the linux version from the Makefile in the root of the project. This standalone executable expects the resources to be present in the same folder as the executable.
Better run make clean before compiling when switching macOS and linux builds by the way.
P.S. the linux style build needs sdl2 to be installed "linux style" to build and run (brew install sdl2)
Describe the bug
SFII won't compile on a mac with Apple silicon M1 CPU due to you distributing an incompatible version of SDL2.framework.
To Reproduce
Steps to reproduce the behavior:
[...]
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [artifacts/SIDFactoryII] Error 1
Expected behavior
a successful build
Desktop (please complete the following information):
Additional information
Replacing the currently distributed SDL2.framework with the latest stable (currently version 2.0.14) – downloadable from libsdl.org – will solve this issue and leads to a successful build.
An alternative might be looking for the framework in /Library/Frameworks and see if it is installed there, if so, then use this one instead of the one in sidfactory2/macos/App/Contents/Frameworks.
The text was updated successfully, but these errors were encountered: