First install - Parallels Version 15.1.2 Install Parallels Tools to RHEL 8.1-1 fails

SeanO4

Bit poster
Parallels Version 15.1.2 (47123) Install Parallels Tools to RHEL 8.1-1 fails

Have also:
dnf install gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) make
dnf install checkpolicy selinux-policy-devel make

And recommended RHEL updates with reboot as of Jan 20.

Critical error seems to be:
CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.o
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c: In function 'prlfs_mapping_update':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:46:43: error: implicit declaration of function 'radix_tree_exceptional_entry'; did you mean 'radix_tree_exception'? [-Werror=implicit-function-declaration]
#define prlfs_page_cache_invalid_entry(x) radix_tree_exceptional_entry(x)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:66:7: note: in expansion of macro 'prlfs_page_cache_invalid_entry'
if (prlfs_page_cache_invalid_entry(cur_page))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Jan 20 entry in parallels-tools-install.log

Mon Jan 20 12:54:25 EST 2020
Start installation or upgrade of Guest Tools
installer:%10.000000
installer:%20.000000
new version of parallels tools
Installed Guest Tools were not found
Register service to install new Guest Tools
installer:%30.000000
Perform installation into the /usr/lib/parallels-tools directory
installer:%40.000000
make: Entering directory '/usr/lib/parallels-tools/kmods'
Will use compiler CC="cc".
Compiler version "cc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4)"
cd prl_eth/pvmnet && make CC=cc
make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
make -C /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet CC=cc
make[2]: Entering directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
CC [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o
LD [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/prl_eth.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/prl_eth.mod.o
LD [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/prl_eth.ko
make[2]: Leaving directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
cd prl_tg/Toolgate/Guest/Linux/prl_tg && make CC=cc
make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
1: /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build
2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
3: 20200120
4: 1.6.0
Start compile prl_tg...
make -C /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build M=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg SRCROOT=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg CC=cc modules
make[2]: Entering directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
1: /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build
2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
3: 20200120
4: 1.6.0
CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
CC [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.o
LD [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.o
Building modules, stage 2.
1: /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build
2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
3: 20200120
4: 1.6.0
MODPOST 1 modules
CC /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.mod.o
LD [M] /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko
make[2]: Leaving directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
cp -f prl_tg/Toolgate/Guest/Linux/prl_tg/*.symvers prl_fs/SharedFolders/Guest/Linux/prl_fs ||:
cd prl_fs/SharedFolders/Guest/Linux/prl_fs && make CC=cc
make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
make -C /lib/modules/4.18.0-147.3.1.el8_1.x86_64/build M=/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs CC=cc
make[2]: Entering directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.o
CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.o
CC [M] /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.o
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c: In function 'prlfs_mapping_update':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:46:43: error: implicit declaration of function 'radix_tree_exceptional_entry'; did you mean 'radix_tree_exception'? [-Werror=implicit-function-declaration]
#define prlfs_page_cache_invalid_entry(x) radix_tree_exceptional_entry(x)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:66:7: note: in expansion of macro 'prlfs_page_cache_invalid_entry'
if (prlfs_page_cache_invalid_entry(cur_page))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:313: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.o] Error 1
make[2]: *** [Makefile:1547: _module_/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
make[2]: Leaving directory '/usr/src/kernels/4.18.0-147.3.1.el8_1.x86_64'
make[1]: *** [Makefile:36: all] Error 2
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
make: *** [Makefile.kmods:31: compile] Error 2
make: Leaving directory '/usr/lib/parallels-tools/kmods'
Error: could not build kernel modules
Error during report about failed installation of parallels tools.
Error: failed to install Parallels Guest Tools!
Trying to restore previous Parallels Guest Tools installation...
[linuxadmin@localhost log]$
 
I have exactly the same problem under Centos 8 with kernel 4.18.0-147.5.1.el8_1.x86_64

if anyone has a solution, please let me know, thanks !
 
Briefly:
Update two files in prl_mod.tar.gz, see Parallels forum post

"Parallels Tools 15.1.2.47123 Failed to Install on RHEL 8.1"
https://forum.parallels.com/threads...ed-to-install-on-rhel-8-1.348760/#post-861686



Details:

Also see the two Parallels forum articles:
How to update kernel-devel to install Parallels Tools
How to install Parallels Tools in Linux virtual machine

Be sure to update everything in the above second and third articles before proceeding.

The second one explains how to leave the install ISO mounted at:/media/cdrom/

I used a combination of CLI and the GUI Files application where I have (using Files).


You have to copy the installation directory tree some place to edit two files.I called mine ParallelesFixed in my Home drive.

mkdir ParallelsFixed


Then copy the tree, keeping attributes.

cp -a -r /media/cdrom/* ParallelsFixed


Under ParallelsFixed, change permission on directory ParallelsFixed/kmods so that the Owner ("Me") can "create and delete files" (using Files). Navigate to the kmods folder and open the prl_mod.tar.gz file through a right click and Other Application selecting Archive Manager (using Files).

Archive Manager opens it's own navigation window where, navigate into directory prl_fs/SharedFolders/Guest/Linux/prl_fs


Right click on file.c and open into the editor. As the first article describes,

Replace line 42 in <....>/prl_fs/SharedFolders/Guest/Linux/prl_fs/file.c:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)

with

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) || defined(PRLFS_RHEL_8_1_GE)


Save the file and exit.

Right click on prlfs.h and open into the editor. Again, as the first article describes,

The following three lines need to [be] inserted right after the line #47:

#if RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(8, 1)
#define PRLFS_RHEL_8_1_GE
#endif


Save the file and exit.

Exit Archive Manager, which should also save the changed files into prl_mod.tar.gz

From the third article, with ParallelesFixed as the current directory, use
su
./install


The installation should now succeed, but won't be running until
reboot
 
Back
Top