You are not logged in.

#1 2016-02-16 10:07:55

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

[SOLVED] VMWARE workstation 12 version Install

Hello to Archlinux support when i try to install vmware i got this problem

[evgnc@localhost ~]$ sudo vmware-modconfig --console --install-all
[sudo] password for evgnc: 
Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
make: Entering directory '/tmp/modconfig-CGoVbZ/vmmon-only'
Using kernel build system.
/sbin/make -C /lib/modules/4.4.1-2-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/4.4.1-2-ARCH/build'
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/cpuid.o
/tmp/modconfig-CGoVbZ/vmmon-only/linux/driver.c:1283:1: warning: always_inline function might not be inlinable [-Wattributes]
 LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
 ^
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/modconfig-CGoVbZ/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-CGoVbZ/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-CGoVbZ/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/lib/modules/4.4.1-2-ARCH/build'
/sbin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-CGoVbZ/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-CGoVbZ/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory '/tmp/modconfig-CGoVbZ/vmmon-only'
make: Entering directory '/tmp/modconfig-CGoVbZ/vmnet-only'
Using kernel build system.
/sbin/make -C /lib/modules/4.4.1-2-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/4.4.1-2-ARCH/build'
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/netif.o
In file included from include/linux/pci.h:35:0,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/netif.c:43:
include/linux/pci_ids.h:2252:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
In file included from /tmp/modconfig-CGoVbZ/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/netif.c:42:
/tmp/modconfig-CGoVbZ/vmnet-only/vm_device_version.h:56:0: note: this is the location of the previous definition
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-CGoVbZ/vmnet-only/vnetEvent.o
In file included from /tmp/modconfig-CGoVbZ/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:52:
/tmp/modconfig-CGoVbZ/vmnet-only/vm_device_version.h:56:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
In file included from include/linux/pci.h:35:0,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:51:
include/linux/pci_ids.h:2252:0: note: this is the location of the previous definition
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
In file included from /tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:50:0:
/tmp/modconfig-CGoVbZ/vmnet-only/bridge.c: In function ‘VNetBridgeUp’:
/tmp/modconfig-CGoVbZ/vmnet-only/vmnetInt.h:84:40: error: too few arguments to function ‘sk_alloc’
 #   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                        ^
/tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:952:17: note: in expansion of macro ‘compat_sk_alloc’
    bridge->sk = compat_sk_alloc(bridge, GFP_ATOMIC);
                 ^
In file included from /tmp/modconfig-CGoVbZ/vmnet-only/compat_sock.h:23:0,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:35:
include/net/sock.h:1511:14: note: declared here
 struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
              ^
