app-emulation/vmware-modules-238.5 fails to build against gentoo-sources-3.1.5. Appears to be an issue with the vmnet driver. Reproducible: Always Portage 2.2.0_alpha81 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.13-r4, 2.6.39-gentoo-r4 x86_64) ================================================================= System uname: Linux-2.6.39-gentoo-r4-x86_64-Intel-R-_Core-TM-_i7_CPU_M_640_@_2.80GHz-with-gentoo-2.0.3 Timestamp of tree: Mon, 19 Dec 2011 20:30:01 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.6-r2, 2.7.2-r3, 3.1.4-r3 dev-util/cmake: 2.8.6-r4 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r1, 4.6.2 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo Installed sets: ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -fomit-frame-pointer -finline-functions -pipe -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -fomit-frame-pointer -finline-functions -pipe -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs collision-protect distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en en_US en_US.UTF-8" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="64bit X acl acpi aio alsa amd64 apache2 apng aspell bash-completion berkdb bluetooth boost bzip2 cairo cdr cli clucene cmake consolekit cracklib crypt css cups curl cxx dbus debugger declarative dell device-mapper dri dts dvd dvdr extras fastcgi ffmpeg flac fontconfig fortran gcj gd gdbm gpm grammar graphite graphviz gtk iconv icu innodb inotify ioctl ipv6 java java6 jpeg json kde kqemu kvm lame laptop latex libnotify lto matroska mmx mng modules mono mp3 mpeg mpi mplayer mudflap multilib mysql mysqli ncurses nls nptl nptlonly nsplugin nvidia ogg openal opengl openmp openxml pam pcre pdf pdo perl plasma png policykit ppp pppd private-headers python qt3support qt4 qtscript readline romio rss samba script sdl semantic-desktop session simplexml soap sockets sql sqlite sqlite3 sse sse2 sse3 sse4 sse4_1 sse4a ssl ssse3 subversion svg sysfs tcpd teamarena theora threads thumbnail tidy tools truetype unicode usb virtuoso vmware-tools vorbis webkit wicd wifi wxwidgets x264 xcomposite xine xinerama xml xorg xscreensaver xsl xvid zeroconf 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 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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 ubx" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US en_US.UTF-8" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 296393 [details] build.log
So I did some digging and it seems that the failure to build for me is due to the following defines not being present: #define HAVE_ALLOC_NETDEV #define HAVE_NETIF_QUEUE #define HAVE_NETDEV_PRIV #define HAVE_NET_DEVICE_OPS manually placing them at the top of compat_netdevice.h makes things build properly. I am not sure what the mechanism is to properly define them however, so I cannot create a patch quite yet. I'll keep digging :-)
OK, it seems that these defines were historically found in /usr/src/linux/include/linux/netdevice.h but simply arent present anymore. I guess the devs decided that the 3.1 version there would be no option to not build it with these things enabled. So I think the current reasonable solution is to simply test the kernel version and set the defines if >= 3.1.0 I'll attach a patch.
Created attachment 296399 [details, diff] sets defines for netdevice_compat.h to make the code use correct set of features
(In reply to comment #4) > Created attachment 296399 [details, diff] [details, diff] > sets defines for netdevice_compat.h to make the code use correct set of > features thanks for that patch :) I just confirm this works for vmware-modules-208.2 with gentoo-sources-3.1.6
*** Bug 397847 has been marked as a duplicate of this bug. ***
I could have made this a duplicate of bug #384105, but it's about a different repo.
patches are in the tree. Please sync, rebuild and test. Thanks.
(In reply to comment #8) > patches are in the tree. Please sync, rebuild and test. Thanks. I still run into the following error: /data/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/iommu.c: In function ‘IOMMU_SetupMMU’: /data/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/iommu.c:83:4: error: too few arguments to function ‘iommu_domain_alloc’ include/linux/iommu.h:68:29: note: declared here make[3]: *** [/data/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/iommu.o] Error 1
(In reply to comment #9) > (In reply to comment #8) > > patches are in the tree. Please sync, rebuild and test. Thanks. > > I still run into the following error: > > /data/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/iommu.c: > In function ‘IOMMU_SetupMMU’: > /data/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/iommu.c:83:4: > error: too few arguments to function ‘iommu_domain_alloc’ > include/linux/iommu.h:68:29: note: declared here > make[3]: *** > [/data/portage/app-emulation/vmware-modules-238.5/work/vmmon-only/linux/iommu.o] > Error 1 This is different. Please open new bug.
Sorry but this has already been my original error report for bug 397847 which was (inadvertently?) marked by Jeroen Roovers as a duplicate of this bug.