2020.2 Kali Linux, Parallels Tools Error

Are you also having this issue?

  • No, everything installs correctly!

    Votes: 0 0.0%

  • Total voters
    37

AaronW4

Bit poster
MacOS Version: 10.15.5 (19F101)
Parallels Version: 15.1.4 (47270)
Kali Linux Version: 2020.2, kali-rolling
Reference KB: https://kb.parallels.com/123968

I followed the steps in the referenced kb as root, but encountered an error at step (6), shown in the attached screenshot. I have also attached my parallels-tools-install.log to this post. I am unable to install Parallels Tools.

It appears there's a proc_create_data incompatible pointer type, and an unexpected struct file_operations argument (expected type construct proc_ops) . These then end up throwing compile Error 2 "Error: could not build kernel modules".

Code:
2020-06-02T20:55:03-0500:

Parallels Tools 15.1.4-47270 Installer started.
2020-06-02T20:55:03-0500: Failed to setup console printk level.
2020-06-02T20:55:04-0500: execCmd: ./install --check [0]
2020-06-02T20:55:04-0500: execCmd: ./installer/detect-xserver.sh -v >/dev/null 2>&1 [0]
2020-06-02T20:55:05-0500: execCmd: ./installer/pm.sh --check gtools [0]
Started installation of Parallels Guest Tools version '15.1.4.47270'

Error during report about start installation of parallels tools.
Tue Jun 2 20:55:05 CDT 2020
Start installation or upgrade of Guest Tools
new version of parallels tools
Installed Guest Tools were not found
Register service to install new Guest Tools
Perform installation into the /usr/lib/parallels-tools directory
make: Entering directory '/usr/lib/parallels-tools/kmods'
Will use compiler CC="cc".
Compiler version "cc (Debian 9.3.0-13) 9.3.0"
cd prl_eth/pvmnet && make CC=cc
make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
make -C /lib/modules/5.6.0-kali2-amd64/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet CC=cc
make[2]: Entering directory '/usr/src/linux-headers-5.6.0-kali2-amd64'
  AR      /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/built-in.a
  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
  MODPOST 1 modules
  CC [M]  /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/linux-headers-5.6.0-kali2-amd64'
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/5.6.0-kali2-amd64/build
2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
3: 20200602
4: 1.7.0
Start compile prl_tg...
make -C /lib/modules/5.6.0-kali2-amd64/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/linux-headers-5.6.0-kali2-amd64'
1: /lib/modules/5.6.0-kali2-amd64/build
2: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg
3: 20200602
4: 1.7.0
  CC [M]  /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c: In function 'prltg_proc_create_data':
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:405:46: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
  405 |  return proc_create_data(name, mode, parent, fops, data);
      |                                              ^~~~
      |                                              |
      |                                              struct file_operations *
In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:10:
/usr/src/linux-headers-5.6.0-kali2-common/include/linux/proc_fs.h:59:31: note: expected 'const struct proc_ops *' but argument is of type 'struct file_operations *'
   59 | extern struct proc_dir_entry *proc_create_data(const char *, umode_t,
      |                               ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-headers-5.6.0-kali2-common/scripts/Makefile.build:273: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o] Error 1
make[3]: *** [/usr/src/linux-headers-5.6.0-kali2-common/Makefile:1704: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.6.0-kali2-amd64'
make[2]: *** [/usr/src/linux-headers-5.6.0-kali2-common/Makefile:180: sub-make] Error 2
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
make[1]: *** [Makefile:42: prl_tg] Error 2
make: Leaving directory '/usr/lib/parallels-tools/kmods'
make: *** [Makefile.kmods:31: compile] Error 2
Error: could not build kernel modules
Error during report about failed installation of parallels tools.
Error: failed to install Parallels Guest Tools!
2020-06-02T20:55:07-0500: Started installation of Parallels Guest Tools version '15.1.4.47270'

Error during report about start installation of parallels tools.
Tue Jun 2 20:55:05 CDT 2020
Start installation or upgrade of Guest Tools
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c: In function 'prltg_proc_create_data':
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:405:46: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror=incompatible-pointer-types]
  405 |  return proc_create_data(name, mode, parent, fops, data);
      |                                              ^~~~
      |                                              |
      |                                              struct file_operations *
In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:10:
/usr/src/linux-headers-5.6.0-kali2-common/include/linux/proc_fs.h:59:31: note: expected 'const struct proc_ops *' but argument is of type 'struct file_operations *'
   59 | extern struct proc_dir_entry *proc_create_data(const char *, umode_t,
      |                               ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-headers-5.6.0-kali2-common/scripts/Makefile.build:273: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o] Error 1
make[3]: *** [/usr/src/linux-headers-5.6.0-kali2-common/Makefile:1704: /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg] Error 2
make[2]: *** [/usr/src/linux-headers-5.6.0-kali2-common/Makefile:180: sub-make] Error 2
make[1]: *** [Makefile:42: prl_tg] Error 2
make: *** [Makefile.kmods:31: compile] Error 2
Error: could not build kernel modules
Error during report about failed installation of parallels tools.
Error: failed to install Parallels Guest Tools!
2020-06-02T20:55:07-0500: execCmd: ./install --install [167]
2020-06-02T20:55:07-0500: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
2020-06-02T20:55:09-0500: Exiting with code 1
 

