Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Parallels Tools fix for Ubuntu 18.04 and other Linux distributions with Kernel version >= 4.15

Preparation

  • In open Ubuntu 18.04 machine click Parallels Actions -> "Install Parallels Tools"

  • A "Parallels Tools" CD will popup on your Ubuntu desktop.

  • Open it by double mouse click, copy all the content to a new, empty directory on a desktop, name it for e.g. "parallels_fixed"

  • Open terminal, change directory to parallels_fixed (cd ~/Desktop/parallels_fixed)

  • Make command line installer executable (chmod +x install)

  • Change directory to "installer" (cd installer)

  • Make few other scripts executable: chmod +x installer.* *.sh prl_*

We have to modify some files:

  • Go to kmods directory (cd ~/Desktop/parallels_fixed/kmods) and extract the files (tar -xzf prl_mod.tar.gz)
  • Remove prl_mod.tar.gz file from that directory (rm prl_mod.tar.gz)

Changing file 1/3

  • Go to "prl_eth/pvmnet/" (cd ~/Desktop/parallels_fixed/kmods/prl_eth/pvmnet) directory
  • Open "pvmnet.c" file in a text editor
  • Edit line 438:
MODULE_LICENSE("Parallels");

to

MODULE_LICENSE("GPL");
  • Save

Changing file 2/3

  • Go to "prl_tg/Toolgate/Guest/Linux/prl_tg/" (cd ~/Desktop/parallels_fixed/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg) directory
  • Open "prltg.c" file in a text editor
  • Edit line 1535:
MODULE_LICENSE("Parallels");

to

MODULE_LICENSE("GPL");
  • Save

Changing file 3/3

  • Go to "prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/" (cd ~/Desktop/parallels_fixed/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze)
  • Open "prl_fs_freeze.c" file in a text editor
  • in line 212 you will find a function "thaw_timer_fn":
void thaw_timer_fn(unsigned long data)
{
   struct work_struct *work = (struct work_struct *)data;
   
   schedule_work(work);
}

Change it to:

void thaw_timer_fn(unsigned long data)
{
   struct work_struct *work = (struct work_struct *)data;
   
   schedule_work(work);
}

void thaw_timer_fn_new_kernel(struct timer_list *data)
{
   struct work_struct *work = data->expires;
   
   schedule_work(work);
}

Then change a line 220 from:

DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));

to

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
DEFINE_TIMER(thaw_timer, thaw_timer_fn_new_kernel);
#else
DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
#endif

Zip it back

  • Go to kmods directory (cd ~/Desktop/parallels_fixed/kmods) and zip: tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods
  • Now you should see "prl_mod.tar.gz" file in this directory

Install!

  • Go one level up (cd ../ or cd ~/Desktop/parallels_fixed) and install it by running sudo ./install

In case of problems with Sharing Folder try to sudo chmod +x /usr/bin/prlfsmountd. (Suggested by @macdoor - Thanks!)

First two changes are hacks, changing licensing type and i cannot post complete, built package. Third file change was needed as backward incompatible changes were released in version 4.15 of the Linux kernel, on November 2017 by Linus. https://github.com/torvalds/linux/blob/master/include/linux/time.h

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented May 15, 2018

It works! Many thanks

@innodron

This comment has been minimized.

Copy link

@innodron innodron commented May 15, 2018

Worked like a charm. Thanks!

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented May 15, 2018

Easy to follow, step-by-step. You're good at this!

@xcray

This comment has been minimized.

Copy link

@xcray xcray commented May 16, 2018

Works very well on Kali 2018.2, Thanks Very Much!

@trus0und

This comment has been minimized.

Copy link

@trus0und trus0und commented May 16, 2018

This worked great for me. Many thanks!!

@PinkFrosty

This comment has been minimized.

Copy link

@PinkFrosty PinkFrosty commented May 16, 2018

Thank you!!! It worked on Fedora 26 kernel 4.16.7.100.fc26.x86_64

@Lykan-sec

This comment has been minimized.

Copy link

@Lykan-sec Lykan-sec commented May 16, 2018

Works very well, Thank you!!!

@gouez

This comment has been minimized.

Copy link

@gouez gouez commented May 16, 2018

thx

@arumel

This comment has been minimized.

Copy link

@arumel arumel commented May 16, 2018

