I unmerged linux-headers because I'm having problems with it (that's a topic for a different ticket). When I "emerge -u openssh", it merrily goes about trying to configure & build 3.8p1 . Since the configure step requires include files in /usr/include/linux , which are installed by the linux-headers package, the openssh ebuild should be set to require that package. Reproducible: Always Steps to Reproduce: 1. emerge unmerge linux-headers 2. emerge openssh 3. Actual Results: hostname openssh-3.8p1 # emerge -u openssh Calculating dependencies ...done! >>> emerge (1 of 1) net-misc/openssh-3.8_p1 to / >>> md5 src_uri ;-) openssh-3.8p1.tar.gz >>> Unpacking source... >>> Unpacking openssh-3.8p1.tar.gz to /usr/portage/tmp/portage/openssh-3.8_p1/work * Applying openssh-3.8_p1-kerberos.patch... [ ok ] * Applying openssh-3.8_p1-resolv_functions.patch... [ ok ] >>> Source unpacked. configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for sparc-sun4m-linux-gnu-gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking build system type... sparc-unknown-linux-gnu checking host system type... sparc-sun4m-linux-gnu checking whether byte ordering is bigendian... yes checking for gawk... gawk checking how to run the C preprocessor... /lib/cpp configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details. !!! ERROR: net-misc/openssh-3.8_p1 failed. !!! Function src_compile, Line 100, Exitcode 1 !!! bad configure Expected Results: Calculating dependencies ...done! >>> emerge (1 of 2) sys-kernel/linux-headers-2.4.21-r1 to / ... >>> emerge (2 of 2) net-misc/openssh-3.8_p1 to / emerge info: Portage 2.0.50-r1 (default-sparc-1.4, gcc-3.2.3, glibc-2.3.3_pre20040207-r0, 2.4.24-sparc) ================================================================= System uname: 2.4.24-sparc sparc sun4m Gentoo Base System version 1.4.3.13 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="sparc ~sparc" AUTOCLEAN="yes" CFLAGS="-mcpu=supersparc -O2 -pipe -fstack-protector" CHOST="sparc-sun4m-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=supersparc -O2 -pipe -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache digest sandbox" GENTOO_MIRRORS="http://www.gtlib.cc.gatech.edu/pub/gentoo" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/usr/portage/tmp/" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X berkdb crypt cups curl ethereal foomaticdb gd gdbm gnome gtk imlib jpeg libwww mbox mozilla mysql ncurses nocd pam pdflib perl png ppds python qt readline samba sasl slang sparc spell ssl tcltk tcpd tiff truetype xml xml2 zlib" The relevant failure section from config.log: configure:2777: /lib/cpp conftest.c In file included from /usr/include/bits/posix1_lim.h:130, from /usr/include/limits.h:144, from /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/include/limits.h:132, from /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/include/syslimits.h:7, from /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/include/limits.h:11, from conftest.c:11: /usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory configure:2783: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define WORDS_BIGENDIAN 1 | /* end confdefs.h. */ | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | Syntax error configure:2852: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details.
a _lot_ of packages require linux-headers in this manner ... adding linux-headers to the DEPEND of all of them would be a nightmare
Okay, thanks for explaining that. I wanted to clear that issue up before getting into the next problem I'm having with linux-headers.
note also that the virtual "os-headers" (as supplied by linux-headers) is in system profile. packages resolved and living in the profile for the system need not be in DEPEND, unless there are specific version requirements. There are ofc. some exceptions, like other programs in the profile. And, as virtual/ssh is in the profile (provided default by openssh) this one example -should- have virtual/os-headers listed (or linux-headers) Reopening for that reason.
whatever floats your boat :p