Summary: | net-tools-1.60-r8 fails to compile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Chris Bruner <cbruner> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED WORKSFORME | ||
Severity: | blocker | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Chris Bruner
2004-05-10 21:23:38 UTC
compiles clean over here, both on x86 and ~x86, please post the output of emerge --info emerge --info Portage 2.0.50-r7 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20031222-r0,2.3.3_pre20040117-r0,2.3.3_pre20040207-r0,2.3.3_pre20040420-r0,2.3.2-r1,2.3.2-r3, 2.6.6-rc3-mm1) ================================================================= System uname: 2.6.6-rc3-mm1 i686 AMD Athlon(TM) MP 1800+ Gentoo Base System version 1.4.15 distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.2 [enabled] Autoconf: sys-devel/autoconf-2.59-r1,sys-devel/autoconf-2.59-r3,sys-devel/autoconf-2.59-r4,sys-devel/autoconf-2.58,sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.7.8,sys-devel/automake-1.8.2,sys-devel/automake-1.8.3,sys-devel/automake-1.8.5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="no" CFLAGS="-march=athlon -O3 -pipe -ffast-math -msse -funroll-loops -fforce-addr -falign-functions=4" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /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="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X Xaw3d aalib alsa apm arts avi berkdb bonobo bsf bsh cdr crypt cups dga directfb doc dvd encode esd etwin evo foomaticdb freetype fs gdbm gif gnome gphoto2 gpm gtk gtk2 guile imagemagick imlib jack jack-caps jack-tmpfs java jpeg kde ldap libg++ libwww mad mikmod mmx mng motif mozilla mpeg mpeg4 mysql ncurses nls nptl oggvorbis openal opengl oss pam pdflib perl png python qt quicktime radeon readline ruby samba scanner sdl slang speex spell sse ssl stencil-buffer svga tcltk tcpd tetex truetype video_cards_radeon videos wxwindows x86 xine xml2 xmms xv zlib" /* Fetch the interface configuration from the kernel. */ int if_fetch(struct interface *ife) { struct ifreq ifr; int fd; char *ifname = ife->name; strcpy(ifr.ifr_name, ifname); if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) return (-1); The problem is that skfd is not defined. at line 437. I don't see how you could have compiled it since it is a code error. net-tools-1.60-r8 right? Looking a bit further, it appears that skfd is a global variable and marked as externel in sockets.h For some unknown reason my system doesn't see this file, (it possibly sees some other file with the same name. There's a number on my system). I was able to get around the problem by emerge -u net-tools waiting for the unpacking to finish. ctrl-z copying the sockets.h from include to lib fg This allowed the compile to finish. This seems to be solved and should probably be marked as invalid, as it was due to multiple header files of the same name on the include path. ok Wait a minute. The bug is that system include files are being included before the local ones. The fact that I was able to resolve it on my system doesn't mean the bug is not real. (And it re-occurs with each itteration of net-tools!) The include file in question is sockets.h which sounds to me like a very common name. This can be found in my system at a number of places, /opt/crystal/include/csutil/sockets.h /usr/local/include/sockets.h /usr/include/mono/io-layer/sockets.h So as far as I can see, if you emerge mono or crystalspace or whatever made the local one (Toolbus) then you can't compile net-tools. Am I completely missing something? i guess this should have been marked invalid since you've screwed up your system by setting up files in /usr/local/include/ |