This worked for me in Fedora 27 and kernel 4.16. Thanks!

@fasterliu

This comment has been minimized.

Copy link

@fasterliu fasterliu commented May 16, 2018

Thank you! It works very well on Ubuntu 18.04 LTS.

@wpwoodjr

This comment has been minimized.

Copy link

@wpwoodjr wpwoodjr commented May 17, 2018

Thanks works great on Ubuntu 18.04!

@LinXunFeng

This comment has been minimized.

Copy link

@LinXunFeng LinXunFeng commented May 17, 2018

Thank you! But, Unable to share file,has anyone ever encountered such a problem?

@alexander-yakushev

This comment has been minimized.

Copy link

@alexander-yakushev alexander-yakushev commented May 17, 2018

Thanks! Got my mouse back.

@xaljox

This comment has been minimized.

Copy link

@xaljox xaljox commented May 18, 2018

It worked partly for me. The resolution is now OK, first after upgrading my Ubuntu 16.04 to 18.04 resulted in a fixed 800x600 display when booted from parallels. After the described fix, this was Ok. But The shared folders with my Mac do not work. The documents and Downloads etc are not accesible.

@macdoor

This comment has been minimized.

Copy link

@macdoor macdoor commented May 20, 2018

after installed Parallels Tools, use this command, share folder should be okay.
sudo chmod +x /usr/bin/prlfsmountd

@d-helios

This comment has been minimized.

Copy link

@d-helios d-helios commented May 21, 2018

Thanks!
It's works.

@jakubgg

This comment has been minimized.

Copy link

@jakubgg jakubgg commented May 21, 2018

Amazing! Works like a charm. Thank you very much!

@tuanhuudl

This comment has been minimized.

Copy link

@tuanhuudl tuanhuudl commented May 21, 2018

Thank! So Much

@SiNaPsEr0x

This comment has been minimized.

Copy link

@SiNaPsEr0x SiNaPsEr0x commented May 21, 2018

you are a boss!

@Xaositek

This comment has been minimized.

Copy link

@Xaositek Xaositek commented May 21, 2018

Worked like a charm!

@aaronkampmeier

This comment has been minimized.

Copy link

@aaronkampmeier aaronkampmeier commented May 22, 2018

Spent hours searching for a fix and finally found this! Thanks!

@yogoo

This comment has been minimized.

Copy link

@yogoo yogoo commented May 23, 2018

So great, works perfectly. Thanks!

@aleohl

This comment has been minimized.

Copy link

@aleohl aleohl commented May 23, 2018

Thanks, rather odd that this isn't fixed by Parallels. I mean the software isn't cheap.

@dpb657

This comment has been minimized.

Copy link

@dpb657 dpb657 commented May 23, 2018

Let me start with saying thank you.

Also changing the licensing of their modules is not something Parallels will do lightly. Just getting the corporate lawyers to agree even if they wanted to make take months.

Tarring the files back up can be done as:
tar --exclude prl_mod.tar.gz -zcvf prl_mod.tar.gz .

@KageShiron

This comment has been minimized.

Copy link

@KageShiron KageShiron commented May 26, 2018

Thanks! It works on Kali.

@ntamvl

This comment has been minimized.

Copy link

@ntamvl ntamvl commented May 29, 2018

It works! Thank you so much! <3

@diimdeep

This comment has been minimized.

Copy link

@diimdeep diimdeep commented Jun 10, 2018

Works!

@wudi

This comment has been minimized.

Copy link

@wudi wudi commented Jun 13, 2018

It works! 👍

@kishanpatel97

This comment has been minimized.

Copy link

@kishanpatel97 kishanpatel97 commented Jun 16, 2018

Thank you this works!

@vnijs

This comment has been minimized.

Copy link

@vnijs vnijs commented Jun 23, 2018

Anyone got this working with Linux Mint 19? https://blog.linuxmint.com/?p=3581

@opresco

This comment has been minimized.

Copy link

@opresco opresco commented Jun 27, 2018

Thank you, Rudolf!

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Jul 2, 2018

Sorry Rudolf, but with the new update of linux-headers, parallels tools won't work! Please fix this issue

@dvska

This comment has been minimized.

Copy link

@dvska dvska commented Jul 5, 2018

Wasn't lucky for Linux Mint 19. Enjoying 800x600 on Retina display :)

@databill

This comment has been minimized.

