In file included from Posix/posix_interface.c:45: /usr/include/linux/ethtool.h:18: error: parse error before "__u32" /usr/include/linux/ethtool.h:20: error: parse error before "advertising" /usr/include/linux/ethtool.h:21: error: parse error before "speed" /usr/include/linux/ethtool.h:22: error: parse error before "duplex" /usr/include/linux/ethtool.h:23: error: parse error before "port" /usr/include/linux/ethtool.h:24: error: parse error before "phy_address" /usr/include/linux/ethtool.h:25: error: parse error before "transceiver" /usr/include/linux/ethtool.h:26: error: parse error before "autoneg" /usr/include/linux/ethtool.h:27: error: parse error before "maxtxpkt" /usr/include/linux/ethtool.h:28: error: parse error before "maxrxpkt" /usr/include/linux/ethtool.h:29: error: parse error before "reserved" /usr/include/linux/ethtool.h:30: error: parse error before '}' token /usr/include/linux/ethtool.h:35: error: parse error before "__u32" /usr/include/linux/ethtool.h:43: error: parse error before "n_stats" /usr/include/linux/ethtool.h:44: error: parse error before "testinfo_len" /usr/include/linux/ethtool.h:45: error: parse error before "eedump_len" /usr/include/linux/ethtool.h:46: error: parse error before "regdump_len" /usr/include/linux/ethtool.h:52: error: parse error before "__u32" /usr/include/linux/ethtool.h:54: error: parse error before "wolopts" /usr/include/linux/ethtool.h:55: error: parse error before "sopass" /usr/include/linux/ethtool.h:56: error: parse error before '}' token /usr/include/linux/ethtool.h:60: error: parse error before "__u32" /usr/include/linux/ethtool.h:66: error: parse error before "__u32" /usr/include/linux/ethtool.h:67: error: conflicting types for `version' /usr/include/linux/ethtool.h:37: error: previous declaration of `version' /usr/include/linux/ethtool.h:68: error: parse error before "len" /usr/include/linux/ethtool.h:69: error: parse error before "data" /usr/include/linux/ethtool.h:69: error: conflicting types for `data' /usr/include/linux/ethtool.h:61: error: previous declaration of `data' /usr/include/linux/ethtool.h:70: error: parse error before '}' token /usr/include/linux/ethtool.h:74: error: parse error before "__u32" /usr/include/linux/ethtool.h:76: error: parse error before "offset" /usr/include/linux/ethtool.h:77: error: parse error before "len" /usr/include/linux/ethtool.h:78: error: parse error before "data" /usr/include/linux/ethtool.h:79: error: parse error before '}' token /usr/include/linux/ethtool.h:83: error: parse error before "__u32" /usr/include/linux/ethtool.h:97: error: parse error before "rx_max_coalesced_fra mes" /usr/include/linux/ethtool.h:104: error: parse error before "rx_coalesce_usecs_i rq" /usr/include/linux/ethtool.h:105: error: parse error before "rx_max_coalesced_fr ames_irq" /usr/include/linux/ethtool.h:111: error: parse error before "tx_coalesce_usecs" /usr/include/linux/ethtool.h:119: error: parse error before "tx_max_coalesced_fr ames" /usr/include/linux/ethtool.h:126: error: parse error before "tx_coalesce_usecs_i rq" /usr/include/linux/ethtool.h:127: error: parse error before "tx_max_coalesced_fr ames_irq" /usr/include/linux/ethtool.h:134: error: parse error before "stats_block_coalesc e_usecs" /usr/include/linux/ethtool.h:143: error: parse error before "use_adaptive_rx_coa lesce" /usr/include/linux/ethtool.h:144: error: parse error before "use_adaptive_tx_coa lesce" /usr/include/linux/ethtool.h:150: error: parse error before "pkt_rate_low" /usr/include/linux/ethtool.h:151: error: parse error before "rx_coalesce_usecs_l ow" /usr/include/linux/ethtool.h:152: error: parse error before "rx_max_coalesced_fr ames_low" /usr/include/linux/ethtool.h:153: error: parse error before "tx_coalesce_usecs_l ow" /usr/include/linux/ethtool.h:154: error: parse error before "tx_max_coalesced_fr ames_low" /usr/include/linux/ethtool.h:165: error: parse error before "pkt_rate_high" /usr/include/linux/ethtool.h:166: error: parse error before "rx_coalesce_usecs_h igh" /usr/include/linux/ethtool.h:167: error: parse error before "rx_max_coalesced_fr ames_high" /usr/include/linux/ethtool.h:168: error: parse error before "tx_coalesce_usecs_h igh" /usr/include/linux/ethtool.h:169: error: parse error before "tx_max_coalesced_fr ames_high" /usr/include/linux/ethtool.h:174: error: parse error before "rate_sample_interva l" /usr/include/linux/ethtool.h:179: error: parse error before "__u32" /usr/include/linux/ethtool.h:186: error: parse error before "rx_mini_max_pending " /usr/include/linux/ethtool.h:187: error: parse error before "rx_jumbo_max_pendin g" /usr/include/linux/ethtool.h:188: error: parse error before "tx_max_pending" /usr/include/linux/ethtool.h:193: error: parse error before "rx_pending" /usr/include/linux/ethtool.h:194: error: parse error before "rx_mini_pending" /usr/include/linux/ethtool.h:195: error: parse error before "rx_jumbo_pending" /usr/include/linux/ethtool.h:196: error: parse error before "tx_pending" /usr/include/linux/ethtool.h:201: error: parse error before "__u32" /usr/include/linux/ethtool.h:214: error: parse error before "rx_pause" /usr/include/linux/ethtool.h:215: error: parse error before "tx_pause" /usr/include/linux/ethtool.h:226: error: parse error before "__u32" /usr/include/linux/ethtool.h:228: error: parse error before "len" /usr/include/linux/ethtool.h:229: error: parse error before "data" /usr/include/linux/ethtool.h:230: error: parse error before '}' token /usr/include/linux/ethtool.h:239: error: parse error before "__u32" /usr/include/linux/ethtool.h:241: error: parse error before "reserved" /usr/include/linux/ethtool.h:241: error: conflicting types for `reserved' /usr/include/linux/ethtool.h:29: error: previous declaration of `reserved' /usr/include/linux/ethtool.h:242: error: parse error before "len" /usr/include/linux/ethtool.h:243: error: parse error before "data" /usr/include/linux/ethtool.h:244: error: parse error before '}' token /usr/include/linux/ethtool.h:248: error: parse error before "__u32" /usr/include/linux/ethtool.h:250: error: parse error before "data" /usr/include/linux/ethtool.h:251: error: parse error before '}' token /usr/include/linux/ethtool.h:258: error: parse error before "__u32" /usr/include/linux/ethtool.h:260: error: parse error before "__u32" /usr/include/linux/ethtool.h:262: error: parse error before "__u32" /usr/include/linux/ethtool.h:327: error: parse error before "__u32" /usr/include/linux/ethtool.h:330: error: parse error before '*' token /usr/include/linux/ethtool.h:330: error: `__u32' declared as function returning a function /usr/include/linux/ethtool.h:332: error: parse error before "__u8" /usr/include/linux/ethtool.h:333: error: parse error before "__u8" /usr/include/linux/ethtool.h:340: error: parse error before '*' token /usr/include/linux/ethtool.h:340: error: `__u32' declared as function returning a function /usr/include/linux/ethtool.h:342: error: parse error before '*' token /usr/include/linux/ethtool.h:342: error: `__u32' declared as function returning a function /usr/include/linux/ethtool.h:344: error: parse error before '*' token /usr/include/linux/ethtool.h:344: error: `__u32' declared as function returning a function /usr/include/linux/ethtool.h:346: error: parse error before '*' token /usr/include/linux/ethtool.h:346: error: `__u32' declared as function returning a function /usr/include/linux/ethtool.h:349: error: parse error before "__u64" /usr/include/linux/ethtool.h:350: error: parse error before "__u32" /usr/include/linux/ethtool.h:353: error: parse error before "__u64" /usr/include/linux/ethtool.h:356: error: parse error before '}' token Posix/posix_interface.c: In function `sw_network_interface_link_status': Posix/posix_interface.c:238: error: storage size of `edata' isn't known make[4]: *** [posix_interface.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... rm -f .libs/notosx_mdns_stub.lo i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../incl ude/ -I../ -march=pentium4 -pipe -c NotOSX/notosx_mdns_stub.c -MT notosx_mdns_st ub.lo -MD -MP -MF .deps/notosx_mdns_stub.TPlo -fPIC -DPIC -o .libs/notosx_mdns_ stub.lo i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../incl ude/ -I../ -march=pentium4 -pipe -c NotOSX/notosx_mdns_stub.c -MT notosx_mdns_st ub.lo -MD -MP -MF .deps/notosx_mdns_stub.TPlo -o notosx_mdns_stub.o >/dev/null 2 >&1 mv -f .libs/notosx_mdns_stub.lo notosx_mdns_stub.lo make[4]: Leaving directory `/var/tmp/portage/howl-0.9.6-r2/work/howl-0.9.6/src/l ib/howl' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/howl-0.9.6-r2/work/howl-0.9.6/src/l ib/howl' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/howl-0.9.6-r2/work/howl-0.9.6/src/l ib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/howl-0.9.6-r2/work/howl-0.9.6/src' make: *** [all-recursive] Error 1 --------------------- note : 0.9.8 (marked unstable) builds fine on my system though Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r4 i686) ================================================================= System uname: 2.6.11-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 30 2005, 19:19:04)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo ftp://mirrors.blueyonder.co.uk http://open-systems.ufl.edu/mirrors/gentoo rsync://mirrors.tds.net/gentoo http://gentoo.osuosl.org" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 X aalib alsa apm avi berkdb bitmap-fonts cdr crypt cups directfb dvd dvdr emacs emboss encode fam fbcon foomaticdb fortran gdbm gif gnome gphoto2 gpm gps gstreamer gtk gtk2 hal howl imlib ipv6 joystick jpeg libg++ libwww mad mikmod mmx motif mp3 mpeg msn mysql ncurses nls nvidia offensive oggvorbis opengl oss pam pdflib perl php png python quicktime readline samba sdl slang socks5 spell sse ssl svga tcpd tiff truetype truetype-fonts type1-fonts unicode usb videos xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Same problem here. The problem is that ./lib/howl/Posix/posix_interface.c includes /usr/include/linux/ethtool.h where we have struct with types __u8, __u16, __u32, __u64 but they are not typedefed in /lib/howl/Posix/posix_interface.c. And they should not. I think it's better to include linux/types.h. This is done in howl-0.9.8-types.patch! So I think the best way to fix this is to cp howl-0.9.8-types.patch into howl-0.9.6-types.patch and add necessary line in ebuild. Peter.
howl-0.9.8 should me marked stable when any serious bugs open about it are fixexd. That will fix this also..
I think the problem more rightly lies in the latest linux-headers-2.6.8.1-r2 ebuild. I noticed that on one computer that I compiled linux-headers a while ago, the structs were defined in ethtool.h without the preceeding __, for example u32 instead of __u32, and that this was the only difference between the files. It seems that at somepoint somebody must have updated a patch that went into the 2.6.8.1-r2 ebuild, because both machines have the same version of linux-headers. When I copied ethtool.h from one machine to the other, howl compiled fine. So is this a linux-headers problem or a howl problem?
[quote]So I think the best way to fix this is to cp howl-0.9.8-types.patch into howl-0.9.6-types.patch and add necessary line in ebuild.[/quote] This doesn't work, i get: Failed Patch: howl-0.9.6-types.patch ! ( /usr/portage/net-misc/howl/files/howl-9.6.0-types.patch ) I guess its because some lines in the patch are directly pointing to some howl-0.9.8 directory, or something like that (unfortunately i don't really understand the syntax). Would it be adequate to just change that "howl-0.9.8" to "howl-0.9.6-r2"?
Created attachment 55572 [details] diff output between ethtool.h for linux-headers-2.6.8.1-r2 diff between ethtool.h from January and ethtool.h from April for linux-headers-2.6.8.1-r2.
The problem will be fixed by using howl 0.9.8, however this still seems to me like a patch for linux headers would be a better fix. What other ebuilds use the ethtool.h header? Do they encounter the same error? My confusion comes from the fact that there is no patch in portage for linux-headers that effects ethtool.h, so how is it that two installs of the same version can have two different files. The one I compiled somtime at the end of January, the other I compiled on monday, and the ethtool.h files are different. How does this happen without a patch or a new version? I've attached the output of diff between the files.
Created attachment 56198 [details, diff] fixes missed typedef-s // Just a line in <linux/ethtool.h> #include <linux/types.h>
What is the proper way of informing the maintainers of linux-header about this?
howl-0.9.6-r2 compiles on AMD64 and does not reproduce this problem Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r 1, 2.6.11-gentoo-r6 x86_64) ================================================================= System uname: 2.6.11-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Apr 23 2005, 00:48:30) ] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X1 1/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/ distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acpi alsa apache2 berkdb bitmap-fonts cdr crypt directfb dvd dvdr d vdread fam fbcon font-server fortran gif gnome gpm gtk hal howl ipv6 jp2 jpeg li rc lzw lzw-tiff mp3 mysql mythtv ncurses nls ntpl opengl oss pam perl png python readline samba sandbox ssl tcpd tiff truetype truetype-fonts type1-fonts usb us erlocales vcd xml2 xpm xrandr xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLA Y
This purpose of this comment is to add the linux-headers devs so they can take a look at this.
*** Bug 90229 has been marked as a duplicate of this bug. ***
Headers fixed in CVS, please emerge sync and remerge linux-headers. Thanks; please reopen bug if issue persists.
Maybe I'm missing something, but if a new patch was added then why wasn't a new ebuild created with a -r3 version, so people know that there's an update available? I did a sync but no new version of linux-headers showed up (I had already installed the -r2 version). If there had been a new version I could have installed that and not had to come read all the bug reports to find the answer. Thanks for fixing this, though!
*** Bug 91712 has been marked as a duplicate of this bug. ***
*** Bug 91775 has been marked as a duplicate of this bug. ***
*** Bug 92188 has been marked as a duplicate of this bug. ***