Summary: | can't boot after upgrading to sys-apps/gawk-3.1.4-r2 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Chris Smith <chris> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | ashutiwary, balg, codergeek42, drjonfox, emilbeinroth, gentoo, kkusy, martin, mr_K, yves, z23 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
patch to remove the use of awk and gawk from /sbin/rc
patch to remove the use of awk and gawk from /sbin/rc patch to remove the use of awk and gawk from /sbin/rc |
Description
Chris Smith
2005-02-12 15:10:10 UTC
I got this too. It seems the new gawk links dynamically to /usr/lib/libexpat, so startup scripts that use gawk before /usr is mounted fail. I have the same thing. The system drops to a login prompt after starting what it can with the filesystem readonly (unable to init /etc/mtab) emerge info: Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0 , 2.6.10-morph22 i686) ================================================================= System uname: 2.6.10-morph22 i686 AMD Athlon(tm) 2600+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 17:29:29) ] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1, 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -pipe -fstack-protector" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share /config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/shar e/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/ distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/portage" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib alsa apm avi berkdb bitmap-fonts cdr cfq-ts crypt cups divx div x4linux dvd encode f77 fam flac font-server foomatic foomaticdb fortran gdbm gif gimpprint gpm gtk gtk2 imagemagick imlib ipv6 java jpeg libg++ libwww live mad mikmod mmx motif mozilla mpeg nas ncurses nls nptl offensive oggvorbis opengl os s pam pdflib perl pic png posix ppds python quicktime readline samba sdl spell s se ssl staircase svga tcltk tcpd tiff truetype truetype-fonts type1-fonts unicod e usb xml xml2 xmms xpm xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS *** Bug 81817 has been marked as a duplicate of this bug. *** I think you're having the same problem described in bug # 81823. *** Bug 81823 has been marked as a duplicate of this bug. *** Created attachment 51168 [details, diff]
patch to remove the use of awk and gawk from /sbin/rc
I've only done very limited testing of it at the time of this post.
Comment on attachment 51168 [details, diff]
patch to remove the use of awk and gawk from /sbin/rc
only limited testing
Created attachment 51171 [details, diff]
patch to remove the use of awk and gawk from /sbin/rc
limited testing
Created attachment 51172 [details, diff]
patch to remove the use of awk and gawk from /sbin/rc
gosh this web interface is killing me, sorry :)
I simply copied libexpat* from /usr/lib to /lib Why is this ebuild not masked? If not an unbootable system, what makes an ebuild qualify for masking? Applying it to a remote system could be reasonably catastrophic. Shouldn't it be masked until it's resolved? The issue is that sys-apps/gawk-3.1.4-r2 in /bin depends on dev-libs/expat in /usr/lib. The latest (-r2 only) version gawk depends on libexpat: $ ldd /bin/gawk linux-gate.so.1 => (0xffffe000) libdl.so.2 => /lib/libdl.so.2 (0x4aa6a000) libm.so.6 => /lib/libm.so.6 (0x4ab5b000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x4ac6d000) libc.so.6 => /lib/libc.so.6 (0x4a940000) /lib/ld-linux.so.2 (0x4a926000) This make my late sytem boot become big mess. I managed to login, but root filesystem was mounted read only. I had to "mount -o remount,rw /" and "cp -a /usr/lib/libexpat* /lib" in order to be able to boot it again. Two choices: - moving gawk into the land of /usr and remove the use of gawk in the init script until /usr is accessible. - moving libexpat into the land of / Thanks for fixing this thing quickly. The origin of this bug is the patch proposed in enhancement proposal bug #57857. Comment on attachment 51172 [details, diff]
patch to remove the use of awk and gawk from /sbin/rc
removal of awk from /sbin/rc will be a feature for the future, not for the
current baselayout
Personally I'd like to see gentoo sometime in the future adopt mawk (GPL-2). Frankly, gawk is bloated and slow. mawk can run circles around gawk. Of all the ebuilds and system files I've seen that call gawk specifically, not one has actually used a gawk specific extension. Of course on a gentoo system and most other linux distros awk is a symlink to gawk and so it doesn't matter if you call awk or gawk -- gawk still gets executed. It would seem more fitting for a lean and mean distro such as gentoo to use a lean and mean version of awk and not some slow wimp version. :) One day I would really like to see gentoo link awk to mawk but keep gawk as an aside (even though I've never seen anything in gentoo actually use a gawk specific extension). *** Bug 82046 has been marked as a duplicate of this bug. *** assuming we dont have problems refering to 'awk' in baselayout, you could in theory just update the /bin/awk symlink to point to mawk ... regardless, gawk-3.1.4-r3 is now in portage ... it'll build gawk twice if USE=xml, that way we get the normal gawk w/out libexpat requirements in /bin while the xml peeps get their 'xmlgawk' in /usr/bin shew.. nice work. :) My fancy for awk didn't want to see it removed anyway. :) *** Bug 82096 has been marked as a duplicate of this bug. *** *** Bug 82137 has been marked as a duplicate of this bug. *** *** Bug 82263 has been marked as a duplicate of this bug. *** *** Bug 82853 has been marked as a duplicate of this bug. *** *sigh* at least i am not the only one who has submitted this bug as duplicate :) |