Copy link

@databill databill commented Jul 6, 2018

It does not work for Fedora 28.

@stickystyle

This comment has been minimized.

Copy link

@stickystyle stickystyle commented Jul 6, 2018

Just installed Ubuntu 18.04 on Parallels 13, the stock tools installed fine now without any of these patches.

@joshvickerson

This comment has been minimized.

Copy link

@joshvickerson joshvickerson commented Jul 17, 2018

This worked perfectly to install Parallels tools in the Elementary OS 5 beta on Parallels 12! Such an easy fix, so annoying they're holding it behind a paid upgrade. Thanks so much, @rudolfratusinski!

@SiNaPsEr0x

This comment has been minimized.

Copy link

@SiNaPsEr0x SiNaPsEr0x commented Aug 3, 2018

help with 13.3.1 43365 with new kernel 4.17 this fix not work :(

@ashokbugude

This comment has been minimized.

Copy link

@ashokbugude ashokbugude commented Aug 7, 2018

Hi Thanks, I was able to install Parallel tools in ubuntu 18.04
But
the shared folders from Mac (Host OS) are not mounted in 'Parallel Desktop' folder of ubuntu.
The Parallel Desktop folder is blank. Can I know if there is any hack to share the files between linux and mac

@tresf

This comment has been minimized.

Copy link

@tresf tresf commented Aug 9, 2018

They've patched this per https://forum.parallels.com/threads/parallels-tools-ubuntu-budgie-18-04.344138/#post-840483

Update Parallels (Control Center, Parallels Desktop Menu, Check for Updates), when VM comes back online, unmount the CD, remount the CD and try again.

@NicolaeCasir

This comment has been minimized.

Copy link

@NicolaeCasir NicolaeCasir commented Aug 21, 2018

OMG.. Thank you, Man!!!!

@kennylai1997

This comment has been minimized.

Copy link

@kennylai1997 kennylai1997 commented Aug 25, 2018

It works on PD12!!!
Thank you very much!!!

@brittanymanuel-cs

This comment has been minimized.

Copy link

@brittanymanuel-cs brittanymanuel-cs commented Aug 30, 2018

Thanks very much, worked for me on Parallels 12 on MacBook Air (2014) with Ubuntu 18.04.

@tiusender

This comment has been minimized.

Copy link

@tiusender tiusender commented Sep 2, 2018

This worked flawlessly, thank you very much!

@tonyb3

This comment has been minimized.

Copy link

@tonyb3 tonyb3 commented Sep 13, 2018

Thanks you so much.

@abizit

This comment has been minimized.

Copy link

@abizit abizit commented Sep 14, 2018

Works like a Charm!!! Thanks !!!

@ajm-asiaa

This comment has been minimized.

Copy link

@ajm-asiaa ajm-asiaa commented Oct 4, 2018

Thank you! It works with Parallels 12 on ubuntu 18.04.

@memset0

This comment has been minimized.

Copy link

@memset0 memset0 commented Oct 27, 2018

thanks

@schwarzeni

This comment has been minimized.

Copy link

@schwarzeni schwarzeni commented Oct 31, 2018

awesome!!!

@mromanelli9

This comment has been minimized.

Copy link

@mromanelli9 mromanelli9 commented Nov 7, 2018

Awesome work!! It worked for me too.
Parallels Desktop 13.1.0 for Mac and Ubuntu 14.04.5

@jklakoff

This comment has been minimized.

Copy link

@jklakoff jklakoff commented Nov 11, 2018

Thank you, rudolfratusinski. This worked perfectly. Thank you for taking the time to document this in a clear and concise manner. This was easy to follow and accomplished exactly what I needed.

@srcdes

This comment has been minimized.

Copy link

@srcdes srcdes commented Nov 13, 2018

AWESOME!

@vampire321

This comment has been minimized.

Copy link

@vampire321 vampire321 commented Nov 29, 2018

THANK YOU! It helps me a lot!

@Zeta611

This comment has been minimized.

Copy link

@Zeta611 Zeta611 commented Dec 16, 2018

Brilliant!

@AbnerZheng

This comment has been minimized.

Copy link

@AbnerZheng AbnerZheng commented Dec 26, 2018

It works! Thank you.

@huynhjabao1997

This comment has been minimized.

Copy link

@huynhjabao1997 huynhjabao1997 commented Jan 4, 2019

Thanks. My Problem has been solved!

@TommyTew

This comment has been minimized.

Copy link

@TommyTew TommyTew commented Jan 26, 2019

THIS MAN IS A GENIUS!!!!!

@wkirkham

This comment has been minimized.

Copy link

@wkirkham wkirkham commented Feb 3, 2019

This solve all of my problems with Parallels and UBUNTU. I was stuck with a small, low resolution window on a large monitor. Reinstalling the Parallel Tools fixed this, plus Dropbox and Google Drive are showing up on the screen.

@mentaluproar

This comment has been minimized.

Copy link

@mentaluproar mentaluproar commented Feb 26, 2019

thaw_timer stuff looks different fro me. The stuff I'm supposed to change from is not what I have on screen.

@thebuunkenator

This comment has been minimized.

Copy link

@thebuunkenator thebuunkenator commented Mar 8, 2019

Thanks!

@zhongshj

This comment has been minimized.

Copy link

@zhongshj zhongshj commented Mar 26, 2019

thanks, it worked on 16.04LTS

@Daksh

This comment has been minimized.

Copy link

@Daksh Daksh commented Mar 31, 2019

Umm, on Ubuntu 18.04LTS; my boot starts failing. No longer am I able to use the system :\

@sm-go-ch

This comment has been minimized.

Copy link

@sm-go-ch sm-go-ch commented Apr 13, 2019

Have the same issue with Parallels 12 and Ubuntu 18.04LTS as "Daksh". System only boots when I use 4.4.* Kernel to start... Is there another incompatible change in the latest 4.15.* Kernel?

@LucaTomei

This comment has been minimized.

Copy link

@LucaTomei LucaTomei commented Apr 18, 2019

For ubuntu 19 prl tools doesn't work, any updates?!??

@marcofariasmx

This comment has been minimized.

Copy link

@marcofariasmx marcofariasmx commented Apr 19, 2019

Same problem here with Ubuntu 19 with kernel 5.0. This fix no longer works. Any ideas? Thanks!

@xiebruce

This comment has been minimized.

Copy link

@xiebruce xiebruce commented Apr 19, 2019

Same problem, I follow your step but Ubuntu 19.04 doesn't work, below is the parallels-tools-install.log

2019-04-18T23:30:21-0700: 

Parallels Tools 14.1.2-45479 Installer started.
2019-04-18T23:30:21-0700: Failed to setup console printk level.
2019-04-18T23:30:27-0700: execCmd: ./installer/pm.sh --check gtools [0]
Started installation of Parallels Guest Tools version '14.1.2.45479'
Error during report about start installation of parallels tools.

Thu Apr 18 23:30:31 PDT 2019
Start installation or upgrade of Guest Tools
new version of parallels tools
Installed Guest Tools were not found
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 (Ubuntu 8.3.0-6ubuntu1) 8.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.0.0-13-generic/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet CC=cc
make[2]: Entering directory '/usr/src/linux-headers-5.0.0-13-generic'
  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/linux-headers-5.0.0-13-generic'
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'
make -C /lib/modules/5.0.0-13-generic/build SUBDIRS=/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.0.0-13-generic'
Makefile:203: ================= WARNING ================
Makefile:204: 'SUBDIRS' will be removed after Linux 5.3
Makefile:205: Please use 'M=' or 'KBUILD_EXTMOD' instead
Makefile:206: ==========================================
  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.
  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/linux-headers-5.0.0-13-generic'
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/5.0.0-13-generic/build M=/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs CC=cc
make[2]: Entering directory '/usr/src/linux-headers-5.0.0-13-generic'
  CC [M]  /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.o
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c: In function 'prlfs_remount':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:119:21: error: 'MS_RDONLY' undeclared (first use in this function); did you mean 'IS_RDONLY'?
  if ( (!((*flags) & MS_RDONLY) && PRLFS_SB(sb)->readonly) ||
                     ^~~~~~~~~
                     IS_RDONLY
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:119:21: note: each undeclared identifier is reported only once for each function it appears in
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:120:21: error: 'MS_MANDLOCK' undeclared (first use in this function); did you mean 'IS_MANDLOCK'?
         ((*flags) & MS_MANDLOCK) )
                     ^~~~~~~~~~~
                     IS_MANDLOCK
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:123:12: error: 'MS_SYNCHRONOUS' undeclared (first use in this function); did you mean 'SB_SYNCHRONOUS'?
  *flags |= MS_SYNCHRONOUS; /* silently don't drop sync flag */
            ^~~~~~~~~~~~~~
            SB_SYNCHRONOUS
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c: In function 'prlfs_fill_super':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:277:17: error: 'MS_NOATIME' undeclared (first use in this function); did you mean 'S_NOATIME'?
  sb->s_flags |= MS_NOATIME | MS_SYNCHRONOUS;
                 ^~~~~~~~~~
                 S_NOATIME
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:277:30: error: 'MS_SYNCHRONOUS' undeclared (first use in this function); did you mean 'SB_SYNCHRONOUS'?
  sb->s_flags |= MS_NOATIME | MS_SYNCHRONOUS;
                              ^~~~~~~~~~~~~~
                              SB_SYNCHRONOUS
make[3]: *** [scripts/Makefile.build:286: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.o] Error 1
make[2]: *** [Makefile:1584: _module_/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.0.0-13-generic'
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs'
make[1]: *** [/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile.v26:13: all] Error 2
make: Leaving directory '/usr/lib/parallels-tools/kmods'
make: *** [Makefile.kmods:52: 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!
2019-04-18T23:30:35-0700: Started installation of Parallels Guest Tools version '14.1.2.45479'
Error during report about start installation of parallels tools.

Thu Apr 18 23:30:31 PDT 2019
Start installation or upgrade of Guest Tools
Makefile:203: ================= WARNING ================
Makefile:204: 'SUBDIRS' will be removed after Linux 5.3
Makefile:205: Please use 'M=' or 'KBUILD_EXTMOD' instead
Makefile:206: ==========================================
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c: In function 'prlfs_remount':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:119:21: error: 'MS_RDONLY' undeclared (first use in this function); did you mean 'IS_RDONLY'?
  if ( (!((*flags) & MS_RDONLY) && PRLFS_SB(sb)->readonly) ||
                     ^~~~~~~~~
                     IS_RDONLY
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:119:21: note: each undeclared identifier is reported only once for each function it appears in
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:120:21: error: 'MS_MANDLOCK' undeclared (first use in this function); did you mean 'IS_MANDLOCK'?
         ((*flags) & MS_MANDLOCK) )
                     ^~~~~~~~~~~
                     IS_MANDLOCK
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:123:12: error: 'MS_SYNCHRONOUS' undeclared (first use in this function); did you mean 'SB_SYNCHRONOUS'?
  *flags |= MS_SYNCHRONOUS; /* silently don't drop sync flag */
            ^~~~~~~~~~~~~~
            SB_SYNCHRONOUS
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c: In function 'prlfs_fill_super':
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:277:17: error: 'MS_NOATIME' undeclared (first use in this function); did you mean 'S_NOATIME'?
  sb->s_flags |= MS_NOATIME | MS_SYNCHRONOUS;
                 ^~~~~~~~~~
                 S_NOATIME
/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:277:30: error: 'MS_SYNCHRONOUS' undeclared (first use in this function); did you mean 'SB_SYNCHRONOUS'?
  sb->s_flags |= MS_NOATIME | MS_SYNCHRONOUS;
                              ^~~~~~~~~~~~~~
                              SB_SYNCHRONOUS
make[3]: *** [scripts/Makefile.build:286: /usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.o] Error 1
make[2]: *** [Makefile:1584: _module_/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs] Error 2
make[1]: *** [/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile.v26:13: all] Error 2
make: *** [Makefile.kmods:52: 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!
2019-04-18T23:30:35-0700: execCmd: ./install --install [167]
2019-04-18T23:30:35-0700: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
2019-04-18T23:30:38-0700: Exiting with code 1
@Kitty2014

This comment has been minimized.

Copy link

@Kitty2014 Kitty2014 commented May 2, 2019

For ubuntu 19 prl tools doesn't work, any updates?!??

@geiraage

This comment has been minimized.

Copy link

@geiraage geiraage commented May 26, 2019

Using P11 Did the instructions

Got this message "An error occurred when installing Parallels Tools. Please go │
│ to /var/log/parallels-tools-install.log for more information."

Here is var/log/parallels-tools-install.log

"""""""""

Parallels Tools 11.2.3-32663 Installer started.
2019-05-26T16:10:26+0200: Failed to setup console printk level.
2019-05-26T16:10:35+0200: execCmd: ./installer/pm.sh --check gtools [0]
Started installation of Parallels Guest Tools version '11.2.3.32663'

sø. 26. mai 16:10:35 +0200 2019
Start installation or upgrade of Guest Tools
new version of parallels tools
Installed Guest Tools were not found
Perform installation into the /usr/lib/parallels-tools directory
cat: /usr/lib/parallels-tools/kmods/../version: No such file or directory
Start installation of prl_eth kernel module
make: Entering directory '/usr/lib/parallels-tools/kmods'
cd prl_eth/pvmnet && make
make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
make -C /lib/modules/4.18.0-20-generic/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet
make[2]: Entering directory '/usr/src/linux-headers-4.18.0-20-generic'
Makefile:970: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
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/linux-headers-4.18.0-20-generic'
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
cd prl_tg/Toolgate/Guest/Linux/prl_tg && make
make[1]: Entering directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
make -C /lib/modules/4.18.0-20-generic/build SUBDIRS=/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg SRCROOT=/usr/lib/paralle
ls-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg modules
make[2]: Entering directory '/usr/src/linux-headers-4.18.0-20-generic'
Makefile:970: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
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 ‘map_user_request’:
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:484:9: error: passing argument 5 of ‘get_user_pages’ from incompatibl
e pointer type [-Werror=incompatible-pointer-types]
uple->p, NULL);
^~~~
In file included from ./include/linux/scatterlist.h:8:0,
from ./include/linux/dmapool.h:14,
from ./include/linux/pci.h:1334,
from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:11:
./include/linux/mm.h:1484:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:481:8: error: too many arguments to function ‘get_user_pages’
got = get_user_pages(
^~~~~~~~~~~~~~
In file included from ./include/linux/scatterlist.h:8:0,
from ./include/linux/dmapool.h:14,
from ./include/linux/pci.h:1334,
from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c:11:
./include/linux/mm.h:1484:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:323: recipe for target '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o' failed
make[3]: *** [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o] Error 1
Makefile:1534: recipe for target 'module/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg' failed
make[2]: *** [module/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.18.0-20-generic'
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Makefile.v26:29: recipe for target 'prl_tg' failed
make[1]: *** [prl_tg] Error 2
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg'
Makefile.kmods:34: recipe for target 'installme' failed
make: *** [installme] Error 2
make: Leaving directory '/usr/lib/parallels-tools/kmods'
Error: could not build kernel modules
Error: failed to install kernel modules
2019-05-26T16:10:40+0200: execCmd: ./install --install [143]
2019-05-26T16:10:40+0200: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more
information.
2019-05-26T16:11:56+0200: Exiting with code 1

@benbrummer

This comment has been minimized.

Copy link

@benbrummer benbrummer commented Jun 4, 2019

@geiraage maybe this helps https://forum.parallels.com/threads/display-mouse-parallel-tools-issue-after-latest-ubuntu-16-04-upgrade.346765/#post-852398

for a system at HostEurope i had to adept it to:
cp -R /media/cdrom/ ~/baremetaltools/
chmod -R 777 ~/baremetaltools/
tar xf ~/baremetaltools/kmods/prl_mod.tar.gz -C ~/baremetaltools/kmods/
vi ~/baremetaltools/installer/install-kmods.sh
comment out line 217
#tar -xzf "$INSTALL_DIR_KMODS/prl_mod.tar.gz" -C "$INSTALL_DIR_KMODS"
add this line
cp -Rf "$KMODS_DIR" "$INSTALL_DIR_KMODS"
vi ~/baremetaltools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h
change line 211
get_user_pages(current, current->mm, _1, _2, _3, 0, _4, _5)
to this
get_user_pages(current, current->mm, _1, _2, _3, _4, _5)
cd ~/baremetaltools
sudo ./install

@kishonadish

This comment has been minimized.

Copy link

@kishonadish kishonadish commented Jun 11, 2019

Thanks ever so! Worked a treat!!

@raintean

This comment has been minimized.

Copy link

@raintean raintean commented Jun 21, 2019

thx, it works!

@farzadso

This comment has been minimized.

Copy link

@farzadso farzadso commented Jun 23, 2019

Thanks, worked for me only on 18.04.1 ... Not on 18.04.2

@dennsporcic

This comment has been minimized.

Copy link

@dennsporcic dennsporcic commented Jul 13, 2019

I have success installing on Ubuntu 19.04 with only one file change.

  • Follow the preparation step as described at top of this page
  • Edit kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c
  • Simply add an extra include
    #include <uapi/linux/mount.h>
  • and run the install script. :) Happy days !
@fcgreg

This comment has been minimized.

Copy link

@fcgreg fcgreg commented Jul 20, 2019

Regarding the update from @dennsporcic -

I have success installing on Ubuntu 19.04 with only one file change.

  • Follow the preparation step as described at top of this page
  • Edit kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c
  • Simply add an extra include
    #include <uapi/linux/mount.h>
  • and run the install script. :) Happy days !

I'm just confirming for everyone that on newer versions of Ubuntu (e.g. 19.04), this single file change is the ONLY change required to get Parallels Tools to install. Ignore the other file modification steps. A few other clarifications:

  • In addition to following the steps in the "Preparation" section, you will also need to follow the steps in the section "We have to modify some files" and later in the section "Zip it back" (e.g. extract the archive prl_mod.tar.gz, modify the "super.c" file, and re-archive the file prl_mod.tar.gz).

Enjoy!

@shred86

This comment has been minimized.

Copy link

@shred86 shred86 commented Aug 11, 2019

Thanks @dennsporcic! That's all I had to update as well to install Ubuntu 19.04 using Parallels 14.

@fefas

This comment has been minimized.

Copy link

@fefas fefas commented Sep 5, 2019

For Ubuntu 18.04, the fix suggested by @dennsporcic and @fcgreg worked just fine. Thanks!

@DrummerKH

This comment has been minimized.

Copy link

@DrummerKH DrummerKH commented Sep 24, 2019

For Ubuntu 18.04, the fix suggested by @dennsporcic worked also, thanks

@heyafei-git

This comment has been minimized.

Copy link

@heyafei-git heyafei-git commented Oct 6, 2019

@dennsporcic thanks!

@Javihache

This comment has been minimized.

Copy link

@Javihache Javihache commented Oct 16, 2019

I have success installing on Ubuntu 19.04 with only one file change.

  • Follow the preparation step as described at top of this page
  • Edit kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c
  • Simply add an extra include
    #include <uapi/linux/mount.h>
  • and run the install script. :) Happy days !

Great thanks a lot!!!

@indapublic

This comment has been minimized.

Copy link

@indapublic indapublic commented Oct 24, 2019

Regarding the update from @dennsporcic -

I have success installing on Ubuntu 19.04 with only one file change.

  • Follow the preparation step as described at top of this page
  • Edit kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c
  • Simply add an extra include
    #include <uapi/linux/mount.h>
  • and run the install script. :) Happy days !

I'm just confirming for everyone that on newer versions of Ubuntu (e.g. 19.04), this single file change is the ONLY change required to get Parallels Tools to install. Ignore the other file modification steps. A few other clarifications:

  • In addition to following the steps in the "Preparation" section, you will also need to follow the steps in the section "We have to modify some files" and later in the section "Zip it back" (e.g. extract the archive prl_mod.tar.gz, modify the "super.c" file, and re-archive the file prl_mod.tar.gz).

Enjoy!

Just modify file without re-archive. Parallels 14, Ubuntu 18.04

@abrahamortiz

This comment has been minimized.

Copy link

@abrahamortiz abrahamortiz commented Oct 27, 2019

I'm having the next log with macOS Catalina 10.15, Parallels 14.0.1 and Ubuntu 18.04.03

019-10-26T23:43:36-0500:

Parallels Tools 14.0.1-45154 Installer started.
2019-10-26T23:43:36-0500: Failed to setup console printk level.
2019-10-26T23:43:42-0500: execCmd: ./installer/pm.sh --check gtools [0]
Started installation of Parallels Guest Tools version '14.0.1.45154'

Error during report about start installation of parallels tools.
Sat Oct 26 23:43:47 CDT 2019
Start installation or upgrade of Guest Tools
new version of parallels tools
Installed Guest Tools were not found
Perform installation into the /usr/lib/parallels-tools directory
tar (child): /usr/lib/parallels-tools/kmods/prl_mod.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
make: Entering directory '/usr/lib/parallels-tools/kmods'
Will use compiler CC="cc".
Compiler version "cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.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.0.0-32-generic/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet CC=cc
make[2]: Entering directory '/usr/src/linux-headers-5.0.0-32-generic'
CC [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:3: error: 'struct ethtool_ops' has no member named 'get_settings'; did you mean 'get_strings'?
.get_settings = pvmnet_get_settings,
^~~~~~~~~~~~
get_strings
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.get_settings = pvmnet_get_settings,
^~~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:28: note: (near initialization for 'pvmnet_ethtool_ops.get_drvinfo')
cc1: some warnings being treated as errors
scripts/Makefile.build:284: recipe for target '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o' failed
make[3]: *** [/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Error 1
Makefile:1614: recipe for target 'module/usr/lib/parallels-tools/kmods/prl_eth/pvmnet' failed
make[2]: *** [module/usr/lib/parallels-tools/kmods/prl_eth/pvmnet] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.0.0-32-generic'
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/Makefile.v26:11: recipe for target 'all' failed
make[1]: Leaving directory '/usr/lib/parallels-tools/kmods/prl_eth/pvmnet'
make[1]: *** [all] Error 2
Makefile.kmods:49: recipe for target 'compile' failed
make: *** [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!
2019-10-26T23:43:48-0500: Started installation of Parallels Guest Tools version '14.0.1.45154'
Error during report about start installation of parallels tools.

Sat Oct 26 23:43:47 CDT 2019
Start installation or upgrade of Guest Tools
tar (child): /usr/lib/parallels-tools/kmods/prl_mod.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:3: error: 'struct ethtool_ops' has no member named 'get_settings'; did you mean 'get_strings'?
.get_settings = pvmnet_get_settings,
^~~~~~~~~~~~
get_strings
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.get_settings = pvmnet_get_settings,
^~~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:28: note: (near initialization for 'pvmnet_ethtool_ops.get_drvinfo')
cc1: some warnings being treated as errors
make[3]: *** [/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Error 1
make[2]: *** [module/usr/lib/parallels-tools/kmods/prl_eth/pvmnet] Error 2
make[1]: *** [all] Error 2
make: *** [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!
2019-10-26T23:43:48-0500: execCmd: ./install --install [167]
2019-10-26T23:43:48-0500: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
2019-10-26T23:44:04-0500: Exiting with code 1

@kkayal

This comment has been minimized.

Copy link

@kkayal kkayal commented Oct 30, 2019

@abrahamortiz: Those errors are related to the gcc compiler version. I installed clang version 9 (default in Ubuntu 19.10) and changed the symbilc link cc from gcc to clang. After that, the guest additions copiled and shared folders worked.

@boy1583

This comment has been minimized.

Copy link

@boy1583 boy1583 commented Nov 17, 2019

If someone also get errors below:

error: ‘struct ethtool_ops’ has no member named ‘get_settings’; did you mean ‘get_strings’

and further error:

/usr/lib/parallels-tools/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c:119:21: error: 'MS_RDONLY' undeclared (first use in this function); did you mean 'IS_RDONLY'?

or something like that:
you can ref these two links to solve:

https://gist.github.com/mag911/1a5583a766467d6023584d738cee0d98

acooks/tn40xx-driver#9

@abderra7mane

This comment has been minimized.

Copy link

@abderra7mane abderra7mane commented Nov 24, 2019

I have success installing on Ubuntu 19.04 with only one file change.

  • Follow the preparation step as described at top of this page
  • Edit kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c
  • Simply add an extra include
    #include <uapi/linux/mount.h>
  • and run the install script. :) Happy days !

Thanks !!!

@AshinTheAnvil

This comment has been minimized.

Copy link

@AshinTheAnvil AshinTheAnvil commented Jun 5, 2020

@dennsporcic I am using a parallels 14.1 with ubuntu 18.04.I followed your steps for installing parallel tools but even though i modify the prl folder,super.c file...the error persists and i am unable to install pls help.

@ronijati

This comment has been minimized.

Copy link

@ronijati ronijati commented Aug 2, 2020

after many times trying various ways including this method and it did not work, finally tried a simple and successful way namely installing Ubuntu from the Parallels desktop program. Don't download the ISO file and install it on Parallels.

@ashleyharvey

This comment has been minimized.

Copy link

@ashleyharvey ashleyharvey commented Aug 31, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.