Summary: | gnome-base/gnome-applets-2.8.2 fails with linux-headers-2.6.10 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Herbie Hopkins (RETIRED) <herbs> |
Component: | New packages | Assignee: | Tim Yamin (RETIRED) <plasmaroo> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amd64, blubb, gnome |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Herbie Hopkins (RETIRED)
2005-02-28 06:32:48 UTC
I doubt /usr/include/linux/if_ppp.h is actually broken, can you please try CFLAGS="-march=athlon64 -O2 -pipe" emerge =gnome-applets-2.8.2. Any suggestions amd64 team? same error with CFLAGS="-march=athlon64 -O2 -pipe". Mike, /usr/include/linux/if_ppp.h:95 is following line: struct ppp_option_data { __u8 *ptr; __u32 length; int transmit; }; __u8 should be defined, but let's have a look after preprocessing: $ gcc -E if_ppp.h ... struct ppp_option_data { __u8 *ptr; __u32 length; int transmit; }; ... there is not a single #include in that file, and __u8 isn't defined in it, so it will fail. blubb@aqua /usr/include $ grep -R "define __u8" * security/pam_client.h:# define __u8 unsigned char looks like this is the only place __u8 is defined, but there are lots of files that use __u8 in /usr/include/linux. this is obviously a kernel error, so i reassign it to not sure if this is related but net-analyzer/iptraf-2.7.0-r1 fails with: /usr/include/netinet/../gentoo-multilib/amd64/netinet/in.h:64:1: warning: this is the location of the previous definition In file included from /usr/include/net/if.h:7, from tcptable.h:27, from iptraf.c:54: /usr/include/net/../gentoo-multilib/amd64/net/if.h:45: error: parse error before numeric constant /usr/include/net/../gentoo-multilib/amd64/net/if.h:111: error: redefinition of `struct ifmap' /usr/include/net/../gentoo-multilib/amd64/net/if.h:126: error: redefinition of `struct ifreq' /usr/include/net/../gentoo-multilib/amd64/net/if.h:176: error: redefinition of `struct ifconf' make: *** [iptraf.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [itrafmon.o] Error 1 Simon, it's actually defined in <asm/types.h> obz@azure include $ grep __u8 asm/types.h typedef unsigned char __u8; Okay, so a few things: ppp support is added by using #include <net/ppp_defs.h>, as well as #include <linux/if_ppp.h>. <net/ppp_defs.h> contains: #include <asm/types.h> #include <linux/ppp_defs.h> So by the time <linux/if_ppp.h> is included, the type __u8 has been defined by the inclusion of <asm/types.h>. You could check by untarring the gnome-applets source, and then looking at the output of gcc -E gnome-applets-2.8.2/modemlights/modemlights.c (using the c source as the .h pulls in <net/ppp_defs.h> and then the .c pulls in the relevant if_ppp.h depending on the host system). You'll see asm/types defined there. Arguably (I'm not sure of the specifics) <linux/if_ppp.h> could include <asm/types.h> because it does use a type that's not directly defined (__u8). However, in this case that _isn't_ the problem, because <asm/types.h> is allready included and __u8 is defined. Also, why don't I see this problem on linux-headers-2.6.10? It all points to something either locally specific to this user, or amd64 specific perhaps (I don't have a box to test on), hence, amd64 team? any suggestions. The fact that the user has also posted more breaking builds - a completely different application suggests to me that this might be a local problem. I get the exact same error on my machine, amd64, linux-headers-2.6.10, and 2005.0 profile. This is a brand new installation, and I migrated to the 2005.0 profile before installing anything besides the base system. I had migrated to the 2005.0 profile on an older installation, but I hadn't upgraded any of these packages since. Here is my emerge info. Gentoo Base System version 1.6.9 Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.11-gentoo-r1 x86_64) ================================================================= System uname: 2.6.11-gentoo-r1 x86_64 Mobile AMD Athlon(tm) 64 Processor 3200+ Python: dev-lang/python-2.3.5 [2.3.5 (#1, Mar 4 2005, 13:04:00)] distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 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.5 sys-devel/binutils: 2.15.92.0.2-r4 sys-devel/libtool: 1.5.10-r5 virtual/os-headers: 2.6.10 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -march=k8" CHOST="x86_64-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="-O2 -pipe -march=k8" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org/" 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 berkdb bitmap-fonts crypt cups esd f77 fam fortran gif gpm gtk imlib ipv6 jp2 jpeg lzw lzw-tiff mp3 ncurses nls nptl opengl oss pam perl png python readline samba ssl tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml2 xpm xrandr xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY I also get this error when emerging synaptics, if it helps. I think it may be related, because I had no issues with it before. x86_64-pc-linux-gnu-gcc -c -O2 -pipe -march=k8 -pedantic -Wall -Wpointer-arith -fno-merge-constants -fno-pic -I. -IXincludes/usr/X11R6/include/X11 -IXincludes/usr/X11R6/include/X11/extensions -IXincludes/usr/X11R6/lib/Server/include -Dlinux -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DDPMSExtension -DPIXPRIV -DPANORAMIX -DRENDER -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DSMART_SCHEDULE -DBUILDDEBUG -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -D__i386__ -DFUNCPROTO=15 -DNARROWPROTO -DIN_MODULE -DXFree86Module -DVERSION="\"0.14.0\"" ps2comm.c In file included from /usr/include/bits/ioctl-types.h:7, from /usr/include/sys/../gentoo-multilib/x86/sys/ioctl.h:30, from /usr/include/sys/ioctl.h:3, from synaptics.c:59: /usr/include/bits/../gentoo-multilib/amd64/bits/ioctl-types.h:29: error: redefinition of `struct winsize' /usr/include/bits/../gentoo-multilib/amd64/bits/ioctl-types.h:38: error: redefinition of `struct termio' make: *** [synaptics.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from /usr/include/bits/ioctl-types.h:7, from /usr/include/sys/../gentoo-multilib/x86/sys/ioctl.h:30, from /usr/include/sys/ioctl.h:3, from ps2comm.h:4, from ps2comm.c:28: /usr/include/bits/../gentoo-multilib/amd64/bits/ioctl-types.h:29: error: redefinition of `struct winsize' /usr/include/bits/../gentoo-multilib/amd64/bits/ioctl-types.h:38: error: redefinition of `struct termio' make: *** [ps2comm.o] Error 1 As a follow up, it looks like the synaptics driver problem was not related to this. The previous version installed fine. I tried emerging linux-headers-2.6.8.1-r4, and gnome-applets installed fine when using the older headers. I'm just using the old linux-headers as a fix for now. ok, i now could reproduce it with linux-headers-2.6.10. with 2.6.8.1-r3, it worked fine.. blubb@aqua ~/tmp/gnome-applets-2.8.2/modemlights $ gcc -E modemlights.c > /dev/null In file included from modemlights.c:28: modemlights.h:9:26: panel-applet.h: No such file or directory modemlights.h:30:19: gnome.h: No such file or directory modemlights.c:30:35: libgnomeui/gnome-help.h: No such file or directory blubb@aqua ~/tmp/gnome-applets-2.8.2/modemlights $ gcc -E modemlights.c 2> /dev/null | grep "__u8" typedef unsigned char __u8; __u8 __user *ptr; i'm slightly irritated... ok, i forgot the -Is, without that the errors disappear, BUT: blubb@aqua ~/tmp/gnome-applets-2.8.2/modemlights $ gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -DORBIT2=1 -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/panel-2.0 -I/usr/include/libgnomeui-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I//usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -DGNOMELOCALEDIR=\""/usr/local/share/locale"\" -DVERSION=\""2.8.2"\" -E modemlights.c | grep -C 5 __u8 shows: ... struct ppp_option_data { __u8 __user *ptr; __u32 length; int transmit; }; ... and now let's grep for __user: __u8 __user *ptr; unsigned char __user *ptr; doesn't make much sense to me :) i guess it's irritated because __user isn't defined anywhere. a simple #define __user should help All of the reports so far are on amd64, and I can't reproduce on x86 or ppc. Obz, that could be because of types.h: /* Common header file autogenerated by create_ml_includes in multilib.eclass */ #ifdef __i386__ #include "../asm-i386/types.h" #endif /* __i386__ */ #ifdef __x86_64__ #include "../asm-x86_64/types.h" #endif /* __x86_64__ */ only a guess... Fixed in CVS, emerge sync, remerge headers and things should work. Thanks! |