shinra-electric / RPCS3-Arm-Build-Script

Script that will compile an Arm build of the RPCS3 Emulator for macOS
MIT License
5 stars 0 forks source link

SDL2.framework used instead of Homebrew #13

Open Kurtjwest opened 1 month ago

Kurtjwest commented 1 month ago

Having issues using script to build RPCS3, here is my error log:

log.txt

I am on MacOS 15, but had same issue on MacOS 14. I think it is some sort of issue with libpng, but am unsure. If more info is needed to properly diagnose/solve the issue, I am more than willing to provide.

Any help would be greatly appreciated!!!

Kurtjwest commented 1 month ago

Also, I followed the instructions given under the previous libpng issue posted, uncommenting libpng on line 127 of the script and setting DUSE_SYSTEM_LIBPNG to off. This allowed the app to build, but resulted in different qt related errors when linking the executable, causing the application to crash immediately when run. Here is the updated build log and crash report:

log.txt crash-report.txt

shinra-electric commented 1 month ago

The Qt errors when linking are a known issue (#6). It just means that the Qt frameworks are not embedded in the app and it requires a local version to be installed (which you would have done already with the script).

The crash report says that it's an issue with SDL2:

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2

I'll change the title of this issue while I have a look at it.

shinra-electric commented 1 month ago

I noticed that the [Process completed] message in your log wasn't there. Did you not copy it to the txt file? Or was the codesigning process interrupted?

Can you dig into the app bundle and run the otool -L rpcs3 command on the executable, and post the output here?

shinra-electric commented 1 month ago

I see you have the SDL2 framework installed and it is using that instead of homebrew. I also noticed this line too: ERROR: Cannot resolve rpath "@rpath/SDL2.framework/Versions/A/SDL2"

The code starting from line 89 is supposed to solve this issue, but it seems like it is not working...

shinra-electric commented 1 month ago

Can you try changing line 93 to SEARCH_FRAMEWORKS_SEQUENCE=FIRST and see if that helps? (It shouldn't, unless the default sequence has changed in Sequoia...)

shinra-electric commented 1 month ago

A hotfix would just be to remove the SDL2.framework from /Library/Frameworks/SDL2.framework

Kurtjwest commented 1 month ago

Thanks for your help, removing SDL2.framework from /Library/Frameworks/SDL2.framework solved the issue. Changing line 93 did nothing however.

Also, the [Process completed] message did not appear in either the failed or successful build attempts, however the emulator seemed to run without a hitch after I took the necessary steps.

Kurtjwest commented 1 month ago

recloned the repo, now receiving "Script has completed" at end of build process.