recover gentoo: /etc/fstab passwd root!!!!! must emerge emerge sys-libs/e2fsprogs-libs to get libuuid which is required from dbus,xorg stuff etc! to emerge glibc remove 'vanilla swat' use flags from make.conf AND REALLY REMOVE 'vanilla' !!!!!! emerge --digest to overwrite ignore file collisions.. or --noconfmem is even stronger or /etc/make.conf entry: FEATURES="-collision-protect" emerge --update --digest --noconfmem --newuse world emerge -uDN world && revdep-rebuild -- --keep-going && lafilefixer --justfixit && revdep-rebuild -- --keep-going add threads to make.conf for dbus keyboard and mouse with xfce4/xorg: emerge x11-drivers/xf86-input-keyboard emerge x11-drivers/xf86-input-mouse /usr/sbin/python-updater emerge -av pygobject pycairo pygtk dbus-python avahi force emerge sync: rm /usr/portage/metadata/timestamp.chk eselect opengl set ati revdep-rebuild on cache.cache_errors.CacheCorruption: do this: rm -rf /var/cache/edb/dep emerge --metadata repoman -I load world without deleting necessary stuff: http://bugs.gentoo.org/show_bug.cgi?id=234907#c7 1. emerge -NuDav --fetchonly world 2. emerge -C ss com_err e2fsprogs 3. emerge -NuDav --nodeps e2fsprogs-libs e2fsprogs 4. echo "sys-libs/com_err" >>/etc/portage/package.mask 5. echo "sys-libs/ss" >>/etc/portage/package.mask 6. echo "sys-libs/com_err-1.40.11" >>/etc/portage/profile/package.provided 7. echo "sys-libs/ss-1.40.11" >>/etc/portage/profile/package.provided avoid "poor code kills airplanes": /etc/make.conf entry: FEATURES="-stricter" emerge -uN world || until emerge --resume --skipfirst; do emerge --resume --skipfirst; done;init 0 emerge -uN --digest --noconfmem --newuse world || until emerge --resume --digest --noconfmem --newuse --skipfirst; do emerge --digest --noconfmem --newuse--resume --skipfirst; done;init 0 DONT DO THIS EVER AGAIN: emerge -avtuD world || until emerge --resume --skipfirst; do emerge --resume --skipfirst; done;init 0 http://wiki.sabayonlinux.org/index.php?title=Unoffical_Guide_To_World_Update //do this after bzcatuntaring gentoo stage: emerge --pretend --depclean emerge --depclean revdep-rebuild emerge -uvD system && emerge -uvD world emerge -e system && emerge -e system recompile kernel # emerge -e world && emerge -e world recompile kernel always worked in past and really no room for errors. list all installed ebuilds: find /var/db/pkg -type f -name "*.ebuild" patching 2.27.5 with ati driver 8.10 gentoo: patch: http://www.phoronix.com/forums/showpost.php?p=46823&postcount=4 cd /lib/modules/fglrx/build_mod/ insert the patch txt here: vi patchati.txt cp firegl_public.c firegl_public.c.orig patch firegl_public.c emerge --oneshot * libxcb-1.1 adds the LIBXCB_ALLOW_SLOPPY_LOCK variable to allow * broken applications to keep running instead of being aborted. * Set this variable if you need to use broken packages such as Java * (for example, add LIBXCB_ALLOW_SLOPPY_LOCK=1 to /etc/env.d/00local * and run env-update). in case of missing xml perl parser: emerge dev-perl/XML-Parser set opengl for x11 to find glut (libGL): eselect opengl set ati emerge eselect-opengl necessary fstab entry: tmpfs /dev/shm tmpfs defaults 0 0 check n set: localhost ~ # eselect opengl list Available OpenGL implementations: [1] ati [2] xorg-x11 * localhost ~ # eselect opengl set ati Switching to ati OpenGL interface... done localhost ~ # eselect opengl list Available OpenGL implementations: [1] ati * [2] xorg-x11 X 1.5 update gentoo stuff: http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.5-upgrade-guide.xml cleanup: eclean-pkg eclean-dist emerge world emerge --sync rm /usr/portage/distfiles/* update after emerge --sync: emerge -pvnN @installed last chance after stage-3 install of older than installed and deleted db: 501 emerge -NuDav --fetchonly world 502 emerge -C ss com_err e2fsprogs 503 emerge -C ss com_err e2fsprogs 504 emerge -NuDav --nodeps e2fsprogs-libs e2fsprogs 505 echo "sys-libs/com_err" >>/etc/portage/package.mask 506 echo "sys-libs/ss" >>/etc/portage/package.mask 507 echo "sys-libs/com_err-1.40.11" >>/etc/portage/profile/package.provided 508 echo "sys-libs/com_err-1.40.11" >/etc/portage/profile/package.provided 509 echo "sys-libs/com_err-1.40.11" >/etc/portage/profile/package.provided 510 echo "sys-libs/com_err-1.40.11" >>/etc/portage/package.provided 511 echo "sys-libs/ss-1.40.11" >>/etc/portage/package.provided 512 mkdir -p /etc/portage/profile 513 echo "-*sys-fs/e2fsprogs" >> /etc/portage/profile/packages 514 emerge -p e2fsprogs 515 echo =sys-fs/e2fsprogs-1.41.0 >> /etc/portage/package.maskeix 516 eix e2fsprogs 517 emerge sys-fs/e2fsprogs 518 emerge sys-fs/e2fsprogs --fetchonly 519 emerge sys-fs/e2fsprogs --fetchonly world 520 emerge xorg --fetchonly world 521 eix xorg 522 emerge xorg-server --fetchonly world 523 ll 524 emerge -NuDav --fetchonly world 525 emerge world --pretend 526 emerge world 527 etc-update upgrade a really old one: http://blog.jolexa.net/2009/03/25/gentoo-tips-to-upgrade-your-really-old-installation/ http://knecht.homelinux.net/phpBB2/viewtopic.php?f=14&t=1630 how it might work: tar xvf 2008 then 2009 ebuilds, emerge --sync emerge -uDav system etc-update emerge portage emerge libdrm package.use x11-base/xorg-server aiglx dev-java/sun-jre-bin nsplugin dev-java/blackdown-jre nsplugin sys-devel/scratchbox-toolchain-cs2005q3_2-glibc arm i386 app-emulation/qemu-softmmu sdl package.keywords: net-firewall/ipsec-tools www-client/mozilla-firefox ~x86 net-libs/xulrunner ~x86 dev-libs/nspr ~x86 dev-libs/nss ~x86 dev-db/sqlite ~x86 media-libs/swfdec ~x86 sys-devel/binutils ~x86 media-sound/alsa-driver ~x86 sys-apps/coldplug ~x86 media-video/dvbcut ~x86 media-libs/mesa ~x86 x11-apps/mesa-progs ~x86 x11-libs/libdrm ~x86 sys-fs/udev ~x86 x11-base/xorg-server ~x86 app-admin/eselect-opengl ~x86 x11-libs/libXfont ~x86 x11-proto/randrproto ~x86 x11-proto/dri2proto ~x86 x11-drivers/ati-drivers ~x86 x11-base/xorg-x11 ~x86 media-fonts/font-xfree86-type1 ~x86 x11-libs/libFS ~x86 media-libs/glew ~x86 x11-drivers/xf86-input-evdev ~x86 x11-drivers/xf86-input-mouse ~x86 x11-drivers/xf86-video-ati ~x86 x11-drivers/xf86-input-keyboard ~x86 x11-libs/gtk+ ~x86 app-text/ghostscript-gpl ~x86 virtual/ghostscript ~x86 sys-devel/gcc ~x86 dev-libs/glib ~x86 emerge libdrm kernel netfilter: http://www.shorewall.net/kernel.htm void glumain(); firefox: emerge kde-base/nsplugins for fullscreen flash or: export LD_PRELOAD=/usr/lib/libGL.so.1 gcc and nptl: Upgrading GCC: http://www.gentoo.org/doc/en/gcc-upgrading.xml Migrating to NPTL: http://gentoo-wiki.com/HOWTO_Migrate_to_NPTL glibc: Gentoo glibc troubles I ran into some troubles with Gentoo and glibc over the weekend. Here's what fixed it, in case it helps anyone out in the future. Why it broke: Someone upgraded glibc from 2.6 to 2.9_p20081201. It's masked, and what's worse, installing it moves the old glibc libraries from /usr/lib to /usr/local/lib, which is a most un-Gentoo location. Additionally, the famous e2fsprogs circular bug occurred, which can be fixed by following these steps: quickpkg com_err ss e2fsprogs && emerge -uDNf world && emerge -C com_err ss e2fsprogs && emerge e2fsprogs && emerge -uDN world && revdep-rebuild #(if necessary) However, having a new glibc breaks the e2fsprogs emerge with the following message: 1. /usr/local/lib/libdl.so.2: undefined reference to `_dl_tls_get_addr_soft@GLIBC_PRIVATE' 2. The ebuild environment file is located at '/var/tmp/portage/sys-fs/e2fsprogs-1.41.3/temp/environment'. 3. A complete build log is located at '/var/tmp/portage/sys-fs/e2fsprogs-1.41.3/temp/build.log'. 4. collect2: ld returned 1 exit status 5. make[2]: *** [debugfs] Error 1 6. make[2]: Leaving directory `/var/tmp/portage/sys-fs/e2fsprogs-1.41.3/work/e2fsprogs-1.41.3/debugfs' 7. make[1]: *** [all-progs-recursive] Error 1 8. make[1]: Leaving directory `/var/tmp/portage/sys-fs/e2fsprogs-1.41.3/work/e2fsprogs-1.41.3' 9. make: *** [all] Error 2 10. 11. ERROR: sys-fs/e2fsprogs-1.41.3 failed. 12. Call stack: 13. ebuild.sh, line 49: Called src_compile 14. environment, line 2449: Called die 15. The specific snippet of code: 16. emake COMPILE_ET=compile_et MK_CMDS=mk_cmds || die; 17. The die message: 18. (no error message) 19. 20. If you need support, post the topmost build error, and the call stack if relevant. So, I asked on #gentoo but got no answer. Not because they didn't help, but because it stumped them as well. So here's my fix. Symbolically link /usr/local/lib/libdl.so.2 to /lib64/libdl.so.2. Then emerge e2fsprogs. This will fix the problem. ln -snf /lib64/libdl.so.2 /usr/local/lib/libdl.so.2 emerge e2fsprogs Note that, after this, /usr/local/lib/libdl.so.2 will point to /usr/local/lib/libdl.so as before. Portage fixes this every time it runs, so emerge everything except for e2fsprogs before this fix, then emerge e2fsprogs and you can boot again. So to summarize: If you upgrade glibc and this breaks the e2fsprogs compilation, temporarily make libdl.so.2 point to the new libdl.so.2 and e2fsprogs will compile. This will restore the core utilites such as fsck and mount, thereby letting you boot again. This entry was posted on Monday, January 19th, 2009 at 3:27 pm and is filed under gentoo. You can follow any responses to this entry through the RSS 2.0 feed.You can leave a response, or trackback from your own site. firefox fullscreen: add to /usr/bin/firefox the libGL line: #!/bin/sh export LD_PRELOAD=/usr/lib/libGL.so.1.2 export LD_LIBRARY_PATH="/usr/lib/mozilla-firefox${LD_LIBRARY_PATH+":${LD_LIBRARY_PATH}"}" exec "/usr/lib/mozilla-firefox"/firefox "$@" emerge error on libXxf86vm: emerge -1 x11-proto/xf86vidmodeproto first... for radeon 2400hd etc: put in /etc/portage/package.keywords: x11-drivers/xf86-video-radeonhd ~x86 x11-libs/libX11 ~x86 sys-libs/glibc ~x86 x11-drivers/xf86-video-ati ~x86 media-libs/mesa ~x86 x11-drivers/radeon-ucode ~x86 and do: emerge x11-drivers/radeon-ucode git resources: mesa, drm libgl old package dependancy fix with link: mkdir /usr/X11R6 ln -s /usr/lib/dri /usr/X11R6/dri http://www.gentoo-wiki.info/Downgrade_Glibc like emerge --emptytree system; emerge --emptytree world libreadline problems (so.5) could depend on: sys-kernel/linux-headers not in /etc/portage/package.keywords avguard update: /usr/lib/AntiVir/guard/avupdate-guard --product=Guard make.conf: # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /etc/make.conf.example for a more detailed example. #CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" CFLAGS="-Os -march=prescott -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" # This should not be changed unless you know exactly what you are doing. You # should probably be using a different stage, instead. CHOST="i686-pc-linux-gnu" MAKEOPTS="-j3" LDFLAGS=" -L/usr/local/glibc/lib -L/usr/local/glibc/usr/lib $LDFLAGS" # --as-needed removed.. USE="video aqua cleartype glitz xcb alsa dvdr gpac gstreamer lame sox vorbis quicktime ffmpeg aac a52 amr zlib ieee1394 X dvd encode esd firefox fortran gdbm gif gnome gpm gtk hal ipv6 jpeg kernel_linux l dap mad mikmod mp3 mpega mysql ncurses nls nptl nptlonly pam pdflib perl png ppds pppd python qt4 sdl session spl ssl tcpd truetype truetype-fonts type1-fonts udev unicode userland_GNU vorbis win32codecs x86 xml xorg xv win32code cs asf xine mmx mmxext dvdread cdparanoia rtc sse -sse2 v4l xine-dvdnav mysql opengl nxclient xvid devil dbus arts hddtemp lm_sensors iconv readline kdrive vanilla dri bluetooth svg consolekit kde clucene qt3support secure-delete sndfile embedded extras gnutls" #removed xvmc (not supoported by ati suckers) FEATURES="parallel-fetch -collision-protect" #removed -stricter collision-protect loadpolicy GENTOO_MIRRORS="de-mirror.org mirror.switch.ch" VIDEO_CARDS="v4l vesa vga fbdev fglrx" #VIDEO_CARDS="v4l vesa vga fbdev " #VIDEO_CARDS="radeonhd radeon v4l" INPUT_DEVICES="evdev vesa fbdev mouse kbd" reemerge missing files: emerge -av1 `qlist --installed --nocolor | uniq | while read cp; do qlist --exact $cp | while read file; do test -e $file || { echo $cp; echo "$cp: missing $file (and maybe more)" 1>&2; break; }; done; done`