!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1183 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org194 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
25 Nov 2025
@megmug:matrix.orgmegmugIt's interesting though that it already works on linux10:57:26
@megmug:matrix.orgmegmugAlso, it didn't fail immediately - the same module using stdio.h + printf works on macos10:58:55
@reckenrode:matrix.orgRandy EckenrodeC++ modules support is fixed on staging.11:32:05
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/NixOS/nixpkgs/pull/46274711:32:44
@reckenrode:matrix.orgRandy Eckenrode A change was made to fix clang foo.cpp that broke clang-scan-deps, which CMake uses for module support. 11:33:50
@reckenrode:matrix.orgRandy Eckenrode It had to be ported to the clang-tools wrapper, which would have gone to master if not for the large number of Linux rebuilds it caused. 11:34:43
@megmug:matrix.orgmegmugAha - could this possibly affect non-module projects as well then? Because I am still getting errors despite removing all the modules. clang-scan-deps fails to find some stuff (on macos).11:37:28
@reckenrode:matrix.orgRandy Eckenrode If it uses clang-scan-deps, it will be broken. 11:39:02
@reckenrode:matrix.orgRandy Eckenrode Also clangd. 11:39:10
@reckenrode:matrix.orgRandy Eckenrode You may be able to work around it by setting env.NIX_CFLAGS_COMPILE to -isystem ${stdenv.cc.libcxx}. 11:42:42
@reckenrode:matrix.orgRandy Eckenrode * You may be able to work around it by setting env.NIX_CFLAGS_COMPILE to -isystem ${stdenv.cc.libcxx}/include/c++/v1. 11:43:01
@reckenrode:matrix.orgRandy Eckenrode(Path from memory, so may be off.)11:43:14
@megmug:matrix.orgmegmugHm, or just build the nix-shell on a different version maybe? Is the change already on master branch? Or can i go back far enough to get a version that didn't have the problem?11:44:38
@reckenrode:matrix.orgRandy EckenrodeIt’s on staging. It won’t make it to master until mid-December probably.11:47:04
@reckenrode:matrix.orgRandy EckenrodeIf you use staging, you’ll have to do a stdenv bootstrap and build everything from source.11:47:43
@megmug:matrix.orgmegmugDo I understand correctly that the breaking change was merged on oct 9? Could it be circumvented by going back further than that?11:52:20
@megmug:matrix.orgmegmugOn the other hand, building everything from source might not be that bad as long as it's automatic11:53:09
@reckenrode:matrix.orgRandy EckenrodeThat should also work.11:56:55
@reckenrode:matrix.orgRandy EckenrodeIt is. It just takes a while.11:57:18
@megmug:matrix.orgmegmug After waiting for hours to let the machine build the staging commit, i had to discover that my issue persisted. After getting a message from a teammate that the project didn't build for him on an ubuntu Windows-WSL VM, i got suspicious. I thought i had double-checked with nix-shell --pure that it would build on other machines. And i was even using ubuntu for the test. It turns out we were missing a dependency. After adding pkgs.clang-tools into the nix-shell packages, the issue was resolved for the teammate and also on the Mac! I learned that it can be really difficult to make things work across different OSes and architectures. Without Nix it would without a doubt be a lot more difficult, though. 22:41:44

Show newer messages


Back to Room ListRoom Version: 6