While trying to emerge unionfs with the following flags: [ebuild U ] sys-fs/unionfs-1.1.4 [1.1.3-r1] USE="-acl -debug nfs" 0 kB >>> checksums src_uri ;-) unionfs-1.1.4.tar.gz * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.16-suspend2-r2.042.kernel-alsa >>> Unpacking source... >>> Unpacking unionfs-1.1.4.tar.gz to /Gentoo/Portage/build/portage/unionfs-1.1.4/work >>> Source unpacked. >>> Compiling source in /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4 ... * Preparing unionfs module ****************************************************************************** If you have questions about or problems building Unionfs, please read INSTALL. ****************************************************************************** make -C /usr/src/linux SUBDIRS=/Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4 FISTDEVMK=/Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/fistdev.mk modules make[1]: Entering directory `/usr/src/linux-2.6.16-suspend2-r2' CC [M] /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/subr.o In file included from /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/subr.c:22: /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:49:2: #warning You are compiling Unionfs on an unsupported kernel version. /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:50:2: #warning To compile Unionfs, you will need to define UNIONFS_UNSUPPORTED. /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:51:2: #warning Try adding: EXTRACFLAGS=-DUNIONFS_UNSUPPORTED to fistdev.mk In file included from /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/subr.c:22: /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h: In function `lock_parent': /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:779: error: structure has no member named `i_sem' /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h: In function `unlock_dir': /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:785: error: structure has no member named `i_sem' make[2]: *** [/Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/subr.o] Error 1 make[1]: *** [_module_/Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.16-suspend2-r2' make: *** [unionfs.ko] Error 2 !!! ERROR: sys-fs/unionfs-1.1.4 failed. Call stack: ebuild.sh, line 1532: Called dyn_compile ebuild.sh, line 929: Called src_compile ebuild.sh, line 1242: Called linux-mod_src_compile linux-mod.eclass, line 512: Called die !!! Unable to make LINUXSRC=/usr/src/linux KERNELVERSION=2.6 all. !!! If you need support, post the topmost build error, and the call stack if relevant. The error was: /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h: In function `lock_parent': /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:779: error: structure has no member named `i_sem' /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h: In function `unlock_dir': /Gentoo/Portage/build/portage/unionfs-1.1.4/work/unionfs-1.1.4/unionfs.h:785: error: structure has no member named `i_sem' Is this related to bug #128906 ? I'm using suspend2-sources kernel. alexander@blatt /tmp $ emerge --info Portage 2.1_pre7-r5 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r3, 2.6.16-suspend2-r1.042.kernel-alsa i686) ================================================================= System uname: 2.6.16-suspend2-r1.042.kernel-alsa i686 Intel(R) Celeron(R) M processor 1.50GHz Gentoo Base System version 1.12.0_pre17 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.4-r1, 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mtune=pentium-m -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mtune=pentium-m -pipe -fomit-frame-pointer" DISTDIR="/Gentoo/Portage/distfiles" EMERGE_DEFAULT_OPTS="--alphabetical" FEATURES="autoconfig buildpkg ccache collision-protect distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS=" http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://distro.ibiblio.org/pub/linux/distributions/gentoo http://distfiles.gentoo.org/ " LANG="de_DE.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="de" PKGDIR="/Gentoo/Portage/packages" PORTAGE_TMPDIR="/Gentoo/Portage/build" PORTDIR="/Gentoo/Portage/tree" PORTDIR_OVERLAY="/Gentoo/Portage/local-tree/misc /Gentoo/Portage/local-tree/overlays/gentoo-de" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="x86 GAPING_SECURITY_HOLE X acpi alsa amd apache2 apm arts artswrappersuid async avi bash-completion bdf berkdb bitmap-fonts bluetooth bootsplash cairo caps cardbus ccache cdda cddb cdio cdparanoia cdr cdrom cle266 cli crypt css ctype curlwrappers dba dbus devmap dillo divx4linux dlloader dri dvd dvdread emoticon esd exif expat fam fastbuild fbcon fbdev firefox force-cgi-redirect fping freetype ftp gd gdbm gif gnokii gnome gstreamer gtk gtk2 hal hpn icc id3 idn imap imlib imlib2 insecure-drivers insecure-savers isdnlog javascript jikes jpeg kde kdeenablefinal libedit libwww linuxthreads-tls logrotate lynxkeymap mad madwifi maildir matroska mbox memlimit mmx mmxext mozilla moznoirc mozsvg mp3 mpeg mpeg2 mpeg4 mplayer multicall ncurses netboot network new-login nfs nis nls no-old-linux no-suexec noantlr nobcel nobeanutils nobsf nobsh nocd nocommonslogging nocommonsnet nodrm nogg nogulm nojsch nojython nolog4j nomac nooro nopri norhino noxalan noxerces nozaptel nptl nsplugin offensive ogg opengl openssh pam_console pam_timestamp passfile password patented pccts pcmcia pcre perl perlsuid pic player png pnp posix pppd qt quicktime rar readline real recode reiserfs sdl sendfile sensord session sftp simplexml sms soap sockets spell spf spl sse sse2 ssl startup-notification stream subp subtitles suid symlink sysfs syslog tiff tokenizer transcode truetype truetype-fonts trusted type1-fonts udev underscores unichrome unicode unsafe usb utf8 uudeview vim vim-pager vlm vorbis wifi win32codecs wma123 x11vnc xinetd xml xmms xpm xscreensaver xsl xv xvid xvmc zlib elibc_glibc input_devices_evdev input_devices_keyboard input_devices_mouse kernel_linux linguas_de userland_GNU video_cards_apm video_cards_fbdev video_cards_vesa video_cards_vga video_cards_via" Unset: ASFLAGS, CTARGET, INSTALL_MASK, LC_ALL, MAKEOPTS
Grnf! Could you try to install 1.1.3-r1? (I think it was already installed, right?) I think the upstream devs didn't include all the mutex/semaphors fixes...
1.1.4-r1 is in portage, with the mutex/semaphores patch. Could you try it?
Still no go :( But I got a different error message: make -C /usr/src/linux SUBDIRS=/Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4 FISTDEVMK=/Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/fistdev.mk modules make[1]: Entering directory `/usr/src/linux-2.6.16-suspend2-r2' CC [M] /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/subr.o In Datei, eingef
Still no go :( But I got a different error message: make -C /usr/src/linux SUBDIRS=/Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4 FISTDEVMK=/Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/fistdev.mk modules make[1]: Entering directory `/usr/src/linux-2.6.16-suspend2-r2' CC [M] /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/subr.o In Datei, eingefügt von /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/subr.c:22: /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/unionfs.h:49:2: #warning You are compiling Unionfs on an unsupported kernel version. /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/unionfs.h:50:2: #warning To compile Unionfs, you will need to define UNIONFS_UNSUPPORTED. /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/unionfs.h:51:2: #warning Try adding: EXTRACFLAGS=-DUNIONFS_UNSUPPORTED to fistdev.mk make[2]: *** [/Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/subr.o] Fehler 1 make[1]: *** [_module_/Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4] Fehler 2 make[1]: Leaving directory `/usr/src/linux-2.6.16-suspend2-r2' make: *** [unionfs.ko] Fehler 2 !!! ERROR: sys-fs/unionfs-1.1.4-r1 failed. Call stack: ebuild.sh, line 1532: Called dyn_compile ebuild.sh, line 929: Called src_compile ebuild.sh, line 1242: Called linux-mod_src_compile linux-mod.eclass, line 512: Called die !!! Unable to make LINUXSRC=/usr/src/linux KERNELVERSION=2.6 all. !!! If you need support, post the topmost build error, and the call stack if relevant.
(In reply to comment #3) > #warning To compile Unionfs, you will need to define UNIONFS_UNSUPPORTED. > /Gentoo/Portage/build/portage/unionfs-1.1.4-r1/work/unionfs-1.1.4/unionfs.h:51:2: > #warning Try adding: EXTRACFLAGS=-DUNIONFS_UNSUPPORTED to fistdev.mk > make[2]: *** Is this done? Is UNIONFS_UNSUPPORTED defined?
I think the best work-aroud is set EXTRACFLAGS=-DUNIONFS_UNSUPPORTED in the ebuild if the kernel version is >2.6.15 The kernel version check is necessary because unionfs-1.1.4 also check for a kernel >=2.6.9
(In reply to comment #5) > I think the best work-aroud is set EXTRACFLAGS=-DUNIONFS_UNSUPPORTED in the > ebuild if the kernel version is >2.6.15 Agreed, i was about to open a bug report about that when i've found this one. I will attach a simple ebuild patch which works for me.
Created attachment 84707 [details, diff] compil-fix-for-2.6.16.patch Patch for the 1.1.4-r1 ebuild
@TLG: sadly, kernel_is is defined in kernel-2.eclass, which is not suitable for modules, but for kernel sources only (the ETYPE var is mandatory, and this eclass pollutes the *DEPENDS vars too much). So, old school (linux-mod vars): [[ ${KV_MAJOR} -ge 2 && ${KV_MINOR} -ge 6 && ${KV_PATCH} -ge 16 ]] && ... unionfs-1.1.4-r2 in portage: thanks.
(In reply to comment #8) > @TLG: sadly, kernel_is is defined in kernel-2.eclass, which is not suitable for > modules linux-info.eclass provides a working kernel_is() for use in ebuilds: if kernel_is gt 2 6 15; then ... fi
@brix: didn't see it. thanx