Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upBig Sur / OSX 11.0 linking problem #6599
Comments
|
cc @ofTheo |
|
Ahh interesting. Glad you are on top of the 10.16 changes! @ofZach it could be that the libstdc++ lib might be hardcoded in the examples when it might be better to be the default. If you search in the build settings for libstdc and change all of the results to compiler default does it then work? eg: go from this: to this: |
|
@ofZach did that work for you? if so it could be the easiest fix for a new platform so far! :) |
|
sorry for the slow response -- unfortunately this doesn't help. If it's useful, I think this is related to fmod, which has this path in it. if I mess with it (using install_name_tool it links but crashes / has other issues) also this may be useful ? https://mjtsai.com/blog/2020/06/26/reverse-engineering-macos-11-0/ |
|
@ofZach hmm do you even have an alias to that version of libstdc++6 in /usr/lib ? if there is an another libstdc++ dylib you could always try making an alias to it in /usr/lib with the same name as the missing one ( risky but could work ) |
|
ah let me check -- there is an alias there but it's broken. Let me try to remove the alias (requires SIP to be turned off) -- there are actually no dylibs in the /usr/lib folder, just a handful of orphaned aliases. perhaps the upgrade to Big Sur left those in and the linking is failing since the alias is broken but if the alias is gone maybe it will work? will check... |
|
Hey @ofZach — was curious if you managed to sort out a temporary fix? |
|
sorry no I wasn't able to fix this -- it was actually completely crazy hard to adjust /usr/lib (needed to decrypt my drive, and do a lot of system recovery things, etc) I think three possible solutions would be (a) use openAL instead of fmod (would require compiling kissfft, at least) (b) find some local dylib solution that would work with allow the fmod dylib to be happy (c) update FMOD, the version we are using is very old |
|
also @ofTheo -- I guess the dylib doesn't exist (at least not in /usr/lib)
I don't really know what this note means wrt to linking with the fmod dylib but it's obviously problematic the we have a dylib which includes this path that's missing in bug sur. |
|
thanks @ofZach - I think trying the latest fmod would be a good idea. Here's a link to the latest fmod for macOS: |
|
(side note, I can link properly against a dylib that doesn't have those paths, ie when I modify them with install_name_tool, and use the original dylib we ship with OF in the app bundle -- this produces apps that launch outside of Xcode via click or command line, or with a scheme in Xcode that doesn't do debug, but launching w/ debug is unhappy and crashes out somewhere...) |
|
So I managed to get things working, for anyone who needs a temporary fix, here you go: Follow these steps at your own risk. This is absolutely not a recommended fix, and since we still don't have all the details of macOS 11's new Signed System Volume feature, I do not know how this will break system updates in the future. TL;DR: What happened? macOS 11 no longer provides copies of dylibs in the From the tweet @ofZach mentioned: SIP now ships with a new mode called I'm not totally sure what the official fix would be ... maybe someone with more experience can chip in with a real fix. But if you really need it to run, here is the awful temporary fix (to write to any system file in–fact):
Then make a mount point and mount the root filesystem:
Now copy over a copy of
Last step, to make the filesystem bootable again:
And reboot. Everything should compile fine now. Seriously, if anyone has a better idea that doesn't involve mucking with system libraries, it would be awesome, even if it's just a thought. Best. |
|
I wonder if it's possible to use this dylib but not in /usr/lib, ie, modify fmod dylib using install_name_tool but put this in libstdc++.6.0.9.dylib in ~/libs or even relative to the fmod dylib. In my experience linking and debugging fails on Big Sur, but using the fmod dylib as is, in the app works fine. It could be that the solution would be something like a modified fmod that searches in a path that's easier to modify than /usr/lib. I did the same thing you did @thel3l (expect test adding the dylibs) and it's quite an aggressive and scary fix ! ! thanks for documenting it so well... |
Ah welp, yeah, that should work. I'll stay subscribed, hopefully something will work out before the GM release :) Best. |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.









OF 0.11.0 examples are failing to link --
when you look, /usr/lib/ is full of aliases but the dylibs are removed.
OF compiles and links fine, it's just examples, With Xcode 11.5 and 12 beta.
I dug around but I couldn't see where this particular linking is happening (none of the .a files we link against seem to reference this dylib). I didn't check every lib but can dig a little further....
relevant-ish ? (around /usr/lib changing)
dotnet/msbuild#5454
https://lapcatsoftware.com/articles/bigsur.html