scripts/Makefile.build:258: recipe for target '/tmp/modconfig-CGoVbZ/vmnet-only/bridge.o' failed
make[2]: *** [/tmp/modconfig-CGoVbZ/vmnet-only/bridge.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1384: recipe for target '_module_/tmp/modconfig-CGoVbZ/vmnet-only' failed
make[1]: *** [_module_/tmp/modconfig-CGoVbZ/vmnet-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.4.1-2-ARCH/build'
Makefile:120: recipe for target 'vmnet.ko' failed
make: *** [vmnet.ko] Error 2
make: Leaving directory '/tmp/modconfig-CGoVbZ/vmnet-only'
Unable to install all modules.  See log for details.

READ IT PLEASE: I tried all the stuff that archforum recommend me here and in AUR sources of information search too. Can somebody explain me what's going on here? As i see here is a problem with vmnet.ko

My started services:

 
Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                   failed
   VMware Authentication Daemon                                        done

And build log:

2016-02-16T14:03:58.301+03:00| vthread-4| I125: Invoking modinfo on "vmnet".
2016-02-16T14:03:58.304+03:00| vthread-4| I125: "/sbin/modinfo" exited with status 256.
2016-02-16T14:03:58.683+03:00| vthread-4| I125: Setting destination path for vmnet to "/lib/modules/4.4.1-2-ARCH/misc/vmnet.ko".
2016-02-16T14:03:58.683+03:00| vthread-4| I125: Extracting the vmnet source from "/usr/lib/vmware/modules/source/vmnet.tar".
2016-02-16T14:03:58.687+03:00| vthread-4| I125: Successfully extracted the vmnet source.
2016-02-16T14:03:58.687+03:00| vthread-4| I125: Building module with command "/sbin/make -j4 -C /tmp/modconfig-7FX45Z/vmnet-only auto-build HEADER_DIR=/lib/modules/4.4.1-2-ARCH/build/include CC=/sbin/gcc IS_GCC_3=no"
2016-02-16T14:04:01.148+03:00| vthread-4| W115: Failed to build vmnet.  Failed to execute the build command.

My current kernel version is 4.4.1-2-ARCH
Should i downgrade kernel to < 4.2?

Last edited by me-evgnc (2016-02-16 14:04:36)

Offline

#2 2016-02-16 10:33:05

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: [SOLVED] VMWARE workstation 12 version Install

me-evgnc wrote:
In file included from /tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:50:0:
/tmp/modconfig-CGoVbZ/vmnet-only/bridge.c: In function ‘VNetBridgeUp’:
/tmp/modconfig-CGoVbZ/vmnet-only/vmnetInt.h:84:40: error: too few arguments to function ‘sk_alloc’
 #   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                        ^
/tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:952:17: note: in expansion of macro ‘compat_sk_alloc’
    bridge->sk = compat_sk_alloc(bridge, GFP_ATOMIC);
                 ^
In file included from /tmp/modconfig-CGoVbZ/vmnet-only/compat_sock.h:23:0,
                 from /tmp/modconfig-CGoVbZ/vmnet-only/bridge.c:35:
include/net/sock.h:1511:14: note: declared here
 struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
              ^

I'm not at all familiar with VMWare, but I'd say the issue is related to an error in that header file (vmnetInt.h).
Is the file still there? The error message discards the remaining part of the invocation of sk_alloc on lines 84++ (but I'm going to assume the error message is right).

So... looks like a bug to me, but I can't tell much more without seeing the file in question.


pkgshackscfgblag

Offline

#3 2016-02-16 10:34:04

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

Re: [SOLVED] VMWARE workstation 12 version Install

Yes, i know it's issue with this. Just dont know how to fix it.

Can it help to you? this file: http://collabedit.com/gnhmt wrong file

Last edited by me-evgnc (2016-02-16 13:50:17)

Offline

#4 2016-02-16 10:39:44

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: [SOLVED] VMWARE workstation 12 version Install

Well, you could post the affected lines of vmnetInt.h for a start. didn't hit "preview" smile

And maybe also file a bug report upstream.

EDIT Alright, from a quick glance at the link above, it seems that the said file does not contain anything related to that message on lines 84++. I'm unfortunately out of ideas here.

Last edited by ayekat (2016-02-16 10:46:01)


pkgshackscfgblag

Offline

#5 2016-02-16 10:52:09

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

Re: [SOLVED] VMWARE workstation 12 version Install

Same for me

Offline

#6 2016-02-16 13:42:15

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,858
Website

Re: [SOLVED] VMWARE workstation 12 version Install

That's not the right file, though it is similarly named (vnetInt.h, rather than vmnetInt.h).

In the vmnetInt.h file, you should have the following conditional:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
#   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto, 1)
#elif defined(VMW_NETDEV_HAS_NET)
#   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto)
#else
#   define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif

Whether or not you have to add this yourself, or it was added in an update, I can't remember.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#7 2016-02-16 13:48:34

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

Re: [SOLVED] VMWARE workstation 12 version Install

Yes, i have it

/*********************************************************
 * Copyright (C) 1998 VMware, Inc. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation version 2 and no later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 *
 *********************************************************/

#ifndef __VMNETINT_H__
#define __VMNETINT_H__


#define INCLUDE_ALLOW_MODULE
#include "includeCheck.h"
#include "driver-config.h"


/*
 * Hide all kernel compatibility stuff in those macros.  This part of code
 * is used only when building prebuilt modules, when autoconf code is disabled.
 */

/* All kernels above 2.6.23 have net namespaces. */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24) && !defined(VMW_NETDEV_HAS_NET)
#   define VMW_NETDEV_HAS_NET
#endif

/* All kernels above 2.6.23 have skb argument in nf_hookfn. */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24) && !defined(VMW_NFHOOK_USES_SKB)
#   define VMW_NFHOOK_USES_SKB
#endif

/* All kernels above 2.6.25 have dev_net & friends. */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26) && !defined(VMW_NETDEV_HAS_DEV_NET)
#   define VMW_NETDEV_HAS_DEV_NET
#endif


#ifdef skb_shinfo
#  define SKB_IS_CLONE_OF(clone, skb)   (  \
      skb_shinfo(clone) == skb_shinfo(skb) \
   )
#else
#  define SKB_IS_CLONE_OF(clone, skb)   (      \
      skb_datarefp(clone) == skb_datarefp(skb) \
   )
#endif
#define DEV_QUEUE_XMIT(skb, dev, pri)   (                 \
    (skb)->dev = (dev),                                   \
    (skb)->priority = (pri),                              \
    compat_skb_reset_mac_header(skb),                     \
    compat_skb_set_network_header(skb, sizeof (struct ethhdr)),  \
    dev_queue_xmit(skb)                                   \
  )
