Parallel Tools Fail to Install, amd64, Kernel 3.3.0

Discussion in 'Linux Virtual Machine' started by KirkR, Mar 31, 2012.

  1. KirkR

    KirkR Bit poster

    Messages:
    3
    I have been able to install Parallel Tools in the past.
    Any help on this would be greatly appreciated:
    Code:
    # uname -a
    Linux frigg-gentoo 3.3.0-gentoo #1 SMP Sun Apr 1 07:44:35 WST 2012 x86_64 Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz GenuineIntel GNU/Linux
    I have symlinked /usr/lib to /usr/lib64 -
    Code:
    # ll /usr/lib
    lrwxrwxrwx 1 root root 10 Apr  1 10:54 /usr/lib -> /usr/lib64
    I am using xorg-server 1.11.4
    If anyone knows what has to happen for the tools to install, please post here. Thank you.
    Kirk Holz

    Here's the error log:
    Code:
    Sun Apr  1 10:56:25 WST 2012
    Start installation or upgrade of Guest 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/lib64/parallels-tools/kmods'
    cd prl_eth/pvmnet && make
    make[1]: Entering directory `/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet'
    make -C /lib/modules/3.3.0-gentoo/build M=/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet
    make[2]: Entering directory `/usr/src/linux-3.3.0-gentoo'
      LD      /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/built-in.o
      CC [M]  /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o
    /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:199:2: error: unknown field ‘get_tx_csum’ specified in initializer
    /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:199:28: error: ‘ethtool_op_get_tx_csum’ undeclared here (not in a function)
    /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:200:2: error: unknown field ‘get_sg’ specified in initializer
    /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:200:28: error: ‘ethtool_op_get_sg’ undeclared here (not in a function)
    make[3]: *** [/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Error 1
    make[2]: *** [_module_/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet] Error 2
    make[2]: Leaving directory `/usr/src/linux-3.3.0-gentoo'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet'
    make: *** [all] Error 2
    make: Leaving directory `/usr/lib64/parallels-tools/kmods'
    Error: could not build kernel modules
    Error: failed to install kernel modules
     
    Last edited: Mar 31, 2012
  2. JEarles

    JEarles Hunter

    Messages:
    119
    It looks like Linux 3.3 removed / moved a couple of the members in the ethtool_ops structure: get_tx_csum and get_sg.

    You have two choices:

    1) Wait until Parallels officially supports Linux 3.3
    2) Patch the pvmnet.c code yourself to comment out the setting of those two fields (lines 199 and 200).
     
  3. michaelpft

    michaelpft Bit poster

    Messages:
    3
    Hi,

    We will have to wait for official support, there are still more compilation errors after this one. Looks like kernel 3.3 changed quite a lot of things. I guess it's usual...
     
  4. DRemesov

    DRemesov Bit poster

    Messages:
    7
    These fields in ethtool_ops became deprecated about a year ago
    Also deprecated sysdev device framework was removed by Linus himself in favor of regular device drivers because now there is no driver in kernel using it
    Except parallels tools :) .... so slow :)

    With some edits to parallels kmods and installation procedure it works
    but apparently does not survive sleep/resume, network fails and some networking operations hang
    Works well if host does not sleep
     
    Last edited: Apr 5, 2012
  5. michaelpft

    michaelpft Bit poster

    Messages:
    3
    Do you have any patch available with these edits you're talking about ?

    Maybe if the Parallels Tools development model was more open, these problems could be adressed earlier...
     
  6. DRemesov

    DRemesov Bit poster

    Messages:
    7
    Well, it's dirty hack, it just makes installer not to build prl_pv kmod and removes those deprecated lines in prl_vmnet

    Here is installer patch

    To patch kmods you need to unpack kmods/prl_mod.tar.gz, apply this patch and pack it again

    Or leave it unpacked and change installer script not to unpack this archive

    I'd better stick on 3.2 kernel and wait for official parallels tools
     
  7. JakubL

    JakubL Junior Member

    Messages:
    10
    I've tried Your patch but it does not seem to help.
    But I've managed to patch up my own solution.

    Edit the file: kmods/prl_eth/pvmnet/pvmnet.c
    Change in line 391,
    from:
    .ndo_set_multicast_list = pvmnet_set_multicast_list,
    to:
    .ndo_set_rx_mode = pvmnet_set_multicast_list,

    Repack the prl_mod.tar.gz and launch the installer.
    The install should pass just fine.

    EDIT: Tested on Ubuntu 12.04
    EDIT2: In my case the error was:
    /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:389:4: error: unknown field 'ndo_set_multicast_list' specified in initializer
    /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:389:4: warning: initialization from incompatible pointer type [enabled by default]
    /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:389:4: warning: (near initialization for 'pvmnet_netdev_ops.ndo_open') [enabled by default]
     
    Last edited: Apr 27, 2012
  8. JakubL

    JakubL Junior Member

    Messages:
    10
    I've created a set of two patches for pv_main.c and pvmnet.c
    This patch adds if/else rules for the 3.2 and the 3.3 kernels.
    I've removed those two conflicting lines from pvmnet.c.
    In the pv_main.c I've replaced the include of sysdev.h with device.h and modified the lines to not use the old sysdev structure (only for the 3.3 Kernel).
    If someone can verify if I added the changes correctly I would be grateful (I know it compiles but some parts of logic still remain a little bit unclear). Use at Your own risk :)

    Patch pvmnet.c
    Patch pv_main.c
     
  9. nikotrue

    nikotrue Bit poster

    Messages:
    4
    Hello, unfortunately I can not install the parallels Tools, although I have applied all of the patches. Could put iso working with everything done already? Arch Linux system is 3.10.7-1. Thank you.
     
  10. nikotrue

    nikotrue Bit poster

    Messages:
    4
    Please help me,
    Jakubl tour patch not downloaded, DRemesov your patch don't work....
     
  11. DRemesov

    DRemesov Bit poster

    Messages:
    7
    Hmm, already two years passed since those patches ...
    People, just upgrade PD. Parallel Tools are working fine OOB for a long time already
     

Share This Page