This worked in September 2024 with NixOS 24.05 and Parallels 18 and 19, and every nixos-rebuild since.
I recently upgraded to Parallels 20, no issues, but I don’t think I attempted a nixos-rebuild since then.
I was initially trying to upgrade to NixOS 24.11, which failed, but now all attempts at nixos-rebuild on my NixOS 24.05 fail with this error set - the weird thing is that the nixos-rebuild attempt appears to be trying to build prl-tools v19.3.1 (not v20) against Linux kernel 6.12.3, which I don’t think was ever delivered by NixOS 24.05:
Note that I’m trying to target the nixpkgs I was using for NixOS 24.05 back in September…
$ sudo -E nixos-rebuild test -I nixpkgs=https://github.com/nixos/nixpkgs/archive/e65aa8301ba4.tar.gz --flake ".#vm-aarch64-prl"
warning: Git tree '/home/gmarler/gitwork/nixos-config' is dirty
building the system configuration...
warning: Git tree '/home/gmarler/gitwork/nixos-config' is dirty
warning: In a derivation named 'neovim-unwrapped-0.9.5', 'structuredAttrs' disables the effect of the derivation attribute 'disallowedRequisites'; use 'outputChecks.<output>.disallowedRequisites' instead
error: builder for '/nix/store/cph2s350ximz5as12viznyi3a5hsx05f-prl-tools-19.3.1-54941.drv' failed with exit code 2;
last 25 log lines:
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:818:5: warning: no previous prototype for 'prlfs_readpage' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes-Wmissing-prototypes8;;]
> 818 | int prlfs_readpage(struct file *file, struct page *page) {
> | ^~~~~~~~~~~~~~
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:855:5: warning: no previous prototype for 'prlfs_writepage' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes-Wmissing-prototypes8;;]
> 855 | int prlfs_writepage(struct page *page, struct writeback_control *wbc) {
> | ^~~~~~~~~~~~~~~
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: In function 'prlfs_writepage':
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:874:17: error: implicit declaration of function 'SetPageError'; did you mean 'SetPageDirty'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Werror=implicit-function-declaration8;;]
> 874 | SetPageError(page);
> | ^~~~~~~~~~~~
> | SetPageDirty
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:929:27: error: initialization of 'int (*)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *)' {aka 'int (*)(struct file *, struct address_space *, long long int, unsigned int, unsigned int, struct folio *, void *)'} from incompatible pointer type 'int (*)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct page *, void *)' {aka 'int (*)(struct file *, struct address_space *, long long int, unsigned int, unsigned int, struct page *, void *)'} [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wincompatible-pointer-types-Werror=incompatible-pointer-types8;;]
> 929 | .write_end = prlfs_write_end,
> | ^~~~~~~~~~~~~~~
> /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:929:27: note: (near initialization for 'prlfs_aops.write_end')
> cc1: some warnings being treated as errors
> make[4]: *** [/nix/store/xdyia5vsl7xhrv4m49hwvvdpgrahqx1z-linux-6.12.3-dev/lib/modules/6.12.3/source/scripts/Makefile.build:229: /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o] Error 1
> make[3]: *** [/nix/store/xdyia5vsl7xhrv4m49hwvvdpgrahqx1z-linux-6.12.3-dev/lib/modules/6.12.3/source/Makefile:1936: /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
> make[2]: *** [/nix/store/xdyia5vsl7xhrv4m49hwvvdpgrahqx1z-linux-6.12.3-dev/lib/modules/6.12.3/source/Makefile:224: __sub-make] Error 2
> make[2]: Leaving directory '/nix/store/xdyia5vsl7xhrv4m49hwvvdpgrahqx1z-linux-6.12.3-dev/lib/modules/6.12.3/build'
> make[1]: *** [Makefile:36: all] Error 2
> make[1]: Leaving directory '/build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
> make: *** [Makefile.kmods:70: compile] Error 2
For full logs, run 'nix log /nix/store/cph2s350ximz5as12viznyi3a5hsx05f-prl-tools-19.3.1-54941.drv'.
error: 1 dependencies of derivation '/nix/store/2bab6938z6kjg67ij4g3aifdfx8ydxdy-X-Restart-Triggers-systemd-udevd.drv' failed to build
error: 1 dependencies of derivation '/nix/store/rn1l39w41vig1dxryrwiyhq8jnn02y1h-hwdb.bin.drv' failed to build
error: 1 dependencies of derivation '/nix/store/g4ck3520w63f5ll73l6jkz3nrh91didh-linux-6.12.3-modules.drv' failed to build
error: 1 dependencies of derivation '/nix/store/vnignq4cy4591sdr9q7087y0vwb7n1dw-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/358kqiy25i0g9222zpgf65g33j9r05rx-unit-prlcc.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/h4c78v2dnpk7vjz4nxzlgzfwkg676fpj-unit-prlcp.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/4p3asfkrw2plszy7k8kxb0m039ni8y0j-unit-prldnd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/9hb19q9w52xwy81yai98jr4py16wjf0n-unit-prlfsmountd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/2q34aq8x430nd2qbi79vpw7a0r6hcyjp-unit-prlsga.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/c3kiiszd73hqfhj9jpn6shd1s0jsbins-unit-prlshprint.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/4m3875gwq84vgkx9v5134q5f1gs5h70q-unit-prlshprof.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/1pm4vj2sibw5b8c6fx0s444hc7zq8nvl-unit-prltoolsd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/5ih3rj11ljixk7c8axg7bz8w4fv9cgr7-nixos-system-greenbirch-24.05.20241209.7109b68.drv' failed to build
I’m not sure I’m constraining my rebuild attempt enough, as neither the kernel seems correct, nor the prl-tools.
Am I missing something obvious?