Parallels Tools install Error on Ubuntu 9.10 Karmic Koala

HaraldK

Bit poster
here we are (again): a new version of Ubuntu is available, installations works like a charm, the ubuntu guest system is up and running and finally the installation of Parallel Tools fails.

a) I know Ubuntu 9.10 is not in the list of supported guest os
b) I have noticed that it always took a v e r y l o n g t i m e until || could fix this issue
but
maybe this time an update can be expected somewhat faster?

Host: Mac OS 10.6.1 + Parallels Desktop 4.0.3846.436356
Guest: Ubuntu 9.10 Karmic Koala

Below is the content of the logfile in /var/log/parallels-tools-install.log:
2009-10-30T13:25:18+0100:

Installer started. Parallels Tools v.4.0-3846.436355.
2009-10-30T13:25:28+0100: execCmd: ./installer/check_selinux.sh 2>&1 [1]
2009-10-30T13:25:28+0100: execCmd: ./installer/pm.sh check 2>&1 [0]

Fre Okt 30 13:25:28 CET 2009
Start installation or upgrade of Guest Tools
Installed Guest Tools were not found
Perform installation into the /usr/lib/parallels-tools directory
Start installation of prl_eth kernel module
make -C /lib/modules/2.6.31-14-generic/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.31-14-generic'
LD /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/built-in.o
CC [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o
In file included from /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/ApiNet.h:21,
from /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmeth.h:11,
from /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:37:
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/ParallelsTypes.h:120:7: warning: "_MSC_VER" is not defined
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c: In function ‘pvmnet_setup’:
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:382: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:383: error: ‘struct net_device’ has no member named ‘get_stats’
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:385: error: ‘struct net_device’ has no member named ‘open’
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:386: error: ‘struct net_device’ has no member named ‘stop’
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:387: error: ‘struct net_device’ has no member named ‘init’
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:389: error: ‘struct net_device’ has no member named ‘set_multicast_list’
make[2]: *** [/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Fehler 1
make[1]: *** [_module_/usr/lib/parallels-tools/kmods/prl_eth/pvmnet] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.31-14-generic'
make: *** [all] Fehler 2
Error: could not build prl_eth kernel module
Error: failed to install kernel modules
2009-10-30T13:25:31+0100: execCmd: ./install --install [143]
2009-10-30T13:25:31+0100: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
 
Me too

I hate t o post things in here that are not solutions, but there doesn't seem to be enough voices for this. Ubuntu 9.10 has been in the testing stage for months now. There is no reason not to have Parallels tools ready for this popular distrobution. I have the same exact error as HaroldK and would appreciate a solution soon.
 
The problem is connected to new removes in kernel 2.6.30. I modified a little bit the sources of Parallels Tools and now they install correctly. It's only a temporary fix...
1) Make executable install file and all files in installer folder;
2) Decompress prl_fs.tar.gz and comment the OWNER part of a structure in file prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c;
3) Decompress prl_eth.tar.gz and edit pvmnet/pvmnet.c with those lines:
static const struct net_device_ops pvmnetOps =
{
.ndo_open = pvmnet_open,
.ndo_stop = pvmnet_close,
.ndo_start_xmit = pvmnet_xmit,
.ndo_get_stats = pvmnet_get_stats,
};

static void pvmnet_setup(struct net_device *dev)
{
ether_setup(dev);

//dev->hard_start_xmit = pvmnet_xmit;
//dev->get_stats = pvmnet_get_stats;
SET_ETHTOOL_OPS(dev, &pvmnet_ethtool_ops);
//dev->open = pvmnet_open;
//dev->stop = pvmnet_close;
//dev->init = pvmnet_init;
dev->destructor = pvmnet_free;
//dev->set_multicast_list = pvmnet_set_multicast_list;
dev->netdev_ops = &pvmnetOps;
}

4) Decompress prl_tg.tar.gz and comment the OWNER part of a structure in file Toolgate/Guest/Linux/prl_tg/prltg.c;
5) Repack all 3 files with new modified files.
That's all. Try "sudo install" in root Parallels Tools folder.
 
This is a temporary solution made by me, collecting things on Web:
1) Decompress 3 tar.gz in kmods forlder;
2) edit pvmnet.c:
static const struct net_device_ops pvmnetOps =
{
.ndo_open = pvmnet_open,
.ndo_stop = pvmnet_close,
.ndo_start_xmit = pvmnet_xmit,
.ndo_get_stats = pvmnet_get_stats,
};

static void pvmnet_setup(struct net_device *dev)
{
ether_setup(dev);

//dev->hard_start_xmit = pvmnet_xmit;
//dev->get_stats = pvmnet_get_stats;
SET_ETHTOOL_OPS(dev, &pvmnet_ethtool_ops);
//dev->open = pvmnet_open;
//dev->stop = pvmnet_close;
//dev->init = pvmnet_init;
dev->destructor = pvmnet_free;
//dev->set_multicast_list = pvmnet_set_multicast_list;
dev->netdev_ops = &pvmnetOps;
}

