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

@ArtrezZhao

This comment has been minimized.

Copy link

ArtrezZhao commented May 15, 2018

It works! Many thanks

@innodron

This comment has been minimized.

Copy link

innodron commented May 15, 2018

Worked like a charm. Thanks!

@ghost

This comment has been minimized.

Copy link

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 commented May 16, 2018

Works very well on Kali 2018.2, Thanks Very Much!

@trus0und

This comment has been minimized.

Copy link

trus0und commented May 16, 2018

This worked great for me. Many thanks!!

@PinkFrosty

This comment has been minimized.

Copy link

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 commented May 16, 2018

Works very well, Thank you!!!

@gouez

This comment has been minimized.

Copy link

gouez commented May 16, 2018

thx

@arumel

This comment has been minimized.

Copy link

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 commented May 16, 2018

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

@wpwoodjr

This comment has been minimized.

Copy link

wpwoodjr commented May 17, 2018

Thanks works great on Ubuntu 18.04!

@LinXunFeng

This comment has been minimized.

Copy link

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 commented May 17, 2018

Thanks! Got my mouse back.

@xaljox

This comment has been minimized.

Copy link

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 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 commented May 21, 2018

Thanks!
It's works.

@jakubgg

This comment has been minimized.

Copy link

jakubgg commented May 21, 2018

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

@tuanhuudl

This comment has been minimized.

Copy link

tuanhuudl commented May 21, 2018

Thank! So Much

@SiNaPsEr0x

This comment has been minimized.

Copy link

SiNaPsEr0x commented May 21, 2018

you are a boss!

@Xaositek

This comment has been minimized.

Copy link

Xaositek commented May 21, 2018

Worked like a charm!

@aaronkampmeier

This comment has been minimized.

Copy link

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 commented May 23, 2018

So great, works perfectly. Thanks!

@aleohl

This comment has been minimized.

Copy link

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 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 commented May 26, 2018

Thanks! It works on Kali.

@ntamvl

This comment has been minimized.

Copy link

ntamvl commented May 29, 2018

It works! Thank you so much! <3

@diimdeep

This comment has been minimized.

Copy link

diimdeep commented Jun 10, 2018

Works!

@wudi

This comment has been minimized.

Copy link

wudi commented Jun 13, 2018

It works! 👍

@kishanpatel97

This comment has been minimized.

Copy link

kishanpatel97 commented Jun 16, 2018

Thank you this works!

@vnijs

This comment has been minimized.

Copy link

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 commented Jun 27, 2018

Thank you, Rudolf!

@ghost

This comment has been minimized.

Copy link

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 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 commented Jul 6, 2018

It does not work for Fedora 28.

@stickystyle

This comment has been minimized.

Copy link

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 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 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 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 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 commented Aug 21, 2018

OMG.. Thank you, Man!!!!

@kennylai1997

This comment has been minimized.

Copy link

kennylai1997 commented Aug 25, 2018

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

@brittanymanuel-cs

This comment has been minimized.

Copy link

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 commented Sep 2, 2018

This worked flawlessly, thank you very much!

@tonyb3

This comment has been minimized.

Copy link

tonyb3 commented Sep 13, 2018

Thanks you so much.

@abizit

This comment has been minimized.

Copy link

abizit commented Sep 14, 2018

Works like a Charm!!! Thanks !!!

@ajm-asiaa

This comment has been minimized.

Copy link

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 commented Oct 27, 2018

thanks

@schwarzeni

This comment has been minimized.

Copy link

schwarzeni commented Oct 31, 2018

awesome!!!

@mromanelli9

This comment has been minimized.

Copy link

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 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 commented Nov 13, 2018

AWESOME!

@vampire321

This comment has been minimized.

Copy link

vampire321 commented Nov 29, 2018

THANK YOU! It helps me a lot!

@Zeta611

This comment has been minimized.

Copy link

Zeta611 commented Dec 16, 2018

Brilliant!

@AbnerZheng

This comment has been minimized.

Copy link

AbnerZheng commented Dec 26, 2018

It works! Thank you.

@huynhjabao1997

This comment has been minimized.

Copy link

huynhjabao1997 commented Jan 4, 2019

Thanks. My Problem has been solved!

@TommyTew

This comment has been minimized.

Copy link

TommyTew commented Jan 26, 2019

THIS MAN IS A GENIUS!!!!!

@wkirkham

This comment has been minimized.

Copy link

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 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 commented Mar 8, 2019

Thanks!

@zhongshj

This comment has been minimized.

Copy link

zhongshj commented Mar 26, 2019

thanks, it worked on 16.04LTS

@Daksh

This comment has been minimized.

Copy link

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 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?

@LucaTomei1995

This comment has been minimized.

Copy link

LucaTomei1995 commented Apr 18, 2019

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

@marcofariasmx

This comment has been minimized.

Copy link

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 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 commented May 2, 2019

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

@geiraage

This comment has been minimized.

Copy link

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 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 commented Jun 11, 2019

Thanks ever so! Worked a treat!!

@raintean

This comment has been minimized.

Copy link

raintean commented Jun 21, 2019

thx, it works!

@farzadso

This comment has been minimized.

Copy link

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 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 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 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 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 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 commented Oct 6, 2019

@dennsporcic thanks!

@Javihache

This comment has been minimized.

Copy link

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 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 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 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 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 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 !!!

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.