Parallels VM Tools on Gentoo VM - GCC Install Error

Akytarus

Bit poster
Trying to install Parallel Tools on Gentoo

gcc has an error compiling prl_eth/pvmnet

"/usr/lib64/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'?"

does anyone know what this means?

This use to install fine before I did some package updates...

-- below is the full error on install...

Code:
Started installation of Parallels Guest Tools version '14.0.1.45154'

Sat Jan 5 10:26:34 MST 2019
Start installation or upgrade of Guest Tools
/usr/lib64/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/lib64/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/lib64/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]: *** [scripts/Makefile.build:292: /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Error 1
make[2]: *** [Makefile:1563: _module_/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet] Error 2
make[1]: *** [/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/Makefile.v26:11: all] Error 2
make: *** [Makefile.kmods:49: 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!
 
Trying to install Parallel Tools on Gentoo

gcc has an error compiling prl_eth/pvmnet

"/usr/lib64/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'?"

does anyone know what this means?

This use to install fine before I did some package updates...

-- below is the full error on install...

Code:
Started installation of Parallels Guest Tools version '14.0.1.45154'

Sat Jan 5 10:26:34 MST 2019
Start installation or upgrade of Guest Tools
/usr/lib64/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/lib64/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/lib64/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]: *** [scripts/Makefile.build:292: /usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Error 1
make[2]: *** [Makefile:1563: _module_/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet] Error 2
make[1]: *** [/usr/lib64/parallels-tools/kmods/prl_eth/pvmnet/Makefile.v26:11: all] Error 2
make: *** [Makefile.kmods:49: 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!

I also met the same problem and just fixed it. Hope my solution can help you.
This problem is caused by ethtool deletingthe member variable ".get_settings" of struct ethtool_ops. So we just need to delete ".get_settings = pvmnet_get_settings,".
More specific steps are as follows:

Code:
> cp -r /mnt/cdrom ~/tmp
> cd ~/tmp/kmods
> tar xvf ./prl_mod.tar.gz
> vim prl_eth/pvmnet/pvmnet.c

| and replace the line (or just delete the line)
|------------------------------------------------------------
| 	.get_settings = pvmnet_get_settings,
|------------------------------------------------------------
| with
|------------------------------------------------------------
| #ifndef ETHTOOL_GLINKSETTINGS
| 	.get_settings = pvmnet_get_settings,
| #endif
|------------------------------------------------------------

> tar -zcvf prl_mod.tar.gz ./ dkms.conf Makefile.kmods
> cd ~/tmp
> ./install --install
 
Back
Top