Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 488072 - =app-emulation/vmware-modules-271.2 with kernel 3.12 - error: implicit declaration of function ‘vfs_follow_link’
Summary: =app-emulation/vmware-modules-271.2 with kernel 3.12 - error: implicit declar...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Gentoo VMWare Bug Squashers [disabled]
URL: https://git.kernel.org/cgit/linux/ker...
Whiteboard:
Keywords:
: 492670 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-10-14 21:23 UTC by Fabio Rossi
Modified: 2014-06-07 22:46 UTC (History)
13 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch for vmware-modules-279 for kernel-3.12 (279-312.patch,1.19 KB, patch)
2013-11-04 19:07 UTC, Harris Landgarten
Details | Diff
ebuild patch to support kernels 3.11 and 3.12 (vmware-modules_ebuild.patch,675 bytes, patch)
2013-11-29 22:42 UTC, Billy DeVincentis
Details | Diff
3.11 kernel patch (279-3.11.0.patch,2.43 KB, patch)
2013-11-29 22:43 UTC, Billy DeVincentis
Details | Diff
3.12 kernel patch as per rename in new ebuild (279-3.12.0.patch,1.19 KB, patch)
2013-11-29 22:45 UTC, Billy DeVincentis
Details | Diff
279-312.patch (279-312.patch,1.19 KB, patch)
2013-12-25 02:11 UTC, Harris Landgarten
Details | Diff
vmware-3.11.patch (vmware-3.11.patch,2.43 KB, patch)
2013-12-25 02:12 UTC, Harris Landgarten
Details | Diff
A complete-ish gcc-4.8 / kernel 3.12.x compatible vmware overlay (vmware-10.0.1-overlay.tar.gz,30.96 KB, application/gzip)
2014-01-16 19:33 UTC, Greg Turner
Details
vmware-modules-279.1-r1-overlay.tar.gz (vmware-modules-279.1-r1-overlay.tar.gz,14.85 KB, application/gzip)
2014-01-16 22:52 UTC, Greg Turner
Details
gentoo sources 3.12.7 config (gentoo-3.12.7-config,65.27 KB, text/plain)
2014-01-19 03:37 UTC, John
Details
Vmware Modules 279.1 build log. (vmware-modules-279.1-build.log,15.51 KB, text/x-log)
2014-01-20 01:06 UTC, John
Details
Vmware Modules test, merge log (vmware-modules-279.1-test_merge.log,19.23 KB, text/x-log)
2014-01-20 01:06 UTC, John
Details
vmware-modules-279.1-r1-overlaylet.tar.xz (vmware-modules-279.1-r1-overlaylet.tar.xz,13.33 KB, application/x-xz)
2014-02-10 02:42 UTC, Greg Turner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabio Rossi 2013-10-14 21:23:26 UTC
vmware-modules-271.2 building fails with next kernel release 3.12:

