Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 83550 - gnome-base/gnome-applets-2.8.2 fails with linux-headers-2.6.10
Summary: gnome-base/gnome-applets-2.8.2 fails with linux-headers-2.6.10
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Tim Yamin (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-28 06:32 UTC by Herbie Hopkins (RETIRED)
Modified: 2005-03-06 14:02 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Herbie Hopkins (RETIRED) gentoo-dev 2005-02-28 06:32:48 UTC
emerge =gnome-base/gnome-applets-2.8.2 fails with sys-kernel/linux-headers-2.6.10 on amd64 2005.0 profile.

In file included from modemlights.c:44:
/usr/include/linux/if_ppp.h:95: error: parse error before '*' token
/usr/include/linux/if_ppp.h:98: error: parse error before '}' token
make[3]: *** [modemlights.o] Error 1
make[3]: Leaving directory `/home/portage/tmp/portage/gnome-applets-2.8.2/work/gnome-applets-2.8.2/modemlights'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/portage/tmp/portage/gnome-applets-2.8.2/work/gnome-applets-2.8.2/modemlights'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/portage/tmp/portage/gnome-applets-2.8.2/work/gnome-applets-2.8.2'
make: *** [all] Error 2


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.51-r15 (default-linux/amd64/2005.0, gcc-3.4.3-20050110,
glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.10-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.6.9
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Feb 18 2005, 12:50:00)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
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.4
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="-march=athlon64 -O2 -pipe -fweb -ftracer"
CHOST="x86_64-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/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -fweb -ftracer"
DISTDIR="/mnt/nfs/home/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="ftp://gentoo.blueyonder.co.uk/mirrors/gentoo
ftp://pandemonium.tiscali.de/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/home/portage/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/main /usr/local/overlays/mplayer32-bin"
SYNC="rsync://trantor/gentoo-portage"
USE="amd64 S3TC X aalib acpi alsa avi berkdb bitmap-fonts cdr crypt cups curl
dga divx4linux dvd dvdr dvdread eds encode escreen etwin evo f77 faad fam fbcon
flac flash fortran gd gdbm gif gimpprint gnome gphoto2 gpm gstreamer gtk gtk2
gtkhtml hal imagemagick imap imlib ipv6 java javascript jp2 jpeg ldap libwww lzw
lzw-tiff mad maildir mikmod mjpeg motif mozaccess-builtin mozilla mozirc
mozxmlterm mpeg mysql ncurses nls nptl nvidia offensive oggvorbis opengl oss pam
perl plotutils png python quicktime readline samba sdl slang sox speex spell ssl
tcpd tetex theora tiff truetype truetype-fonts type1-fonts usb userlocales xface
xine xinerama xml2 xmms xpm xrandr xv xvid xvmc zlib video_cards_nvidia"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Comment 1 Mike Gardiner (RETIRED) gentoo-dev 2005-03-01 22:36:47 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?
Comment 2 Herbie Hopkins (RETIRED) gentoo-dev 2005-03-02 02:39:19 UTC
same error with CFLAGS="-march=athlon64 -O2 -pipe".
Comment 3 Simon Stelling (RETIRED) gentoo-dev 2005-03-02 04:32:25 UTC
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 
Comment 4 Herbie Hopkins (RETIRED) gentoo-dev 2005-03-02 04:45:30 UTC
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
Comment 5 Mike Gardiner (RETIRED) gentoo-dev 2005-03-02 18:33:13 UTC
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.
Comment 6 Jordan Patterson 2005-03-05 10:11:59 UTC
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
Comment 7 Jordan Patterson 2005-03-05 13:51:35 UTC
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.
Comment 8 Simon Stelling (RETIRED) gentoo-dev 2005-03-05 14:28:33 UTC
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...
Comment 9 Simon Stelling (RETIRED) gentoo-dev 2005-03-05 14:42:18 UTC
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
Comment 10 Mike Gardiner (RETIRED) gentoo-dev 2005-03-06 01:47:00 UTC
All of the reports so far are on amd64, and I can't reproduce on x86 or ppc.
Comment 11 Simon Stelling (RETIRED) gentoo-dev 2005-03-06 04:55:16 UTC
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...
Comment 12 Tim Yamin (RETIRED) gentoo-dev 2005-03-06 14:02:42 UTC
Fixed in CVS, emerge sync, remerge headers and things should work. Thanks!