I've attempted to install install vmware-server. Everything works fine until vmware-modules starts compiling. I am using kernel 2.6.27-gentoo. (testing). Reproducible: Always Steps to Reproduce: 1.paludis -i vmware-modules 2. 3. Actual Results: >>> Done src_unpack >>> Starting src_compile * Preparing vmmon module make -j5 HOSTCC=x86_64-pc-linux-gnu-gcc CC=x86_64-pc-linux-gnu-gcc LDFLAGS= auto-build VMWARE_VER=VME_S1B1 KERNEL_DIR=/usr/src/linux KBUILD_OUTPUT=/lib/modules/2.6.27-gentoo/build Using 2.6.x kernel build system. make -C /usr/src/linux/include/.. M=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-2.6.27-gentoo' make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. CC [M] /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.o In file included from /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/./include/x86.h:24, from /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.h:15, from /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:53: /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/./include/x86paging.h:61:1: warning: "PTE_PFN_MASK" redefined In file included from include/asm/pda.h:8, from include/asm/current.h:19, from include/asm/processor.h:15, from include/linux/prefetch.h:14, from include/linux/list.h:6, from include/linux/module.h:9, from /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:16: include/asm/page.h:22:1: warning: this is the location of the previous definition In file included from /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/vmhost.h:13, from /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:84: /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/./include/compat_semaphore.h:5:27: error: asm/semaphore.h: No such file or directory /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:171: error: unknown field 'nopage' specified in initializer /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:172: warning: initialization from incompatible pointer type /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:175: error: unknown field 'nopage' specified in initializer /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:176: warning: initialization from incompatible pointer type /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c: In function '__LinuxDriver_Ioctl': /var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:1781: error: too many arguments to function 'smp_call_function' make[3]: *** [/var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.o] Error 1 make[2]: *** [_module_/var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/work/vmmon-only] Error 2 make[1]: *** [sub-make] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.27-gentoo' make: *** [vmmon.ko] Error 2 /usr/libexec/paludis/utils/emake: emake returned error 2 !!! ERROR in app-emulation/vmware-modules-1.0.0.15-r1: !!! In linux-mod_src_compile at line 3515 !!! Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CC=x86_64-pc-linux-gnu-gcc LDFLAGS= auto-build VMWARE_VER=VME_S1B1 KERNEL_DIR=/usr/src/linux KBUILD_OUTPUT=/lib/modules/2.6.27-gentoo/build !!! Call stack: !!! * linux-mod_src_compile (/var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/temp/loadsaveenv:3515) !!! * src_compile (/var/tmp/paludis/app-emulation-vmware-modules-1.0.0.15-r1/temp/loadsaveenv:4454) !!! * ebuild_f_compile (/usr/libexec/paludis/0/src_compile.bash:49) !!! * ebuild_main (/usr/libexec/paludis/ebuild.bash:470) !!! * main (/usr/libexec/paludis/ebuild.bash:485) diefunc: making ebuild PID 10290 exit with error die trap: exiting with error. Install error: * In program paludis -i vmware-modules: * When performing install action from command line: * When executing install task: * When installing 'app-emulation/vmware-modules-1.0.0.15-r1:0::gentoo': * Install error: Install failed for 'app-emulation/vmware-modules-1.0.0.15-r1:0::gentoo' Expected Results: Successful installation of vmware-modules. # emerge --info Portage 2.1.4.5 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo x86_64) ================================================================= System uname: 2.6.27-gentoo x86_64 Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz Timestamp of tree: Wed, 15 Oct 2008 19:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -fomit-frame-pointer -march=k8" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=k8" DISTDIR="/usr/portage/distfiles" FEATURES="ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://de-mirror.org/distro/gentoo/ ftp://de-mirror.org/distro/gentoo/ http://gentoo.tiscali.nl/ ftp://gentoo.tiscali.nl/pub/mirror/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ " LDFLAGS="-Wl,-O1" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl amd64 bash-completion berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv ipv6 isdnlog midi mmx mudflap multilib ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl sse sse2 ssl sysfs tcpd unicode vim-syntax xorg zlib" ALSA_CARDS="hda-intel" 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fglrx vesa vga" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
This asm/semaphore.h header seems to have been removed in 2.6.27. For example, it also breaks nvidia-drivers in bug #242476.
vmware-modules-1.0.0.15 doesn't yet work with the 2.6.26 sources, there's no way it'll work with 2.6.27. This may take a long time to resolve, if indeed it ever does get resolved. See bug 227303 for more details...
There's an unofficial patch for this problem at this: http://www.insecure.ws/2008/10/20/vmware-specific-specific-55x-and-kernel-2627 You might like to use this with 2.6.26+ temporarily until vmware comes out with their own fix for this.
*** Bug 253215 has been marked as a duplicate of this bug. ***
Thanks very much for the pointer to insecure.ws, it proved extremely useful. vmware-modules-1.0.0.15-r2 just hit the tree, so I'm going to mark this as FIXED. If you're having any problems, please open a NEW bug. Thanks...
Glad to be of help. When will -r2 become stable? Thanks, it's the only thing that prevented me from migrating to 2.6.27.
Good and bad news. The good news, -r2 works perfectly on x86 platforms for kernels > 2.6.25. The bad news, -r2 does not work on amd64 platforms running OpenVZ-006.5 (2.6.24) whereas -r1 worked perfectly.
Sigh. Is there any chance you could give -r2 a try on a normal (not openvz) 2.6.24 kernel and let me know the results? It should be relatively easy to keep the old modules around and add in a check, but I'd like to know if it's necessary, rather than just being an openvz thing (which technically, we don't support)...
The problem is quite simple; the reason why it fails to compile is because it's complaining about a missing linux/semaphore.h header file which is only available in 2.6.27+ linux kernels (or kernel headers). I think it probably needs to check for that and configure accordingly.
Ok, that is pretty straight forward (I'm not sure why I didn't do that in the first place). If you remove those changes from the relevant patches (patches/vmmon/040_... and patches/vmnet/035_...), does that fix everything?
Yep, that solved the problem entirely - I guess this depends on the version of the kernel you are using vmware with. Glad to be of help.
Ok, should be fixed in the main tree. Give it a couple of hours and then recompile and let me know if there's any other problems. Thanks again Alex, you've been invaluable! 5:)