#define dev_lock_list()    read_lock(&dev_base_lock)
#define dev_unlock_list()  read_unlock(&dev_base_lock)
#ifdef VMW_NETDEV_HAS_NET
#   define DEV_GET(x)      __dev_get_by_name(&init_net, (x)->name)
#   ifdef VMW_NETDEV_HAS_DEV_NET
#      define compat_dev_net(x) dev_net(x)
#   else
#      define compat_dev_net(x) (x)->nd_net
#   endif
#else
#   define DEV_GET(x)      __dev_get_by_name((x)->name)
#endif


extern struct proto vmnet_proto;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
#   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto, 1)
#elif defined(VMW_NETDEV_HAS_NET)
#   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto)
#else
#   define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif

#ifdef NF_IP_LOCAL_IN
#define VMW_NF_INET_LOCAL_IN     NF_IP_LOCAL_IN
#define VMW_NF_INET_POST_ROUTING NF_IP_POST_ROUTING
#else
#define VMW_NF_INET_LOCAL_IN     NF_INET_LOCAL_IN
#define VMW_NF_INET_POST_ROUTING NF_INET_POST_ROUTING
#endif


#endif /* __VMNETINT_H__ */

what's my next step?

Last edited by me-evgnc (2016-02-16 13:51:57)

Offline

#8 2016-02-16 14:03:27

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

Re: [SOLVED] VMWARE workstation 12 version Install

Solution was here https://communities.vmware.com/thread/5 … 0&tstart=0

Thank you craigacgomez

Now, in vmnetInt.h, this is how sk_alloc is called

extern struct proto vmnet_proto;
#ifdef VMW_NETDEV_HAS_NET
#  define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto)
#else
#  define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif

And for kernel 4.2rc1+, I made this change according to the method signature for sk_alloc in include/net/sock.h [struct sock *sk_alloc(struct net *net, int family, gfp_t priority, struct proto *prot, int kern]

extern struct proto vmnet_proto;
#ifdef VMW_NETDEV_HAS_NET
#  define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto, 1)
#else
#  define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif

Thank you ALL who tried to help me, it really helps me ALOT!

Last edited by me-evgnc (2016-02-16 14:04:13)

Offline

#9 2016-02-16 14:33:16

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,858
Website

Re: [SOLVED] VMWARE workstation 12 version Install

Out of interest, could you post the contents of your /usr/lib/modules/4.4.1-2-ARCH/build/include/generated/uapi/linux/version.h

To clarify, the conditional I posted should check whether your kernel version is equal to, or greater than 4.2.0, and if it is, use the appropriate compat_sk_alloc definition. Your kernel version, for some reason, was being treated as lower than 4.2.0, so it was using the wrong compat_sk_alloc definition.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#10 2016-02-16 18:30:16

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

Re: [SOLVED] VMWARE workstation 12 version Install

yes, i will do it tomorrow in my work.

Offline

#11 2016-02-17 11:19:36

me-evgnc
Member
Registered: 2015-10-22
Posts: 16

Re: [SOLVED] VMWARE workstation 12 version Install

[evgnc@localhost ~]$ cat /usr/lib/modules/4.4.1-2-ARCH/build/include/generated/uapi/linux/version.h
#define LINUX_VERSION_CODE 263169
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

Offline

#12 2016-02-17 11:40:01

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 11,858
Website

Re: [SOLVED] VMWARE workstation 12 version Install

Thanks. That's identical to my own, which has no problem building the modules, so I'm stumped.

Oh well, at least you found a workaround that works for you.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#13 2016-11-24 22:27:09

jiros
Member
From: Abadan, Khuzestan, Iran
Registered: 2013-10-23
Posts: 80

Re: [SOLVED] VMWARE workstation 12 version Install

me-evgnc wrote:

Solution was here https://communities.vmware.com/thread/5 … 0&tstart=0

Thank you craigacgomez

Now, in vmnetInt.h, this is how sk_alloc is called

extern struct proto vmnet_proto;
#ifdef VMW_NETDEV_HAS_NET
#  define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto)
#else
#  define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif

And for kernel 4.2rc1+, I made this change according to the method signature for sk_alloc in include/net/sock.h [struct sock *sk_alloc(struct net *net, int family, gfp_t priority, struct proto *prot, int kern]

extern struct proto vmnet_proto;
#ifdef VMW_NETDEV_HAS_NET
#  define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
                                                PF_NETLINK, _pri, &vmnet_proto, 1)
#else
#  define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif

Thank you ALL who tried to help me, it really helps me ALOT!

same problem now
but what is these codes exactly ?
how should i use this codes ?
where is vmnet-only ?


Freedom of mind with ArchLinux

Offline

Board footer

Powered by FluxBB