/var/tmp/portage/app-emulation/vmware-modules-271.2/work/vmblock-only/linux/inode.c: In function ‘InodeOpFollowlink’:
/var/tmp/portage/app-emulation/vmware-modules-271.2/work/vmblock-only/linux/inode.c:224:4: error: implicit declaration of function ‘vfs_follow_link’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[3]: *** [/var/tmp/portage/app-emulation/vmware-modules-271.2/work/vmblock-only/linux/inode.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/var/tmp/portage/app-emulation/vmware-modules-271.2/work/vmblock-only/linux/control.c: In function ‘ExecuteBlockOp’:
/var/tmp/portage/app-emulation/vmware-modules-271.2/work/vmblock-only/linux/control.c:285:9: warning: assignment from incompatible pointer type [enabled by default]
make[2]: *** [_module_/var/tmp/portage/app-emulation/vmware-modules-271.2/work/vmblock-only] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/wireless-testing'
make: *** [vmblock.ko] Error 2

The vfs_follow_link function has been removed: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4aa32895c3f924c34b9275ca28be534a8a0c624b
Comment 1 Fabio Rossi 2013-10-21 19:27:01 UTC
same problem also with vmware-modules-279.0
Comment 2 Harris Landgarten 2013-11-04 19:07:23 UTC
Created attachment 362588 [details, diff]
patch for vmware-modules-279 for kernel-3.12

This works to me on vmware-workstation-10 with gentoo-sources-3.12
Comment 3 Sven 2013-11-05 13:53:10 UTC
(In reply to Harris Landgarten from comment #2)
> Created attachment 362588 [details, diff] [details, diff]
> patch for vmware-modules-279 for kernel-3.12
> 
> This works to me on vmware-workstation-10 with gentoo-sources-3.12

Copied the patch to /etc/portage/patches/app-emulation/vmware-modules (in addition to the patches from Bugs 462666 and Bug 483410) and it's working like a charm.
Comment 4 Fabio Rossi 2013-11-16 15:25:48 UTC
tested, thanks!
Comment 5 Billy DeVincentis 2013-11-29 22:42:45 UTC
Created attachment 364234 [details, diff]
ebuild patch to support kernels 3.11 and 3.12

Here is an update to the current ebuild to add support for kernels 3.11 and 3.12
Comment 6 Billy DeVincentis 2013-11-29 22:43:39 UTC
Created attachment 364236 [details, diff]
3.11 kernel patch
Comment 7 Billy DeVincentis 2013-11-29 22:45:11 UTC
Created attachment 364238 [details, diff]
3.12 kernel patch as per rename in new ebuild

Same patch as is previously submitted but renamed for consistency with previous kernel patch
Comment 8 vice 2013-12-25 01:41:45 UTC
Tried the patch with pf-sources-3.12.4 , gentoo-sources-3.12.6 and zen-sources-3.12.99 (=3.12.6). I've got an ERROR with each of these sources. 
-> The patch doesnt work with the latest kernel sources.
Comment 9 Harris Landgarten 2013-12-25 02:10:11 UTC
assuming you are running vmware-workstation-10 you should be using vmware-modules-279.1 with 279-312.patch and vmware-3.11.patch

I will post both patches which should be put in /etc/portage/patches/app-emulation/vmware-modules
Comment 10 Harris Landgarten 2013-12-25 02:11:54 UTC
Created attachment 366130 [details, diff]
279-312.patch
Comment 11 Harris Landgarten 2013-12-25 02:12:51 UTC
Created attachment 366132 [details, diff]
vmware-3.11.patch
Comment 12 vice 2013-12-26 03:09:45 UTC
I added the patches from Harris Landgarten and removed all previous patches. 
I was able to emerge vmware-modules. Thank you Harris.
Comment 13 Ben Kohler gentoo-dev 2013-12-26 15:36:36 UTC
*** Bug 492670 has been marked as a duplicate of this bug. ***
Comment 14 Greg Turner 2014-01-16 19:33:39 UTC
Created attachment 367966 [details]
A complete-ish gcc-4.8 / kernel 3.12.x compatible vmware overlay

Here's a pseudo-complete overlay that contains most of the stuff above and also fixes some gcc-4.8 incompatibilities I found.

Rather than use vmci and vsock from the workstation distribution, I've opted in this version to just require 3.12.x users to use the in-kernel vmw_vmci and vsock modules.  Unfortunately, this requires a bump to the vmware-workstation-provided init-script.  Since it would have resulted in a ton of fussy files and patches I instead opted to bundle it all into a tarball that could be dropped into an overlay.

Unfortunately, I still don't think everything is quite right with it.  I'm seeing some wierd pauses and kernel traces like:

[63782.437593] BUG: sleeping function called from invalid context at kernel/mutex.c:96
[63782.437597] in_atomic(): 1, irqs_disabled(): 0, pid: 7983, name: vmx-vcpu-1
[63782.437599] CPU: 3 PID: 7983 Comm: vmx-vcpu-1 Tainted: G           O 3.12.7-gentoo-gmt-00 #4
[63782.437601] Hardware name: To be filled by O.E.M. To be filled by O.E.M./SABERTOOTH 990FX/GEN3 R2.0, BIOS 2005 09/16/2013
[63782.437602]  ffff88080e3fcd00 ffff880523239c48 ffffffff817b6e3e ffff880091365018
[63782.437606]  ffff880523239c58 ffffffff81078e0f ffff880523239c70 ffffffff817baf30
[63782.437608]  ffff880563ee4720 ffff880523239ca8 ffffffffa02eba99 0000000000000000
[63782.437611] Call Trace:
[63782.437617]  [<ffffffff817b6e3e>] dump_stack+0x4e/0x82
[63782.437621]  [<ffffffff81078e0f>] __might_sleep+0xdf/0x100
[63782.437623]  [<ffffffff817baf30>] mutex_lock+0x20/0x40
[63782.437629]  [<ffffffffa02eba99>] vmci_qpair_consume_buf_ready+0x69/0xc0 [vmw_vmci]
[63782.437632]  [<ffffffffa00db729>] vmci_transport_stream_has_data+0x19/0x20 [vmw_vsock_vmci_transport]
[63782.437635]  [<ffffffffa01b90b3>] vsock_stream_has_data+0x13/0x20 [vsock]
[63782.437637]  [<ffffffffa00dc117>] vmci_transport_handle_detach+0x37/0x80 [vmw_vsock_vmci_transport]
[63782.437639]  [<ffffffffa00dc1ea>] vmci_transport_peer_detach_cb+0x8a/0x90 [vmw_vsock_vmci_transport]
[63782.437642]  [<ffffffffa02e7a9c>] vmci_event_dispatch+0x6c/0xa0 [vmw_vmci]
[63782.437645]  [<ffffffffa02e6c6d>] vmci_datagram_dispatch+0x31d/0x380 [vmw_vmci]
[63782.437648]  [<ffffffffa02e9f86>] qp_notify_peer+0xc6/0xf0 [vmw_vmci]
[63782.437651]  [<ffffffffa02eceb5>] vmci_qp_broker_detach+0x2e5/0x3e0 [vmw_vmci]
[63782.437653]  [<ffffffffa02e910f>] vmci_host_unlocked_ioctl+0x21f/0xbb0 [vmw_vmci]
[63782.437657]  [<ffffffff81451c65>] ? __percpu_counter_add+0x75/0xc0
[63782.437661]  [<ffffffff811b1bd3>] ? eventfd_ctx_read+0x1b3/0x220
[63782.437664]  [<ffffffff8117af3d>] do_vfs_ioctl+0x2ed/0x510
[63782.437666]  [<ffffffff81184f37>] ? fget_light+0x97/0xf0
[63782.437668]  [<ffffffff8117b1b0>] SyS_ioctl+0x50/0x90
[63782.437671]  [<ffffffff817beb66>] system_call_fastpath+0x1a/0x1f

but it almost works :/

It may be the case that things will work better if it's changed only to use the vsock module and not the vsock_vmci_transport thingy.  Can't say I'm particularly keen to invest a ton of low-level debugging time getting to the bottom of it, but maybe somebody else will know what's wrong?

Also, technically I haven't tested this version of the init script.  The only thing that changed from that version to the one I tested was the order of the modules in the call to modprobe so I very much doubt it will be a problem, but I'll need to reboot before I can confirm it all works.
Comment 15 Greg Turner 2014-01-16 20:13:37 UTC
(In reply to Greg Turner from comment #14)
> Created attachment 367966 [details]
> A complete-ish gcc-4.8 / kernel 3.12.x compatible vmware overlay
> 
> Here's a pseudo-complete overlay that contains most of the stuff above and
> also fixes some gcc-4.8 incompatibilities I found.
> 
> Rather than use vmci and vsock from the workstation distribution, I've opted
> in this version to just require 3.12.x users to use the in-kernel vmw_vmci
> and vsock modules.  Unfortunately, this requires a bump to the
> vmware-workstation-provided init-script.  Since it would have resulted in a
> ton of fussy files and patches I instead opted to bundle it all into a
> tarball that could be dropped into an overlay.
> 
> Unfortunately, I still don't think everything is quite right with it.  I'm
> seeing some wierd pauses and kernel traces like:
> 
> [63782.437593] BUG: sleeping function called from invalid context at
> kernel/mutex.c:96
> [63782.437597] in_atomic(): 1, irqs_disabled(): 0, pid: 7983, name:
> vmx-vcpu-1
> [63782.437599] CPU: 3 PID: 7983 Comm: vmx-vcpu-1 Tainted: G           O
> 3.12.7-gentoo-gmt-00 #4
> [63782.437601] Hardware name: To be filled by O.E.M. To be filled by
> O.E.M./SABERTOOTH 990FX/GEN3 R2.0, BIOS 2005 09/16/2013
> [63782.437602]  ffff88080e3fcd00 ffff880523239c48 ffffffff817b6e3e
> ffff880091365018
> [63782.437606]  ffff880523239c58 ffffffff81078e0f ffff880523239c70
> ffffffff817baf30
> [63782.437608]  ffff880563ee4720 ffff880523239ca8 ffffffffa02eba99
> 0000000000000000
> [63782.437611] Call Trace:
> [63782.437617]  [<ffffffff817b6e3e>] dump_stack+0x4e/0x82
> [63782.437621]  [<ffffffff81078e0f>] __might_sleep+0xdf/0x100
> [63782.437623]  [<ffffffff817baf30>] mutex_lock+0x20/0x40
> [63782.437629]  [<ffffffffa02eba99>] vmci_qpair_consume_buf_ready+0x69/0xc0
> [vmw_vmci]
> [63782.437632]  [<ffffffffa00db729>]
> vmci_transport_stream_has_data+0x19/0x20 [vmw_vsock_vmci_transport]
> [63782.437635]  [<ffffffffa01b90b3>] vsock_stream_has_data+0x13/0x20 [vsock]
> [63782.437637]  [<ffffffffa00dc117>] vmci_transport_handle_detach+0x37/0x80
> [vmw_vsock_vmci_transport]
> [63782.437639]  [<ffffffffa00dc1ea>] vmci_transport_peer_detach_cb+0x8a/0x90
> [vmw_vsock_vmci_transport]
> [63782.437642]  [<ffffffffa02e7a9c>] vmci_event_dispatch+0x6c/0xa0 [vmw_vmci]
> [63782.437645]  [<ffffffffa02e6c6d>] vmci_datagram_dispatch+0x31d/0x380
> [vmw_vmci]
> [63782.437648]  [<ffffffffa02e9f86>] qp_notify_peer+0xc6/0xf0 [vmw_vmci]
> [63782.437651]  [<ffffffffa02eceb5>] vmci_qp_broker_detach+0x2e5/0x3e0
> [vmw_vmci]
> [63782.437653]  [<ffffffffa02e910f>] vmci_host_unlocked_ioctl+0x21f/0xbb0
> [vmw_vmci]
> [63782.437657]  [<ffffffff81451c65>] ? __percpu_counter_add+0x75/0xc0
> [63782.437661]  [<ffffffff811b1bd3>] ? eventfd_ctx_read+0x1b3/0x220
> [63782.437664]  [<ffffffff8117af3d>] do_vfs_ioctl+0x2ed/0x510
> [63782.437666]  [<ffffffff81184f37>] ? fget_light+0x97/0xf0
> [63782.437668]  [<ffffffff8117b1b0>] SyS_ioctl+0x50/0x90
> [63782.437671]  [<ffffffff817beb66>] system_call_fastpath+0x1a/0x1f
> 
> but it almost works :/
> 
> It may be the case that things will work better if it's changed only to use
> the vsock module and not the vsock_vmci_transport thingy.  Can't say I'm
> particularly keen to invest a ton of low-level debugging time getting to the
> bottom of it, but maybe somebody else will know what's wrong?
> 
> Also, technically I haven't tested this version of the init script.  The
> only thing that changed from that version to the one I tested was the order
> of the modules in the call to modprobe so I very much doubt it will be a
> problem, but I'll need to reboot before I can confirm it all works.

Actually I think I figured out vsock/vmci, now... not sure why I was having such a hard time with it before. I'll have an updated tarball in the near future...
Comment 16 Greg Turner 2014-01-16 22:52:38 UTC
Created attachment 367970 [details]
vmware-modules-279.1-r1-overlay.tar.gz

Here's an updated overlay-format archive, this time without vmware-workstation included.

This time I got it all to work without relying on the in-source kernel modules.  Everything seems fine, with this version, I think.

(As fine as it's going to get on my system, I suspect -- I still see freezes but they seem to pertain to a 3d-graphics conflict between a particular VM I have, 3d acceleration, and my bleeding-edge radeon drivers).
Comment 17 John 2014-01-19 01:57:18 UTC
(In reply to Greg Turner from comment #16)
> Created attachment 367970 [details]
> vmware-modules-279.1-r1-overlay.tar.gz
> 
> Here's an updated overlay-format archive, this time without
> vmware-workstation included.
> 
> This time I got it all to work without relying on the in-source kernel
> modules.  Everything seems fine, with this version, I think.
> 
> (As fine as it's going to get on my system, I suspect -- I still see freezes
> but they seem to pertain to a 3d-graphics conflict between a particular VM I
> have, 3d acceleration, and my bleeding-edge radeon drivers).

I've just given this a try and vmware-modules still craps out on me with vmmon.ko.

Any suggestion by chance?

If you need more info, let me know, thanks.

Build log:

make[1]: Leaving directory '/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmci-only'
cp -f vmci.ko ./../vmci.o
 * Preparing vmmon module
make HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= auto-build KERNEL_DIR=/usr/src/linux KBUILD_OUTPUT=/lib/modules/3.12.7-gentoo/build 
Using 2.6.x kernel build system.
make -C /lib/modules/3.12.7-gentoo/build SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/Source/linux-3.12.7-gentoo'
  CC [M]  /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driverLog.o
  CC [M]  /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.o
/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.c:1252:4: error: too many arguments to function ‘smp_call_function’
    compat_smp_call_function(LinuxDriverSyncCallHook, &args, 0);
    ^
In file included from /Source/linux-3.12.7-gentoo/include/linux/percpu.h:5:0,
                 from /Source/linux-3.12.7-gentoo/include/linux/percpu-rwsem.h:6,
                 from /Source/linux-3.12.7-gentoo/include/linux/fs.h:30,
                 from /Source/linux-3.12.7-gentoo/include/linux/highmem.h:4,
                 from /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.c:25:
/Source/linux-3.12.7-gentoo/include/linux/smp.h:94:5: note: declared here
 int smp_call_function(smp_call_func_t func, void *info, int wait);
     ^
/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.c: At top level:
/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.c:1342:1: warning: always_inline function might not be inlinable [-Wattributes]
 LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
 ^
/Source/linux-3.12.7-gentoo/scripts/Makefile.build:308: recipe for target '/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.o' failed
make[3]: *** [/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/driver.o] Error 1
/Source/linux-3.12.7-gentoo/Makefile:1228: recipe for target '_module_/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only' failed
make[2]: *** [_module_/Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only] Error 2
Makefile:130: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/Source/linux-3.12.7-gentoo'
Makefile:130: recipe for target 'vmmon.ko' failed
make: *** [vmmon.ko] Error 2
 * ERROR: app-emulation/vmware-modules-279.1-r1 failed (compile phase):


Portage 2.3.6-r5 (funtoo/1.0/linux-gnu/arch/x86-64bit, gcc-4.8.1, glibc-2.18, 3.12.7-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.12.7-gentoo-x86_64-AMD_FX-tm-8150_Eight-Core_Processor-with-gentoo-2.2.0
KiB Mem:    16374136 total,  14446836 free
KiB Swap:   16777208 total,  16777208 free
Timestamp of tree: Unknown
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45-r1
dev-java/java-config:     2.2.0-r1000
dev-lang/python:          2.7.6-r1000, 3.2.5-r1000, 3.3.3-r1000
dev-util/cmake:           2.8.12.1-r3
sys-apps/baselayout:      2.2.0-r4
sys-apps/openrc:          0.12.3-r1
sys-apps/sandbox:         2.6-r2
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.8.1-r3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.18
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE MakeMKV-EULA skype-eula PUEL Nero-EULA-US dlj-1.1 AdobeFlash-10.1 AdobeFlash-10.3 AdobeFlash-11.x googleearth google-talkplugin google-chrome"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -march=bdver1 -mtune=bdver1 -mcx16 -msahf -maes -mpclmul -mpopcnt -mabm -mavx"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=bdver1 -mtune=bdver1 -mcx16 -msahf -maes -mpclmul -mpopcnt -mabm -mavx"
DISTDIR="/Files/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS=""
GENTOO_MIRRORS="ftp://mirrors.rit.edu/gentoo http://mirror.csclub.uwaterloo.ca/gentoo-distfiles ftp://ftp.gtlib.gatech.edu/pub/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
LINGUAS="en en_US"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_TMPDIR="/Build"
PORTDIR="/Portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
SYNC_USER="root"
USE="X a52 aac aalib acl acpi alsa amd64 apng aspell bash-completion berkdb bitmap bzip2 cdda cddb cdparanoia cdr cleartype consolekit corefonts cracklib crypt cups curl cxx dbus declarative desktopglobe dga dirac djvu dts dv dvd dvdr dvdread encode exif expat fam fbcon ffmpeg flac fontconfig fortran ftp gd gdbm geoip ggi gif gmp gnuplot google-gadgets gphoto2 gps gtk hal iconv icu imagemagick imlib inotify introspection ipod java jbig jpeg jpeg2k justify kde kdeenablefinal kipi lame lcms libcaca libnotify lm_sensors lzma lzo mad matroska mmx mmxext mng modules mp3 mp3rtp mpeg mpi mtrr mudflap multilib ncurses nls nptl nsplugin ogg openal openexr opengl openmp oss pam pch pcre pdf plotutils png policykit postgres postscript pppd python qalculate qt3support qt4 qwt raw readline realtime resolvconf scanner sdl semantic-desktop slang smp sndfile soup sox spell sql sqlite sse sse2 sse4_1 sse4_2 sse4a ssl ssse3 startup-notification stream svg svm taglib tcl tcpd theora threads tiff tk truetype twolame type1 udev udisks unicode usb vdpau vorbis wavpack webkit win32codecs wmf xattr xcomposite xml xmp xorg xscreensaver xv zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel ice1724 intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias authn_core authz_core socache_shmcb unixd" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="nikon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="bash resume" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_ABIS="2.7 3.2 3.3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, SYNC_UMASK
Comment 18 Greg Turner 2014-01-19 03:09:01 UTC
> I've just given this a try and vmware-modules still craps out on me with
> vmmon.ko.
> 
> Any suggestion by chance?
> 
[snip]
> /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
> /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> driver.c:1252:4: error: too many arguments to function ‘smp_call_function’
>     compat_smp_call_function(LinuxDriverSyncCallHook, &args, 0);
>     ^
> In file included from /Source/linux-3.12.7-gentoo/include/linux/percpu.h:5:0,
>                  from
> /Source/linux-3.12.7-gentoo/include/linux/percpu-rwsem.h:6,
>                  from /Source/linux-3.12.7-gentoo/include/linux/fs.h:30,
>                  from /Source/linux-3.12.7-gentoo/include/linux/highmem.h:4,
>                  from
> /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> driver.c:25:
> /Source/linux-3.12.7-gentoo/include/linux/smp.h:94:5: note: declared here
>  int smp_call_function(smp_call_func_t func, void *info, int wait);
>      ^

This rings a bell. I can't quite remember what it was, but I think -- maybe -- I had this problem as well, and I had to change my kernel config to solve it.  I could be making this up, though.  Anyhow, could you post your .config?  I'll diff yours and mine and we'll see who's is bigger.

No, wait, that's wrong.  What I meant to say was: we'll see if I can't remember and/or O(log-n) regression-test the differences until I discover the culprit :)
Comment 19 John 2014-01-19 03:37:21 UTC
Created attachment 368130 [details]
gentoo sources 3.12.7 config
Comment 20 John 2014-01-19 03:38:33 UTC
(In reply to Greg Turner from comment #18)
> > I've just given this a try and vmware-modules still craps out on me with
> > vmmon.ko.
> > 
> > Any suggestion by chance?
> > 
> [snip]
> > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
> > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > driver.c:1252:4: error: too many arguments to function ‘smp_call_function’
> >     compat_smp_call_function(LinuxDriverSyncCallHook, &args, 0);
> >     ^
> > In file included from /Source/linux-3.12.7-gentoo/include/linux/percpu.h:5:0,
> >                  from
> > /Source/linux-3.12.7-gentoo/include/linux/percpu-rwsem.h:6,
> >                  from /Source/linux-3.12.7-gentoo/include/linux/fs.h:30,
> >                  from /Source/linux-3.12.7-gentoo/include/linux/highmem.h:4,
> >                  from
> > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > driver.c:25:
> > /Source/linux-3.12.7-gentoo/include/linux/smp.h:94:5: note: declared here
> >  int smp_call_function(smp_call_func_t func, void *info, int wait);
> >      ^
> 
> This rings a bell. I can't quite remember what it was, but I think -- maybe
> -- I had this problem as well, and I had to change my kernel config to solve
> it.  I could be making this up, though.  Anyhow, could you post your
> .config?  I'll diff yours and mine and we'll see who's is bigger.
> 
> No, wait, that's wrong.  What I meant to say was: we'll see if I can't
> remember and/or O(log-n) regression-test the differences until I discover
> the culprit :)


That would be great, thanks!
Comment 21 Greg Turner 2014-01-19 09:00:11 UTC
(In reply to John from comment #20)
> > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
> > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > driver.c:1252:4: error: too many arguments to function ‘smp_call_function’
> > >     compat_smp_call_function(LinuxDriverSyncCallHook, &args, 0);
> > >     ^
> > > In file included from /Source/linux-3.12.7-gentoo/include/linux/percpu.h:5:0,
> > >                  from
> > > /Source/linux-3.12.7-gentoo/include/linux/percpu-rwsem.h:6,
> > >                  from /Source/linux-3.12.7-gentoo/include/linux/fs.h:30,
> > >                  from /Source/linux-3.12.7-gentoo/include/linux/highmem.h:4,
> > >                  from
> > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > driver.c:25:
> > > /Source/linux-3.12.7-gentoo/include/linux/smp.h:94:5: note: declared here
> > >  int smp_call_function(smp_call_func_t func, void *info, int wait);

Wierd -- I can't reproduce, even after I configure/compile/install your kernel version instead of mine.

You may be sick of hearing this question every time you file bug reports, but perhaps this is related, somehow, to your nonstandard file-system layout?

Do /usr/src/linux, /Source/linux-3.12.7-gentoo and /lib/modules/3.12.7-gentoo/build all point to the same thing?  Do they use relative or absolute symlinks?  mine look like:

# ls -ld /lib/modules/3.12.7-gentoo-gmt-00 /usr/src/linux   
drwxr-xr-x 3 root root 4096 Jan 19 00:47 /lib/modules/3.12.7-gentoo-gmt-00
lrwxrwxrwx 1 root root   19 Jan 15 12:43 /usr/src/linux -> linux-3.12.7-gentoo

Are you running that kernel, exactly, or some other kernel?  This ebuild, and VMWare's module building "framework" in general, have always been quite fussy about things like that.  You might try nuking /lib/modules/3.12.7-gentoo entirely, and then manually running make modules_install from /usr/src/linux just to be sure they are all the same.
Comment 22 John 2014-01-20 01:06:05 UTC
Created attachment 368206 [details]
Vmware Modules 279.1 build log.

> Wierd -- I can't reproduce, even after I configure/compile/install your
> kernel version instead of mine.
>
> You may be sick of hearing this question every time you file bug reports,
> but perhaps this is related, somehow, to your nonstandard file-system layout?
>
> Do /usr/src/linux, /Source/linux-3.12.7-gentoo and
> /lib/modules/3.12.7-gentoo/build all point to the same thing?  Do they use
> relative or absolute symlinks?  mine look like:
>
> # ls -ld /lib/modules/3.12.7-gentoo-gmt-00 /usr/src/linux
> drwxr-xr-x 3 root root 4096 Jan 19 00:47 /lib/modules/3.12.7-gentoo-gmt-00
> lrwxrwxrwx 1 root root   19 Jan 15 12:43 /usr/src/linux ->
> linux-3.12.7-gentoo
>
> Are you running that kernel, exactly, or some other kernel?  This ebuild,
> and VMWare's module building "framework" in general, have always been quite
> fussy about things like that.  You might try nuking
> /lib/modules/3.12.7-gentoo entirely, and then manually running make
> modules_install from /usr/src/linux just to be sure they are all the same.

The weirdness continues. All the directories check out and point to the same spot. Now for the odd (stupid). When I "ebuild configure" then go into each of the modules directories, I can compile each module with no problems. (see attached)

Then when i go back and run "ebuild vmware-modules-279.1.ebuild (test or install or merge) it error's out with vmmon modules once again. (2nd attachment "test" log)
Comment 23 John 2014-01-20 01:06:45 UTC
Created attachment 368208 [details]
Vmware Modules test, merge log
Comment 24 John 2014-01-20 01:21:07 UTC
(In reply to Greg Turner from comment #21)
> (In reply to John from comment #20)
> > > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > > driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
> > > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > > driver.c:1252:4: error: too many arguments to function ‘smp_call_function’
> > > >     compat_smp_call_function(LinuxDriverSyncCallHook, &args, 0);
> > > >     ^
> > > > In file included from /Source/linux-3.12.7-gentoo/include/linux/percpu.h:5:0,
> > > >                  from
> > > > /Source/linux-3.12.7-gentoo/include/linux/percpu-rwsem.h:6,
> > > >                  from /Source/linux-3.12.7-gentoo/include/linux/fs.h:30,
> > > >                  from /Source/linux-3.12.7-gentoo/include/linux/highmem.h:4,
> > > >                  from
> > > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > > driver.c:25:
> > > > /Source/linux-3.12.7-gentoo/include/linux/smp.h:94:5: note: declared here
> > > >  int smp_call_function(smp_call_func_t func, void *info, int wait);
> 
> Wierd -- I can't reproduce, even after I configure/compile/install your
> kernel version instead of mine.
> 
> You may be sick of hearing this question every time you file bug reports,
> but perhaps this is related, somehow, to your nonstandard file-system layout?
> 
> Do /usr/src/linux, /Source/linux-3.12.7-gentoo and
> /lib/modules/3.12.7-gentoo/build all point to the same thing?  Do they use
> relative or absolute symlinks?  mine look like:
> 
> # ls -ld /lib/modules/3.12.7-gentoo-gmt-00 /usr/src/linux   
> drwxr-xr-x 3 root root 4096 Jan 19 00:47 /lib/modules/3.12.7-gentoo-gmt-00
> lrwxrwxrwx 1 root root   19 Jan 15 12:43 /usr/src/linux ->
> linux-3.12.7-gentoo
> 
> Are you running that kernel, exactly, or some other kernel?  This ebuild,
> and VMWare's module building "framework" in general, have always been quite
> fussy about things like that.  You might try nuking
> /lib/modules/3.12.7-gentoo entirely, and then manually running make
> modules_install from /usr/src/linux just to be sure they are all the same.

For completeness sake:
tripled portage # ls -ld /lib/modules/3.12.7-gentoo/build /usr/src/linux /usr/src
lrwxrwxrwx 1 root root 27 Jan 19 17:16 /lib/modules/3.12.7-gentoo/build -> /Source/linux-3.12.7-gentoo
lrwxrwxrwx 1 root root  7 Jan 11 13:04 /usr/src -> /Source
lrwxrwxrwx 1 root root 19 Jan 17 18:23 /usr/src/linux -> linux-3.12.7-gentoo

I also removed the /lib/modules/3.12.7-gentoo folder and recompiled the kernel and modules once again. This is a fresh install from Jan. 11, 2014 onto a blank ssd. Makes no sense how it's working for you. Did you happen to find a difference between the kernel config files?
Comment 25 John 2014-01-20 06:44:17 UTC
(In reply to Greg Turner from comment #21)
> (In reply to John from comment #20)
> > > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > > driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
> > > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > > driver.c:1252:4: error: too many arguments to function ‘smp_call_function’
> > > >     compat_smp_call_function(LinuxDriverSyncCallHook, &args, 0);
> > > >     ^
> > > > In file included from /Source/linux-3.12.7-gentoo/include/linux/percpu.h:5:0,
> > > >                  from
> > > > /Source/linux-3.12.7-gentoo/include/linux/percpu-rwsem.h:6,
> > > >                  from /Source/linux-3.12.7-gentoo/include/linux/fs.h:30,
> > > >                  from /Source/linux-3.12.7-gentoo/include/linux/highmem.h:4,
> > > >                  from
> > > > /Build/portage/app-emulation/vmware-modules-279.1-r1/work/vmmon-only/linux/
> > > > driver.c:25:
> > > > /Source/linux-3.12.7-gentoo/include/linux/smp.h:94:5: note: declared here
> > > >  int smp_call_function(smp_call_func_t func, void *info, int wait);
> 
> Wierd -- I can't reproduce, even after I configure/compile/install your
> kernel version instead of mine.
> 
> You may be sick of hearing this question every time you file bug reports,
> but perhaps this is related, somehow, to your nonstandard file-system layout?
> 
> Do /usr/src/linux, /Source/linux-3.12.7-gentoo and
> /lib/modules/3.12.7-gentoo/build all point to the same thing?  Do they use
> relative or absolute symlinks?  mine look like:
> 
> # ls -ld /lib/modules/3.12.7-gentoo-gmt-00 /usr/src/linux   
> drwxr-xr-x 3 root root 4096 Jan 19 00:47 /lib/modules/3.12.7-gentoo-gmt-00
> lrwxrwxrwx 1 root root   19 Jan 15 12:43 /usr/src/linux ->
> linux-3.12.7-gentoo
> 
> Are you running that kernel, exactly, or some other kernel?  This ebuild,
> and VMWare's module building "framework" in general, have always been quite
> fussy about things like that.  You might try nuking
> /lib/modules/3.12.7-gentoo entirely, and then manually running make
> modules_install from /usr/src/linux just to be sure they are all the same.

Just to update this whole mess I have here. I've now tried kernels 3.10.7-r1 and 3.11.10 with WS-9.0.2 and 10.0.1 with Vmware Modules 271.2 and 279.1

GK-3.10.7  and WS-9.0.2  and VM Modules 271.2
GK-3.10.7  and WS-10.0.1 and VM Modules 279.1 

GK-3.11.10 and WS-9.0.2  and VM Modules 271.2
GK-3.11.10 and WS-10.0.1 and VM Modules 279.1

GK-3.12.7  and WS-9.0.2  and VM Modules 271.2
GK-3.12.7  and WS-10.0.1 and VM Modules 279.1

and VM modules is puking out on all of them. This is leading me to think there is something configured wrong in my setup. 

Could you post what your setup is along with your config file so I can duplicate that here?
Comment 26 John 2014-01-20 21:48:39 UTC
Finally have vmware modules installed. I commented out my CFLAGS in make.conf and both 271.2 and 279.1 compile and install with gentoo kernels 3.10.7 and 3.12.7.

That was some needlessly wasted hair.

Thanks for looking into this for me.
Comment 27 Greg Turner 2014-01-21 01:46:23 UTC
Ooh, yeah, that's a different bug.  There should be some flag filtering for kmod ebuilds.  Probably something that could go in linux-mod.eclass which would make it not a vmware-modules bug.
Comment 28 Brandon Penglase 2014-02-07 02:20:37 UTC
Just ran into this. I commented on Bug 477270, referencing here. Was my CFLAGS as well.
Comment 29 Greg Turner 2014-02-10 02:42:39 UTC
Created attachment 370002 [details]
vmware-modules-279.1-r1-overlaylet.tar.xz

Updated to fix bug in generated /lib/udev/rules.d/60-vmware.rules file.
Comment 30 Andrew Ray 2014-03-28 14:43:47 UTC
The patches of Harris Landgarten work also for Linux 3.13.6 and vmware-modules-279.1 without any changes needing to be made.
Comment 31 Dhalsim 2014-03-31 19:17:19 UTC
Attachment from greg tuner works with gentoo-sources-3.12.13.

Thanks Massimo.
Comment 32 Greg Turner 2014-05-06 13:40:19 UTC
I'm now keeping these at https://github.com/gmt/gmt-vmware-overlay; theoretically, just do what the README says (however I still haven't done anything for 3.14.x; I'll probably give it a try soon).
Comment 33 Andreas K. Hüttel archtester gentoo-dev 2014-06-07 22:46:38 UTC
I've added the 3.12 patch to the modules ebuilds. 

It would maybe be best if you collect tips, tricks, and links not here but on wiki.gentoo.org (maybe subpages of the vmware page?)...