Prl-tools is throwing compile errors when upgrading to NixOS 24.11

Have been running NixOS 24.05 for months with prl-tools under Parallels 19 and 20 without issue.

Upon trying to upgrade to NixOS 24.11, the only thing that’s failing is the prl-tools build, like so:

$ sudo nixos-rebuild test --upgrade  --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
evaluation warning: _1password has been renamed to _1password-cli to better follow upstream name usage
evaluation warning: i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead
error: builder for '/nix/store/69lva8lf1brcras72nvclvsa0i9zpds4-prl-tools-20.1.2-55742.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:819:5: warning: no previous prototype for 'prlfs_readpage' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes-Wmissing-prototypes8;;]
       >   819 | int prlfs_readpage(struct file *file, struct page *page) {
       >       |     ^~~~~~~~~~~~~~
       > /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:856:5: warning: no previous prototype for 'prlfs_writepage' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes-Wmissing-prototypes8;;]
       >   856 | 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:875: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;;]
       >   875 |                 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:930: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;;]
       >   930 |         .write_end      = prlfs_write_end,
       >       |                           ^~~~~~~~~~~~~~~
       > /build/prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:930:27: note: (near initialization for 'prlfs_aops.write_end')
       > cc1: some warnings being treated as errors
       > make[4]: *** [/nix/store/6ww3zbbnsqg1v3wx9qsf1lnva2szj1d5-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/6ww3zbbnsqg1v3wx9qsf1lnva2szj1d5-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/6ww3zbbnsqg1v3wx9qsf1lnva2szj1d5-linux-6.12.3-dev/lib/modules/6.12.3/source/Makefile:224: __sub-make] Error 2
       > make[2]: Leaving directory '/nix/store/6ww3zbbnsqg1v3wx9qsf1lnva2szj1d5-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/69lva8lf1brcras72nvclvsa0i9zpds4-prl-tools-20.1.2-55742.drv'.
error: 1 dependencies of derivation '/nix/store/chydi09g2j42gk40cfvg5ca2pv57qszm-hwdb.bin.drv' failed to build
error: 1 dependencies of derivation '/nix/store/w9y21gv9y5vwf5icpfwn83szml2pshly-linux-6.12.3-modules.drv' failed to build
error: 1 dependencies of derivation '/nix/store/4lhm39l1wk7fazakwjzir5jbrcjvi9gj-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/qmmxn4mv1n6y9hn0zsirxcw9j3a6hcl5-udev-rules.drv' failed to build
error: 1 dependencies of derivation '/nix/store/12djlm4zwcshclhgldrk3vfz4j0k9azb-unit-prlcc.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ayp63viimh4w5rfb3vzpl0hzamwdzhlf-unit-prlcp.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/n9aglmknz3pxjiz08vvm011n75rxjx7j-unit-prldnd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/978082ik8fdcpzn0wdfh1whgxpg7qbjg-unit-prlsga.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/y48i3lsz2ahfvf92s7bjhqwpqbkb38b4-unit-prlshprint.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/pwwa9gapq1jyvdzdmgg18p101cn5c1xw-unit-prlshprof.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/vcn9269wpnahy9yc9lzm0ng7s16d7ys5-unit-prltoolsd.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/1k0hvfcbnq4d25ixdyf06dmab76sn6dy-nixos-system-greenbirch-24.11.20241210.a0f3e10.drv' failed to build

The kernel and prl-tools versions look right, so not clear on whether I should open an issue against this package, or what.

Opened this issue on this topic and got 2 workarounds immediately.

So all good on this issue now.