13 Jul 2025 |
ethancedwards8 | Thank you for explaining | 19:50:10 |
Randy Eckenrode | * | 19:51:16 |
Randy Eckenrode | It’s a mostly harmless violation, but it’s not intended by Apple or LLVM that they have the same ABI, so things can potentially break. | 19:51:36 |
Randy Eckenrode | I tried using a different ABI namespace in nixpkgs, but that broke libtorch-bin. | 19:54:44 |
| thegrayarea joined the room. | 22:19:38 |
14 Jul 2025 |
Zhaofeng Li | A few days late again, but NFC in MacBooks? Sign me up
https://9to5mac.com/2025/07/09/exclusive-macos-26-beta-hints-at-sealed-mac-updates-at-apple-stores/
| 01:14:19 |
Zhaofeng Li | I assume they can't do this with Mac minis since they have no batteries | 01:14:26 |
JoelMcCracken | Oh, got it, thank you for explaining. Now at least I know the reason.
The main thing I want is some kind of way to actually learn nixos in a convenient environment instead of needing to deal with a VPS. Oh well. A full on VM isn't so bad. | 18:43:46 |
emily | a VM will be much better | 18:46:53 |
JoelMcCracken | So i've been on a bit of a quest to figure out how to make haskell "static-ish" executables for macos, where it links as much as possible directly into the executable, but does rely upon macos libs when those are requried, like libc is IIUC. Any advice on this? One thing I notice is that I've used nix setup that will build an executable that (afaict so far) does what I want, and it does link to some system dylibs, but looking at the libs via otool -L , there are dylibs mentioned that dont' actually exist at that path on my system, but the tool seems to execute. Any ideas/input? The more direct question I have is, how does macos actually find a dylib, and how can I tell which ones "come with" macos? | 18:49:46 |
JoelMcCracken | oh it seems like yall were talking about something similar to this earlier | 18:51:31 |
emily | pkgsStatic should do it | 18:51:32 |
emily | it builds static-except-for-system-libraries binaries on macOS | 18:51:49 |
JoelMcCracken | ty | 18:53:13 |
JoelMcCracken | hmm, I see that the proejct i'm referencing that seems to do what I'm trying doesn't use pkgsStatic; i'll have to dig some more | 18:59:34 |
JoelMcCracken | only (current) reference I can find to pkgsStatic in the project https://github.com/input-output-hk/haskell.nix/blob/master/overlays/musl.nix#L2 | 19:02:49 |
JoelMcCracken | I was able to build it locally https://github.com/input-output-hk/haskell.nix/tree/19ff56a902b173be9589166d8ea4ccc538b8ca78/nix-tools/static on macos x86_64 and am observing the linking to libs that aren't located where the paths point | 19:04:35 |
emily | I don't know about haskell.nix (it's separate to the Haskell packaging infrastructure in Nixpkgs) but this seems highly overengineered for the task | 19:05:29 |
emily | pkgsStatic.callPackage ./my-package.nix { } should be sufficient | 19:05:37 |
JoelMcCracken | yeah, main reason I want to use it is because it supports both stack and cabal | 19:06:16 |
JoelMcCracken | but it may be that this is just the wrong way to go about solving it | 19:06:53 |
emily | well, it's trying to link against the non-NixOS system dynamic linker on Linux | 19:07:58 |
emily | which is 😱 | 19:08:01 |
mall0c | referring to this? https://github.com/input-output-hk/haskell.nix/blob/19ff56a902b173be9589166d8ea4ccc538b8ca78/nix-tools/static/packaging.nix#L19-L23 | 21:51:59 |
emily | much of that file yes | 22:09:46 |
emily | it's very cursed | 22:09:50 |
15 Jul 2025 |
toonn | How else is the I assume not quite static binary supposed to find the dynamic linker on arbitrary Linux distributions? | 11:16:37 |
JoelMcCracken | oh, that? | 20:51:14 |
JoelMcCracken | are you saying the entire notion of what i'm asking is wrong? on darwin you can't have fully static binaries; my whole goal is to make an executable that will run without first having nix installed | 20:53:46 |
emily | pkgsStatic will create a fully static executable on Linux and a mostly-static (no Nix dependencies) one on macOS | 20:54:27 |