3) In prl_fs/SharedFolder/Guest/Linux/prl_fs/super.c and Toolgate/Guest/Linux/prl_tg/prltg.c comment OWNER;
4) Repack all files;
5) Make executable all files in installer folder;
6) Launch "sudo install".
Bye
 
Screen Resolution

Hi,

I did patch the code of the parallels tools, and it works almost fine, i.e. the resolution dynamically appears in the "appearance menu".
However, it appears that the ubuntu screen is limited in width. The result is i can fit the screen in height but not in the width. how can i solve the problem ?
 
FrancescoL would you mind posting your entire pvmnet.c file contents? Or, would you kindly reference line numbers that need updating?

-Lance

This is a temporary solution made by me, collecting things on Web:
1) Decompress 3 tar.gz in kmods forlder;
2) edit pvmnet.c:
static const struct net_device_ops pvmnetOps =
{
.ndo_open = pvmnet_open,
.ndo_stop = pvmnet_close,
.ndo_start_xmit = pvmnet_xmit,
.ndo_get_stats = pvmnet_get_stats,
};

static void pvmnet_setup(struct net_device *dev)
{
ether_setup(dev);

//dev->hard_start_xmit = pvmnet_xmit;
//dev->get_stats = pvmnet_get_stats;
SET_ETHTOOL_OPS(dev, &pvmnet_ethtool_ops);
//dev->open = pvmnet_open;
//dev->stop = pvmnet_close;
//dev->init = pvmnet_init;
dev->destructor = pvmnet_free;
//dev->set_multicast_list = pvmnet_set_multicast_list;
dev->netdev_ops = &pvmnetOps;
}

3) In prl_fs/SharedFolder/Guest/Linux/prl_fs/super.c and Toolgate/Guest/Linux/prl_tg/prltg.c comment OWNER;
4) Repack all files;
5) Make executable all files in installer folder;
6) Launch "sudo install".
Bye
 
here we are (again): a new version of Ubuntu is available, installations works like a charm, the ubuntu guest system is up and running and finally the installation of Parallel Tools fails.

No longer - at least for me: got my new (boxed) Parallels Desktop 5 today, started installer, downloaded latest release and installed Build 5.0.9220 - all fine and smooth.

Then I opened my VMs one by one, Win-XP seemed to auto-install them toolz; all Ubuntu Installations required manual installation with downloading some missing parts and it seems the tools were installed correct on any of the VMs.

Here the final lines in the ubuntu 9.10 vm logfile (parallels-tools-install.log)
Parallels Guest Tools were installed successfully!
2009-11-12T15:52:25+0100: Parallels Guest Tools were installed, upgraded or removed successfully!
Please, reboot your OS to finish installation, upgrade or removal of Guest Tools.
 
Solution

I've had the same problem with my Gentoo VM using Parallels Desktop 4 - when I switched to Kernel 2.6.31, I couldn't compile the network driver any more. I've downloaded a trial version of Parallels Desktop 5 and compiled the included network driver. So far, I've had no problems using that driver, despite still running Parallels Desktop 4.
Here's a super quick roundup on how to do it. All these actions happen on the Host = Mac side unless noted otherwise.
  1. Download PD 5 Trial
  2. Mount the disk image, but don't run the installer
  3. In a shell window, copy
    '/Volumes/Parallels Desktop 5/Install.mpkg/Contents/Packages/Parallels Desktop 5.pkg/Contents/Archive.pax.gz' to a place like ~/Desktop/tmp or something
  4. gunzip Archive.pax.gz
  5. I was a bit too lazy to find out the proper options for pax on the command line, so I just double clicked the pax file, and fortunately The Unarchiver was able to open it for me.
  6. The resulting directory containing the contents of Archive.pax is called 'Archive'
  7. Mount Archive/Library/Parallels/Tools/prl-tools-lin.iso by double clicking on it
  8. The sources for Parallels Tools are now in '/Volumes/Parallels Tools/kmods/prl_mod.tar.gz', so copy that file to your hard drive (e.g. again ~/Desktop/tmp)
  9. gunzip & untar that file
  10. the network driver sources are in prl_mod/prl_eth
  11. copy that directory over to the guest, maybe to /usr/src
  12. Now open a shell on the guest system and compile the driver. It should compile cleanly with Kernel 2.6.31. You can tell 'make' where your kernel sources are by using
    Code:
    make KERNEL_DIR=/usr/src/linux-2.6.31-gentoo-r6
 
Last edited:
Back
Top