Summary: | net-dialup/rp-pppoe-3.8 fails to compile with sys-kernel/linux-headers-2.6.19 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Rene Gass <kde-package> |
Component: | New packages | Assignee: | Gentoo Dialup Developers <net-dialup> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ford_prefect, russell, teidakankan |
Priority: | High | ||
Version: | 2006.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 159304 | ||
Attachments: |
my /usr/include/linux/if.h
my /usr/include/linux/if.h my /usr/include/net/if.h my /usr/include/linux/types.h my /usr/include/linux/socket.h my /usr/include/linux/hdlc/ioctl.h my /usr/include/features.h my /usr/include/sys/types.h my /usr/include/sys/socket.h |
Description
Rene Gass
2007-01-03 13:09:20 UTC
I think this is related to glibc-2.5 more than to linux-headers. Also, the unused ifr warning is strange. Please attach a tarball containing the following files: /usr/include/linux/if.h /usr/include/net/if.h whatever file is included by the previous file. Created attachment 105333 [details]
my /usr/include/linux/if.h
Created attachment 105334 [details]
my /usr/include/linux/if.h
Created attachment 105335 [details]
my /usr/include/net/if.h
Created attachment 105336 [details]
my /usr/include/linux/types.h
Created attachment 105337 [details]
my /usr/include/linux/socket.h
Created attachment 105338 [details]
my /usr/include/linux/hdlc/ioctl.h
Created attachment 105339 [details]
my /usr/include/features.h
Created attachment 105340 [details]
my /usr/include/sys/types.h
Created attachment 105341 [details]
my /usr/include/sys/socket.h
Sorry for the dupe, the page didn't load properly. I hope these are all you need. struct ifreq is only defined if you have preprocessor flags like _GNU_SOURCE or _BSD_SOURCE or _SVID_SOURCE because if you look at the spec for net/if.h (which is where this struct is defined), it only requires a few things: http://www.opengroup.org/onlinepubs/009695399/basedefs/net/if.h.html in order to get access to all the other fun stuff, you need the aforementioned preprocessor stuff Try the following: run "ebuild rp-pppoe-3.8.ebuild unpack" delete -ansi from /var/tmp/portage/rp-pppoe-3.8/work/rp-pppoe-3.8/configure script run "ebuild rp-pppoe-3.8.ebuild merge" fixed in cvs (without revision bump) by adding -D_GNU_SOURCE to CFLAGS. I have changed /var/tmp/portage/rp-pppoe-3.8/work/rp-pppoe-3.8/src/configure but merge fails at the same location. I'm currently syncing my tree and will try again. Ok, it gets a little further. This is what I get now: ... i686-pc-linux-gnu-gcc -march=pentium4 -O2 -fno-ident -fomit-frame-pointer -pipe -D_GNU_SOURCE -Wall -Wstrict-prototypes -ansi '-DPPPOE_PATH="/usr/sbin/pppoe"' '-DPPPD_PATH="/usr/sbin/pppd"' '-DPLUGIN_PATH="/etc/ppp/plugins/rp-pppoe.so"' '-DPPPOE_SERVER_OPTIONS="/etc/ppp/pppoe-server-options"' -Ilibevent '-DVERSION="3.8"' -c -o plugin/debug.o -fPIC debug.c i686-pc-linux-gnu-gcc '-DRP_VERSION="3.8"' -march=pentium4 -O2 -fno-ident -fomit-frame-pointer -pipe -D_GNU_SOURCE -Wall -Wstrict-prototypes -ansi '-DPPPOE_PATH="/usr/sbin/pppoe"' '-DPPPD_PATH="/usr/sbin/pppd"' '-DPLUGIN_PATH="/etc/ppp/plugins/rp-pppoe.so"' '-DPPPOE_SERVER_OPTIONS="/etc/ppp/pppoe-server-options"' -Ilibevent -I../../ppp-2.4.3 -c -o plugin/plugin.o -fPIC plugin.c i686-pc-linux-gnu-gcc -o pppoe pppoe.o if.o debug.o common.o ppp.o discovery.o In file included from /usr/include/linux/if_pppox.h:21, from plugin.c:56: /usr/include/asm/byteorder.h:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before '___arch__swab64' In file included from /usr/include/linux/byteorder/little_endian.h:12, from /usr/include/asm/byteorder.h:53, from /usr/include/linux/if_pppox.h:21, from plugin.c:56: /usr/include/linux/byteorder/swab.h:160: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__fswab64' /usr/include/linux/byteorder/swab.h:170: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__swab64p' /usr/include/linux/byteorder/swab.h:174: error: expected ')' before '*' token In file included from /usr/include/asm/byteorder.h:53, from /usr/include/linux/if_pppox.h:21, from plugin.c:56: /usr/include/linux/byteorder/little_endian.h:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__cpu_to_le64p' /usr/include/linux/byteorder/little_endian.h:47: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__le64_to_cpup' /usr/include/linux/byteorder/little_endian.h:67: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__cpu_to_be64p' /usr/include/linux/byteorder/little_endian.h:71: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__be64_to_cpup' make: *** [plugin/plugin.o] Error 1 make: *** Waiting for unfinished jobs.... that failure is because of -ansi as Alin hinted I had tried to emerge the package like Alin wrote in #13, which did not help. I synced and got the changes from #14. Emerging without modifying the configure script did not work, as well (I thought the change from #14 would be equivalent to removing the "-ansi"). But taking the new ebuild AND removing "-ansi" from the configure script now solved the problem. So if you patch that "-ansi" out of the configure script, all should be well. Thanks, Ren I had tried to emerge the package like Alin wrote in #13, which did not help. I synced and got the changes from #14. Emerging without modifying the configure script did not work, as well (I thought the change from #14 would be equivalent to removing the "-ansi"). But taking the new ebuild AND removing "-ansi" from the configure script now solved the problem. So if you patch that "-ansi" out of the configure script, all should be well. Thanks, René Fixed in cvs (still without revision bump) by creating configure.patch. The new patch contains the old no-strip.patch and replace -ansi with -D_GNU_SOURCE. Thanks, guys! Works for me, now. Thanks again! *** Bug 161966 has been marked as a duplicate of this bug. *** |