[Ohrrpgce] [ohrrpgce/ohrrpgce] All Mac builds don't run (#1113)

Ralph Versteegen notifications at github.com
Tue Aug 25 19:50:47 PDT 2020


Yes, bundle-apps.sh prefers ~/Library/Frameworks.

> I forced an early nightly, and I notice that the filesize of OHRRPGCE-wip-x86_64.dmg did increase noticeably (12913931 bytes instead of 11427333 bytes) so maybe that helped?

Ah! I downloaded and compared ohrrpgce-mac-minimal-x86_64.tar.gz from 20200821 and 20200826 and discovered that 20200826 contains 3 copies of SDL! The duplicate copies of SDL is a separate bug. It might happen that it allows the x86_64 20200826 build to run, but isn't a real solution.
```
mac_x86_64_sdl_20200826/OHRRPGCE-Game.app/Contents/Frameworks/SDL.framework/SDL
mac_x86_64_sdl_20200826/OHRRPGCE-Game.app/Contents/Frameworks/SDL.framework/Versions/A/SDL
mac_x86_64_sdl_20200826/OHRRPGCE-Game.app/Contents/Frameworks/SDL.framework/Versions/Current/SDL
```
And one of these has been trimmed by bundle-apps.sh to just x86_64 while the other contains both x86 and x86_64.
Normally, two of these are symlinks to the actual file. bundle-apps.sh removes the symlinks from OHRRPGCE-Game.app but not OHRRPGCE-Custom.app, because those symlinks would get expanded to copies when distributing on Windows.
The fact that we now have three copies but didn't before makes me think that the symlinks got messed up when you copied the framework. I suggest you delete the ~/Library/Frameworks/* because it didn't fix the problem (see below).
SDL_mixer.framework, SDL2.framework and SDL2_mixer.framework don't have any duplication. They just have `SDL*.framework/Versions/A/SDL*`.

Back to the real problem.
I compared 20200731, 20200821, 20200826 builds of ohrrpgce-mac-minimal-x86.tar.gz and found no differences between the frameworks in them, as expected. Then I grepped ohrrpgce-game and discovered the cause of the problem:
```
20200731 @executable_path/../Frameworks/SDL.framework/Versions/A/SDL
20200821 @rpath/SDL.framework/Versions/A/SDL
20200826 @rpath/SDL.framework/Versions/A/SDL
```
The x86_64 and x86_64-sdl2 builds all point to `@rpath/SDL.framework/Versions/A/SDL` or `@rpath/SDL2.framework/Versions/A/SDL2`

It's not wrong for these paths to contain `@rpath`. The problem is that the rpath apparently isn't being set correctly, we need to pass something to ld.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/ohrrpgce/ohrrpgce/issues/1113#issuecomment-680446330
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20200825/26e994f7/attachment.html>


More information about the Ohrrpgce mailing list