Hello,
I just upgraded to Parallels 18.0.1 and the tools fail to build on RHEL 9.
The actual system is Alma Linux 9.0, an exact RHEL clone. The kernel is 5.14.0-70.22.1.el9_0.x86_64
Disclaimer: this is NOT the same issue as https://forum.parallels.com/threads/parallels-tools-do-not-install-on-rhel9.357546/ which applied to Parallels 17. I had this one with Parallels 17 and I had to apply the patch. With Parallels 18, this is another error.
In the build log file, the error is now:
CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_common.h:25,
from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:19:
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c: In function 'prl_tg_write':
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:123:29: error: implicit declaration of function 'pde_data' [-Werror=implicit-function-declaration]
123 | #define prl_pde_data(inode) pde_data(inode)
| ^~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:248:30: note: in expansion of macro 'prl_pde_data'
248 | struct tg_dev *dev = prl_pde_data(FILE_DENTRY(filp)->d_inode);
| ^~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:123:29: warning: initialization of 'struct tg_dev *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
123 | #define prl_pde_data(inode) pde_data(inode)
| ^~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:248:30: note: in expansion of macro 'prl_pde_data'
248 | struct tg_dev *dev = prl_pde_data(FILE_DENTRY(filp)->d_inode);
| ^~~~~~~~~~~~
It seems that RHEL kernels are always specific (the installation is correct on Fedora 36 with a more recent kernel).
Any fix?
Thanks
I just upgraded to Parallels 18.0.1 and the tools fail to build on RHEL 9.
The actual system is Alma Linux 9.0, an exact RHEL clone. The kernel is 5.14.0-70.22.1.el9_0.x86_64
Disclaimer: this is NOT the same issue as https://forum.parallels.com/threads/parallels-tools-do-not-install-on-rhel9.357546/ which applied to Parallels 17. I had this one with Parallels 17 and I had to apply the patch. With Parallels 18, this is another error.
In the build log file, the error is now:
CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_common.h:25,
from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:19:
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c: In function 'prl_tg_write':
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:123:29: error: implicit declaration of function 'pde_data' [-Werror=implicit-function-declaration]
123 | #define prl_pde_data(inode) pde_data(inode)
| ^~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:248:30: note: in expansion of macro 'prl_pde_data'
248 | struct tg_dev *dev = prl_pde_data(FILE_DENTRY(filp)->d_inode);
| ^~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:123:29: warning: initialization of 'struct tg_dev *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
123 | #define prl_pde_data(inode) pde_data(inode)
| ^~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:248:30: note: in expansion of macro 'prl_pde_data'
248 | struct tg_dev *dev = prl_pde_data(FILE_DENTRY(filp)->d_inode);
| ^~~~~~~~~~~~
It seems that RHEL kernels are always specific (the installation is correct on Fedora 36 with a more recent kernel).
Any fix?
Thanks