| 11 Apr 2026 |
Randy Eckenrode | dlopen defaults to RTLD_GLOBAL on Darwin. .NET doesn’t specify, so it gets that by default, which means symbols are resolved against the global namespace. | 21:25:35 |
emily | no, it doesn't affect resolution; it means that the loaded library gets exported into the global namespace | 21:26:18 |
emily | it should only be relevant if anything with -flat_namespace is linked in or you use dlsym with one of the special handles | 21:26:39 |
Randy Eckenrode | -flat_namespace doesn’t matter. That was the problem with GStreamer. | 21:29:29 |
Randy Eckenrode | But I feel like this is all beside the point. The question is how much work I have to do to get this fixed. If it’s a non-trivial amount, I’m just going to close the PR and let someone else fix it. | 21:31:42 |
Randy Eckenrode |
(do we actually know that .NET wants the Apple patches? I vaguely recall we saw it default or something without in the past - but that is quite plausibly due to the very same weak symbol issue we're running into now.)
It uses libicucore.dylib on Darwin. Native AoT also links against it. Changing it requires making a bunch of changes to .NET to use the upstream ICU instead. It also won’t work for binaries using install_name_tool to avoid sandbox issues with the system ICU.
| 21:33:28 |
Randy Eckenrode | *
(do we actually know that .NET wants the Apple patches? I vaguely recall we saw it default or something without in the past - but that is quite plausibly due to the very same weak symbol issue we're running into now.)
It uses libicucore.dylib on Darwin. Native AoT also links against it. Changing it requires making a bunch of changes to .NET to use the upstream ICU instead. It also won’t work for binaries using install_name_tool to avoid sandbox issues with the system ICU.
| 21:43:37 |
Randy Eckenrode | *
(do we actually know that .NET wants the Apple patches? I vaguely recall we saw it default or something without in the past - but that is quite plausibly due to the very same weak symbol issue we're running into now.)
It uses libicucore.dylib on Darwin. Native AoT also links against it. Changing it requires making a bunch of changes to .NET to use the upstream ICU instead. It also won’t work for binaries using install_name_tool to avoid sandbox issues with the system ICU.
| 21:43:44 |
Randy Eckenrode | I have no idea why Element X renders that last one funny. | 21:44:03 |
emily | this feels like a somewhat unfair response to me putting in hours of work and counting today investigating this and trying things to ensure that we don't continually run into OS updates breaking our binaries… | 21:46:42 |
emily | AFAICT, in the limit, we would have to ensure that nothing we build ever has a weak export for any symbol that is now or could be in the SDK in future, because those will get coalesced ignoring two-level namespaces | 21:48:20 |
Randy Eckenrode | I don’t have hours to deal with this. If resolving it is going to require more time than I can invest, then what else can I do? | 22:08:32 |
| 12 Apr 2026 |
axw | lol I didn't think it was possible to configure any programs besides the ones officially supported by nix-darwin. Turns out you can declare settings for any Programm that has a plist file in Library/Prefrences/ | 00:07:32 |
axw | * lol I didn't think it was possible to configure any programs besides the ones officially supported by nix-darwin. Turns out you can declare settings for any Programm that has a plist file in Library/Prefrences/. Not all have extensive options, but most that can be managed or are intended to be managed by an mdm | 00:09:35 |
| LogN joined the room. | 00:58:06 |
| 19 May 2021 |
| @grahamc:nixos.org set the history visibility to "world_readable". | 19:22:35 |
| @grahamc:nixos.org changed the room name to "" from "". | 19:22:35 |
| [0x4A6F] joined the room. | 19:23:06 |
| nazarii joined the room. | 19:24:29 |
| casey © joined the room. | 19:27:39 |
| ElvishJerricco joined the room. | 19:38:47 |
| andi- joined the room. | 19:39:40 |
| prusnak joined the room. | 19:46:16 |
| Server Stats Discoverer (traveler bot) joined the room. | 19:50:54 |
| Mic92 joined the room. | 19:51:07 |
| Matrix Traveler (bot) joined the room. | 20:03:59 |
| Gaelan Steele joined the room. | 20:16:00 |
| cgbrewster joined the room. | 20:17:23 |
| Gaelan Steele changed their display name from gaelans to Gaelan Steele. | 20:24:29 |
| Gaelan Steele set a profile picture. | 20:24:54 |