When upgrading from version 1.0.3-r2 emerge ieee80211 breaks with a syntax error on line 193 of ieee80211_tx.c : /var/tmp/portage/ieee80211-1.1.6/work/ieee80211-1.1.6/ieee80211_tx.c:193: error: syntax error before "gfp_mask" /var/tmp/portage/ieee80211-1.1.6/work/ieee80211-1.1.6/ieee80211_tx.c:194: warning: function declaration isn't a prototype Line 193 of ieee80211_tx.c is the second line of struct declaration: static struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size, unsigned __nocast gfp_mask) { ... please see 'Additional Information' for more details Reproducible: Always Steps to Reproduce: 1. emerge -v ieee80211 Actual Results: emerge fails on compile of ieee80211_tx.c with the error detailed above under "Details" Expected Results: emerge completes successfully I see this in the CHANGES file that in version 1.0.5: * Fix implicit nocast warnings in ieee80211 code: net/ieee80211/ieee80211_tx.c:215:9: warning: implicit cast to nocast type (thanks to Randy Dunlap) emerge info Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) M processor 1.50GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=i686 -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i686 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo http://gentoo.mirrors.tds.net/gentoo http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apache apm arts audiofile avi berkdb bitmap-fonts bonobo bzip2 cdr crypt cups curl dvd eds emboss encode esd exif expat fam ffmpeg flac foomaticdb fortran gd gdbm gif glut gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hardenedphp idn imagemagick imlib ipv6 java jpeg junit kde lcms ldap libg++ libwww mad mikmod mng motif mozilla mp3 mpeg mysql mysqli ncurses nls nsplugin ogg oggvorbis opengl oss pam pcmcia pcre pdflib perl php png python qt quicktime readline sdl spell spl ssl svga tcpd tiff tokenizer truetype truetype-fonts type1-fonts usb vorbis xine xml xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
(In reply to comment #0) > System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) M processor 1.50GHz That kernel is quite old - please see if you can reproduce this with current stable sys-kernel/gentoo-sources.
(In reply to comment #1) > That kernel is quite old - please see if you can reproduce this with current > stable sys-kernel/gentoo-sources. I have the same problem whit a newer kernel: Portage 2.0.51.22-r3 (selinux/2005.1/x86, gcc-3.3.6, glibc-2.3.5-r2, 2.6.11-hardened-r15-SPine-0.1 i686) ================================================================= System uname: 2.6.11-hardened-r15-SPine-0.1 i686 Intel(R) Pentium(R) M processor 1.86GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks loadpolicy sandbox selinux sfperms strict" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo/" LINGUAS="nl en fr ge" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac aalib acpi aim alsa apache2 arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth bzip2 bzlib calendar caps cdr crypt cups curl dga dio directfb divx4linux doc dvd dvdread eds esd ethereal exif expat fam fbcon ffmpeg flac freetds ftp gd gdbm gif glut gpm gstreamer hardened icq idn imagemagick imap imlib ipv6 jabber jack java javascript jikes jpeg junit kde kerberos lcms ldap libcaca libwww lm_sensors mad maildir mcal mhash mikmod mime mmap mmx mng motif mozilla mp3 mpeg msn mysql mysqli ncurses nls nptl odbc offensive ogg oggvorbis openal opengl pam pcmcia pcre pda pdflib perl pic pie png pnp posix postgres python qt readline recode samba sasl sdl selinux slang snmp sockets socks5 spell spl sqlite sse ssl svg svga symlink sysfs tcltk tcpd threads tiff truetype udev usb v4l vcd vhosts videos vorbis wifi win32codecs x86 xine xinerama xml2 xmms xosd xpm xv xvid zlib video_cards_radeon linguas_nl linguas_en linguas_fr linguas_ge userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
I have the exact same problem here, with a gentoo-hardened-r15 source tree. I checked the source and the thing gcc complains about is __nocast. I did a quick google for __nocast and first hit, first line shows that this is new in 2.6.12- rc2. It should be possible to work around it by just declaring __nocast somwhere. I havent tested (yet). Im no kernel hacker so I don't know where the appropiate way is to solve this. This is actually a dup of #113155, however, it looks like they are trying to fix something else than what the reporter reported there.
alternative route could be to: sed -i 's/__nocast//g' *.c whenever kernel version is less than 2.6.12-rc2
Created attachment 73995 [details, diff] ieee80211-1.1.6.ebuild.patch Suggestion for fix. Please reopen the bug.
I have tested your patch. It works perfect.
Reopening the bug per request of Natanael Copa: " You reported this gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=113479 (syntax error on line 193 of ieee80211_tx.c breaks ebuild ieee80211-1.1.6) They closed it with "needinfo". I have provided more info and a patch, but I dont have power to reopen the bug. I belive that you should be able to do it since you are the reporter. If you don't dot it, the gentoo developers will not look at it, as it is marked as resolved. Will you please be so kind and reopen the bug so the gentoo developers can commit the patch? "
*** This bug has been marked as a duplicate of 113155 ***