Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 129744 - unionfs: error: structure has no member named `i_sem' with kernel 2.6.16-suspend2-r1
Summary: unionfs: error: structure has no member named `i_sem' with kernel 2.6.16-susp...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal
Assignee: Christian Andreetta (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-12 14:04 UTC by Alexander Skwar
Modified: 2006-04-27 07:29 UTC (History)
3 users (show)

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


Attachments
compil-fix-for-2.6.16.patch (unionfs-1.1.4-r1-ebuild--compil-fix-for-2.6.16.patch,365 bytes, patch)
2006-04-15 03:43 UTC, TGL
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Skwar 2006-04-12 14:04:12 UTC
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
Comment 1 Christian Andreetta (RETIRED) gentoo-dev 2006-04-13 01:19:10 UTC
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...
Comment 2 Christian Andreetta (RETIRED) gentoo-dev 2006-04-13 01:31:35 UTC
1.1.4-r1 is in portage, with the mutex/semaphores patch. Could you try it?
Comment 3 Alexander Skwar 2006-04-13 10:55:31 UTC
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
Comment 4 Alexander Skwar 2006-04-13 10:55:31 UTC
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.
Comment 5 Alexander Skwar 2006-04-13 10:57:08 UTC
(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?
Comment 6 Diego Busacca 2006-04-13 13:56:07 UTC
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
Comment 7 TGL 2006-04-15 03:42:37 UTC
(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.
Comment 8 TGL 2006-04-15 03:43:37 UTC
Created attachment 84707 [details, diff]
compil-fix-for-2.6.16.patch

Patch for the 1.1.4-r1 ebuild
Comment 9 Christian Andreetta (RETIRED) gentoo-dev 2006-04-27 07:03:42 UTC
@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.
Comment 10 Henrik Brix Andersen 2006-04-27 07:09:24 UTC
(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
Comment 11 Christian Andreetta (RETIRED) gentoo-dev 2006-04-27 07:29:48 UTC
@brix: didn't see it. thanx