Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 392379

Summary: app-emulation/vmware-modules-238.5: vmmon-only/linux/hostif.c:2749:4: error: implicit declaration of function '__fix_to_virt'
Product: Gentoo Linux Reporter: Markus Schöngart <markus+gentoo>
Component: Current packagesAssignee: Gentoo VMWare Bug Squashers [disabled] <vmware+disabled>
Status: RESOLVED OBSOLETE    
Severity: normal CC: pugach.m
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info
build.log
gunzip </proc/config.gz
updated apic.patch

Description Markus Schöngart 2011-11-29 10:17:37 UTC
Emerge vmware-modules-238.5 fails:

birne ~ # LANG=C emerge -v1 vmware-modules
[...]
  CC [M]  /var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.o
/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.c: In function 'HostIF_APICInit':
/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.c:2749:4: error: implicit declaration of function '__fix_to_virt' [-Werror=implicit-function-declaration]
/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.c:2749:26: error: 'FIX_APIC_BASE' undeclared (first use in this function)
/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.c:2749:26: note: each undeclared identifier is reported only once for each function it appears in
/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.c: In function 'HostIF_APIC_ID':
/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.c:2794:26: error: 'FIX_APIC_BASE' undeclared (first use in this function)
  CC [M]  /var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/driverLog.o
cc1: some warnings being treated as errors

make[3]: *** [/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/hostif.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [_module_/var/tmp/portage/app-emulation/vmware-modules-238.5/work/vmmon-only] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/linux-3.0.4-gentoo-r2'
make: *** [vmmon.ko] Error 2
emake failed
 * ERROR: app-emulation/vmware-modules-238.5 failed (compile phase):
 *   Unable to emake 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.0.4-gentoo-r2/build
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_compile
 *   environment, line 3759:  Called linux-mod_src_compile
 *   environment, line 2870:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" 			CROSS_COMPILE=${CHOST}- 						LDFLAGS=\"$(get_abi_LDFLAGS)\" 						${BUILD_FIXES} 		${BUILD_PARAMS} 						${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 * 
 * If you need support, post the output of 'emerge --info =app-emulation/vmware-modules-238.5',
 * the complete build log and the output of 'emerge -pqv =app-emulation/vmware-modules-238.5'.
 * The complete build log is located at '/var/tmp/portage/app-emulation/vmware-modules-238.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-emulation/vmware-modules-238.5/temp/environment'.
 * S: '/var/tmp/portage/app-emulation/vmware-modules-238.5/work'

>>> Failed to emerge app-emulation/vmware-modules-238.5, Log file:

>>>  '/var/tmp/portage/app-emulation/vmware-modules-238.5/temp/build.log'

Reproducible: Always

Steps to Reproduce:
1. emerge -v vmware-player
Actual Results:  
Compilation failure.

Expected Results:  
Successful emerge

Might be related to Bug 362725 (https://bugs.gentoo.org/362725?id=362725;id=362725)

I run Linux 3.0.4-gentoo-r2

birne ~ # gunzip </proc/config.gz | grep -i APIC
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_PCI_IOAPIC=y
CONFIG_KVM_APIC_ARCHITECTURE=y

The emerge failure also happens with the vmware overlay.
Comment 1 Markus Schöngart 2011-11-29 10:18:20 UTC
Created attachment 294151 [details]
emerge --info
Comment 2 Markus Schöngart 2011-11-29 10:18:36 UTC
Created attachment 294153 [details]
build.log
Comment 3 Markus Schöngart 2011-11-29 10:20:19 UTC
Created attachment 294157 [details]
gunzip </proc/config.gz
Comment 4 Vadim Kuznetsov (RETIRED) gentoo-dev 2012-01-10 19:41:50 UTC
Could you try apic.patch?
http://overlays.gentoo.org/proj/vmware/browser/trunk/app-emulation/vmware-modules/files/apic.patch
Comment 5 Yuriy Rusinov 2012-01-10 20:27:20 UTC
(In reply to comment #4)
> Could you try apic.patch?
> http://overlays.gentoo.org/proj/vmware/browser/trunk/app-emulation/vmware-modules/files/apic.patch

I have update vmware overlay, but which way I have to apply apic.patch ?
emerge -av vmware-modules gives the same error.
Comment 6 Markus Schöngart 2012-01-11 14:05:11 UTC
(In reply to comment #4)
> Could you try apic.patch?
> http://overlays.gentoo.org/proj/vmware/browser/trunk/app-emulation/vmware-modules/files/apic.patch

Tanks, that fixes it for me.
Comment 7 Markus Schöngart 2012-01-11 14:10:35 UTC
Created attachment 298645 [details, diff]
updated apic.patch

Since the context in the hostif.c that is relevant to the patch has changed, I finally used this attached (slightly changed) apic.patch.
Comment 8 Markus Schöngart 2012-01-11 14:38:03 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Could you try apic.patch?
> > http://overlays.gentoo.org/proj/vmware/browser/trunk/app-emulation/vmware-modules/files/apic.patch
> 
> I have update vmware overlay, but which way I have to apply apic.patch ?
> emerge -av vmware-modules gives the same error.

You need to create a local portage overlay as explained in http://en.gentoo-wiki.com/wiki/Overlay and copy the app-emulation/vmware-modules/ directory recursively over to your new repo, except for the .ebuild files, where you should only copy the one you need to modify (vmware-modules-238.5.ebuild). Then download the apic.patch that was linked by Yuriy Rusinov and put it in the files/ subdirectory within the vmware-modules directory in your overlay. Then locate the "epatch" commands in the vmware-modules-238.5.ebuild that you copied to your overlay and append "epatch ${FILESDIR}/apic.epatch" to that function. Then remove the Manifest file from your overlay's vmware-modules directory and regenerate it by calling `ebuild *.ebuild manifest` from within that directory. Then you can emerge -v1 vmware-modules and should see it being taken from your overlay instead of the default portage tree.

HTH
Comment 9 Maksym Pugach 2012-03-26 11:36:37 UTC
*** Bug 404089 has been marked as a duplicate of this bug. ***
Comment 10 Andreas K. Hüttel archtester gentoo-dev 2013-06-21 19:30:48 UTC
This should be obsolete by now.