Parallels Tools fails to install with Linux kernel 6.12.1-2-aarch64-ARCH

JohannesE2

Bit poster
This is Parallels Desktop running on an Apple M1 MacBook Pro and an Arch Linux VM.
This VM used to work.
Now, if I attempt to re-install Parallels tools with the latest Arch update I get
```
% cd ~/Parallels\ Tools
% ./install-gui
modprobe: FATAL: Module prl_tg not found in directory /lib/modules/6.12.1-2-aarch64-ARCH
```
(Repeated often)
This apparently comes from `modprobe`. I would copy-paste the log, but I don't have tools ...
 
Same on Fedora 40 6.12.5-100.fc40.aarch64

from log

/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:856:5: warning: no previous prototype for 'prlfs_writepage' [-Wmissing-prototypes]
856 | int prlfs_writepage(struct page *page, struct writeback_control *wbc) {
| ^~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: In function 'prlfs_writepage':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:875:17: error: implicit declaration of function 'SetPageError'; did you mean 'SetPageDirty'? [-Wimplicit-function-declaration]
875 | SetPageError(page);
| ^~~~~~~~~~~~
| SetPageDirty
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
/usr/lib/parallels-tools/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 *)'} [-Wincompatible-pointer-types]
930 | .write_end = prlfs_write_end,
| ^~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:930:27: note: (near initialization for 'prlfs_aops.write_end')
make[4]: *** [scripts/Makefile.build:229: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o] Error 1
make[3]: *** [/usr/src/kernels/6.12.5-100.fc40.aarch64/Makefile:1977: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
make[2]: *** [Makefile:236: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/kernels/6.12.5-100.fc40.aarch64'
make[1]: *** [Makefile:36: all] Error 2
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
 
This is Parallels Desktop running on an Apple M1 MacBook Pro and an Arch Linux VM.
This VM used to work.
Now, if I attempt to re-install Parallels tools with the latest Arch update I get
```
% cd ~/Parallels\ Tools
% ./install-gui
modprobe: FATAL: Module prl_tg not found in directory /lib/modules/6.12.1-2-aarch64-ARCH
```
(Repeated often)
This apparently comes from `modprobe`. I would copy-paste the log, but I don't have tools ...
I am also seeing this error when trying to install Parallels Tools to my Arch VM on my M1 Mac:
macOS15.2 Parallels 20.1.3 (55743).
 
I am also seeing this error when trying to install Parallels Tools to my Arch VM on my M1 Mac:
macOS15.2 Parallels 20.1.3 (55743).

I have the same problem. Same Mac OS and Parallels versions.

Mon Jan 6 11:09:03 AEST 2025
Start installation or upgrade of Guest Tools
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-unknown-linux-gnu-gcc (GCC) 14.1.1 20240507
You are using: cc (GCC) 14.1.1 20240507
In file included from ./include/linux/mm_types.h:19,
from ./include/linux/mmzone.h:22,
from ./include/linux/gfp.h:7,
from ./include/linux/umh.h:4,
from ./include/linux/kmod.h:9,
from ./include/linux/module.h:17,
from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:6:
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c: In function 'prl_tg_deinitialize':
./include/linux/workqueue.h:765:9: warning: call to '__warn_flushing_systemwide_wq' declared with attribute warning: Please avoid flushing system-wide workqueues. [-Wattribute-warning]
765 | __warn_flushing_systemwide_wq(); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:573:9: note: in expansion of macro 'flush_scheduled_work'
573 | flush_scheduled_work();
| ^~~~~~~~~~~~~~~~~~~~
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-unknown-linux-gnu-gcc (GCC) 14.1.1 20240507
You are using: cc (GCC) 14.1.1 20240507
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:135:15: warning: no previous prototype for 'prlfs_iget' [-Wmissing-prototypes]
135 | struct inode *prlfs_iget(struct super_block *sb, ino_t ino)
| ^~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:151:5: warning: no previous prototype for 'prlfs_statfs' [-Wmissing-prototypes]
151 | int prlfs_statfs(struct dentry *de, struct kstatfs *buf)
| ^~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:181:5: warning: no previous prototype for 'prlfs_show_options' [-Wmissing-prototypes]
181 | int prlfs_show_options(struct seq_file *seq, struct dentry *root) {
| ^~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: In function 'do_read_symlink':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:714:48: warning: suggest braces around empty body in an 'else' statement [-Wempty-body]
714 | DPRINTK("tgt '%s'\n", tgt_path);
| ^
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:819:5: warning: no previous prototype for 'prlfs_readpage' [-Wmissing-prototypes]
819 | int prlfs_readpage(struct file *file, struct page *page) {
| ^~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:856:5: warning: no previous prototype for 'prlfs_writepage' [-Wmissing-prototypes]
856 | int prlfs_writepage(struct page *page, struct writeback_control *wbc) {
| ^~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: In function 'prlfs_writepage':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:875:17: error: implicit declaration of function 'SetPageError'; did you mean 'SetPageDirty'? [-Wimplicit-function-declaration]
875 | SetPageError(page);
| ^~~~~~~~~~~~
| SetPageDirty
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c: At top level:
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:930:27: error: initialization of 'imake[4]: *** [scripts/Makefile.build:229: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o] Error 1
make[3]: *** [/usr/lib/modules/6.12.1-2-aarch64-ARCH/build/Makefile:1936: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
make[2]: Leaving directory '/usr/lib/modules/6.12.1-2-aarch64-ARCH/build'
make[2]: *** [Makefile:224: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
make[1]: *** [Makefile:36: all] Error 2
make: Leaving directory '/usr/lib/parallels-tools/kmods'
make: *** [Makefile.kmods:70: compile] Error 2
Error: could not build kernel modules
modprobe: FATAL: Module prl_tg not found in directory /lib/modules/6.12.1-2-aarch64-ARCH
modprobe: FATAL: Module prl_tg not found in directory /lib/modules/6.12.1-2-aarch64-ARCH
Error: failed to install Parallels Guest Tools!
2025-01-06T11:09:06+1000: nt (*)(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 *)'} [-Wincompatible-pointer-types]
930 | .write_end = prlfs_write_end,
| ^~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c:930:27: note: (near initialization for 'prlfs_aops.write_end')
make[4]: *** [scripts/Makefile.build:229: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o] Error 1
make[3]: *** [/usr/lib/modules/6.12.1-2-aarch64-ARCH/build/Makefile:1936: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
make[2]: *** [Makefile:224: __sub-make] Error 2
make[1]: *** [Makefile:36: all] Error 2
make: *** [Makefile.kmods:70: compile] Error 2
Error: could not build kernel modules
modprobe: FATAL: Module prl_tg not found in directory /lib/modules/6.12.1-2-aarch64-ARCH
modprobe: FATAL: Module prl_tg not found in directory /lib/modules/6.12.1-2-aarch64-ARCH
Error: failed to install Parallels Guest Tools!
2025-01-06T11:09:06+1000: execCmd: ./install --install [167]
2025-01-06T11:09:06+1000: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.​
 
I'm running the latest version of Parallels 20.2.0 on a brand new M4 Macbook Pro. I need this resolved ASAP. Any updates Parallels or anyone else that has gotten this to work?
 
Are you on the latest kernel version for the Oracle Linux 8.10 distro? Maybe upgrade to that if you aren't already there and are in a position to do so?
 
Hi, sorry to hear you're still having difficulties with this, it must be extremely frustrating. I can only speak for Fedora not Oracle Linux, Parallels tools have continued woking consistently since I last replied to you... Fedora has moved on to v42 ... and every update to the kernel up to the current version 6.15.9 has worked without incident and so has every update to Parallels (and tools) up to the current version 20.4 .
It might be time to reach out to Parallels Tech support if you haven't already. Sorry I can't be more help.
 
Back
Top