because you wanted a separate bug so badly CC drivers/video/cfbfillrect.o CC drivers/video/cfbcopyarea.o CC drivers/video/cfbimgblt.o LD drivers/video/built-in.o CC [M] drivers/video/vesafb-thread.o drivers/video/vesafb-thread.c:9:26: linux/config.h: No such file or directory make[2]: *** [drivers/video/vesafb-thread.o] Error 1 make[1]: *** [drivers/video] Error 2 make: *** [drivers] Error 2 # emerge --info Portage 2.1.2_rc2-r3 (!..//usr/portage/profiles/default-linux/x86/2006.0, gcc-3.4.6, glibc-2.4-r4, 2.6.18-gentoo-r3-perfctr i686) ================================================================= System uname: 2.6.18-gentoo-r3-perfctr i686 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.6 Last Sync: Unknown ccache version 2.3 [enabled] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.3.5-r3, 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon64 -msse3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=athlon64 -msse3 -pipe" DISTDIR="/usr/portage-distfiles" FEATURES="autoconfig ccache collision-protect cvs distlocks parallel-fetch sandbox sfperms strict stricter userfetch userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.upc.cz/mirrors/gentoo-mirror ftp://ftp.sh.cvut.cz/MIRRORS/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" LANG="en_US.utf8" LINGUAS="en cs" MAKEOPTS="-j2" PKGDIR="/usr/portage-packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/home/caster/gentoo/gentoo-x86/" PORTDIR_OVERLAY="/usr/portage/local/java-experimental /usr/portage/local/java-migrated /usr/portage/local/java-ant /usr/portage/local/caster" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext 7zip X aac alsa amr apache2 apm audiofile bash-completion berkdb bitmap-fonts bluetooth branding bzip2 caps cdr cjk cli crypt cups curl dbus directfb dlloader dri dts dvd dvdr elibc_glibc emboss encode fam fbcon ffmpeg fftw firefox flac foomaticdb fortran gdbm ggi gif gmp gpm gstreamer gtk gtk2 hal icq idn imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog java javascript jpeg kde kdeenablefinal kernel_linux kipi lcms libg++ libwww linguas_cs linguas_en lm_sensors lua lzo mad maildir matroska mbox mikmod mmx mmxext motif mozcalendar mozdevelop moznoirc mozsvg mp3 mpeg mplayer musicbrainz ncurses nls nptl nsplugin nvidia ogg openal opengl oscar pam pcre pdf perl png pppd python qt3 qt4 quicktime readline reflection rtc sdl seamonkey session slang sockets speex spell spl sqlite sse sse2 ssl svg svga tcl tcltk tcpd threads tiff tk truetype truetype-fonts type1-fonts udev unicode usb userland_GNU v4l video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_v4l video_cards_vesa vorbis webdav win32codecs xcomposite xine xml xorg xosd xv xvid zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Removing the #include line helped compiling, let's see about booting :)
Sorry for spam, somehow managed (firefox allowed me) to paste multiline description into summary and didn't clean it fully
Removing the config.h include didn't help here. LD kernel/built-in.o CC drivers/video/vesafb-thread.o drivers/video/vesafb-thread.c: In function 'ioperm': drivers/video/vesafb-thread.c:42: error: 'errno' undeclared (first use in this function) drivers/video/vesafb-thread.c:42: error: (Each undeclared identifier is reported only once drivers/video/vesafb-thread.c:42: error: for each function it appears in.) drivers/video/vesafb-thread.c: In function 'vm86old': drivers/video/vesafb-thread.c:43: error: 'errno' undeclared (first use in this function) make[2]: *** [drivers/video/vesafb-thread.o] Error 1 make[1]: *** [drivers/video] Error 2 make: *** [drivers] Error 2
In drivers/video/vesafb-thread.c I noticed "int errno" surrounded by a #ifdef MODULE statement. Commenting out the conditional statement so errno is declared allows me to build the kernel. It appears to run fine, however this is only a temporary workaround.
Indeed, when I wrote comment 1, I was accidentaly compiling as module (which didn't help much on boot :) building it non-module gives me the same as comment 3.
From bug 156705 comment 6, by spock@gentoo.org: Daniel, could we please upgrade to: http://dev.gentoo.org/~spock/projects/vesafb-tng/archive/vesafb-tng-1.0-rc2-2.6.19-rc2.patch http://dev.gentoo.org/~spock/projects/gensplash/archive/fbsplash-0.9.2-r5-2.6.19-rc2.patch in gentoo-sources? This should fix any problems related to linux/config.h.
the speakup patch also has linux/config.h includes. It should be updated as well. 4400_speakup-20061129.patch lines 8367 and 11337. workaround until the patches are updated '#include <linux/config.h>' should be replaced with '#include <linux/autoconf.h>' in: drivers/char/speakup/spk_priv.h line 29 drivers/char/speakup/speakup_drvcommon.c line 2 drivers/video/vesafb-thread.c line 9 drivers/video/fbsplash.c line 20 drivers/video/cfbsplash.c line 17
Fixed in gentoo-sources-2.6.19-r1. Sorry for the bad initial release.
*** Bug 156898 has been marked as a duplicate of this bug. ***
At this point that's true. However, the reason I came up with this approach is mentioned in comment #16. Basically, having nox on the command line and having this init script check the command line for that means that you have to reboot to undo the affect.