Attachments

  • Screen Shot 2020-06-02 at 8.54.03 PM.png
    Screen Shot 2020-06-02 at 8.54.03 PM.png
    109.5 KB · Views: 40
Hello @AaronW4 Please be informed that Parallels Desktop 15 for Mac doesn't support Kali Linux Version 2020 as of now. Please refer to this article to know the supported GuestOS by Parallels Desktop 15 for Mac.
 
Okay thank you for the quick reply, Abishek. My mistake, hopefully the issues get ironed out.

Have a good week!
 
Although it is not recommended at all, you could delete the system preserved or system locked files using the long path tool program. If a system file has more than 255 characters in the destination pathname, an attempt to delete the file will show an error message and the message will depict "the filename is too long cannot delete.
 
That's nice, but not listed in "Supported" operating systems. Hopefully just an oversight?:

Guest Operating Systems
  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows 7 (SP0-SP1)
  • Windows Server 2008 R2 (SP0-SP2)
  • Windows Vista Home, Business, Ultimate and Enterprise (SP0-SP2)
  • Windows Server 2003 R2 (SP0-SP2)
  • Windows XP (SP0-SP3)
  • Windows 2000 Professional SP4
  • Windows 2000 Server SP4
  • Boot2Docker
  • Red Hat Enterprise Linux (RHEL) 8,7 and 6
  • Linux (RHEL) 8, 7 and 6
  • Fedora Linux 32, 31
  • Ubuntu 20.04, 19.04, 18.04 LTS, 16.04 LTS
  • Debian GNU/Linux 10, 9
  • Suse Linux Enterprise 15
  • OpenSUSE Linux 15.1, 15
  • Linux Mint 20, 19, 18
  • Kali 2019, 2018
  • Elementary OS 5
  • Manjaro 18
  • Mageia 7
  • Gentoo Linux **
  • Solaris 11, 10 **
  • openBSD 6 **
  • FreeBSD 12, 11 **
  • openVZ 7
  • eComStation 2, 1.2 **
  • ReactOS 0.4 **
  • Android OS *
  • macOS Big Sur 11.0 (when released)
  • macOS Catalina 10.15
  • macOS Mojave 10.14.x
  • macOS High Sierra 10.13.x
  • macOS Sierra 10.12.x
  • OS X El Capitan 10.11.x
  • OS X Yosemite 10.10.x
  • OS X Mavericks 10.9.x
  • OS X Mountain Lion 10.8.x
  • OS X Lion 10.7.x
  • OS X Lion Server 10.7.x
  • Mac OS X Snow Leopard Server 10.6.x
  • Mac OS X Leopard Server 10.5.x
  • and many more...
  • * -- Only the version downloaded with help of the Installation Assistant with Parallels Desktop.
    ** -- Parallels Tools are not available for this operating system.
 
I managed to get Parallels Tools working today on my freshly updated Kali system by following the steps at https://kb.parallels.com/123968 but stopping before running ./install. Then follow the steps:
  1. Move into the kmods directory, where you should see a file called prl_mod.tar.gz. Extract this archive so we can edit it.
  2. Open the file prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top.
  3. Open the file prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c and add the line "#include <linux/blkdev.h>" to the top.
  4. Open the files prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile and prl_vid/Video/Guest/Linux/kmod/Makefile, and add the line "KBUILD_EXTRA_SYMBOLS := /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers" to the top.
  5. Re-create the archive with the edited files.
  6. Now run ./install and it should work.
Credit goes to Devries for step 4.
 
I managed to get Parallels Tools working today on my freshly updated Kali system by following the steps at https://kb.parallels.com/123968 but stopping before running ./install. Then follow the steps:
  1. Move into the kmods directory, where you should see a file called prl_mod.tar.gz. Extract this archive so we can edit it.
  2. Open the file prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top.
  3. Open the file prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c and add the line "#include <linux/blkdev.h>" to the top.
  4. Open the files prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile and prl_vid/Video/Guest/Linux/kmod/Makefile, and add the line "KBUILD_EXTRA_SYMBOLS := /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers" to the top.
  5. Re-create the archive with the edited files.
  6. Now run ./install and it should work.
Credit goes to Devries for step 4.

Nice! This worked for me
 
I managed to get Parallels Tools working today on my freshly updated Kali system by following the steps at https://kb.parallels.com/123968 but stopping before running ./install. Then follow the steps:
  1. Move into the kmods directory, where you should see a file called prl_mod.tar.gz. Extract this archive so we can edit it.
  2. Open the file prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top.
  3. Open the file prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c and add the line "#include <linux/blkdev.h>" to the top.
  4. Open the files prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile and prl_vid/Video/Guest/Linux/kmod/Makefile, and add the line "KBUILD_EXTRA_SYMBOLS := /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers" to the top.
  5. Re-create the archive with the edited files.
  6. Now run ./install and it should work.
Credit goes to Devries for step 4.
You just saved my life, man. Finally a fix !
Tested on Kali 2020.4, parallel tools installed as expected
 
Back
Top