emerge -ep sys-apps/eject ... ... make[1]: Entering directory `/var/tmp/portage/eject-2.0.10/work/eject-2.0.10' gcc -DPACKAGE=\"eject\" -DVERSION=\"2.0.10\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_REGCOMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -I. -I. -I/usr/src/linux -I/usr/src/linux/include -DDEFAULTDEVICE=\"cdrom\" -DGETOPTLONG -Wall -O3 -O2 -mcpu=i686 -pipe -c eject.c eject.c:38: linux/version.h: Too many levels of symbolic links In file included from /usr/include/errno.h:36, from eject.c:52: /usr/include/bits/errno.h:25: linux/errno.h: Too many levels of symbolic links eject.c:59: linux/types.h: Too many levels of symbolic links eject.c:60: linux/cdrom.h: Too many levels of symbolic links eject.c:62: linux/ucdrom.h: Too many levels of symbolic links eject.c:64: linux/fd.h: Too many levels of symbolic links eject.c: In function `AutoEject': eject.c:364: `CDROMEJECT_SW' undeclared (first use in this function) eject.c:364: (Each undeclared identifier is reported only once eject.c:364: for each function it appears in.) eject.c: In function `ChangerSelect': eject.c:378: warning: unused variable `status' eject.c: In function `CloseTray': eject.c:403: warning: unused variable `status' eject.c: In function `SelectSpeedCdrom': eject.c:424: warning: unused variable `status' eject.c: In function `EjectCdrom': eject.c:445: `CDROMEJECT' undeclared (first use in this function) eject.c: In function `EjectFloppy': eject.c:511: `FDEJECT' undeclared (first use in this function) make[1]: *** [eject.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/eject-2.0.10/work/eject-2.0.10' make: *** [all-recursive] Error 1 !!! ERROR: sys-apps/eject-2.0.10 failed. !!! Function src_compile, Line 3, Exitcode 2 !!! (no error message)
There looks to be a problem with symlinks on your system, and not with the eject ebuild... First make sure you have a /usr/src/linux symlink to the current kernel source that you are running. If that is fine... rm -rf /usr/include/linux /usr/include/asm ln -s /usr/src/linux/include/linux /usr/include/linux ln -s /usr/src/linux/include/asm /usr/include/asm Let me know how things go.
Nope...I'm having the same problem in Gentoo 1.2. I renamed the directories, made the symlinks, erased the distfiles, re-downloaded, and it still had the same error. I think it *MIGHT* have something to do with this, but I could be way off: in errno.h, it includes features.h in features.h, it has this: #ifndef _FEATURES_H #define _FEATURES_H 1 #ifndef __ASSEMBLER__ # ifndef _SYS_CDEFS_H # include <sys/cdefs.h> in sys/cdefs.h, it has this: #ifndef _FEATURES_H # include <features.h> #endif could this be it?
I solved this one. In /usr/src/linux, there might be a file that says linux->linux Check it out. I'd be curious as to what made that file. But if you erase it, it installs cleanly.
i can confirm: i also has this file linux->linux in /usr/src/linux after removing it, the emerge went fine