Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 116111 - prepstrip takes a very long time when emerging ImageMagick
Summary: prepstrip takes a very long time when emerging ImageMagick
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: REGRESSION
: 116683 (view as bug list)
Depends on:
Blocks: 115839
  Show dependency tree
 
Reported: 2005-12-19 17:24 UTC by Christoph Bussenius
Modified: 2005-12-25 05:02 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
prepstrip.diff (prepstrip.diff,602 bytes, patch)
2005-12-20 08:03 UTC, solar (RETIRED)
Details | Diff
prepstrip (prepstrip,1.28 KB, patch)
2005-12-21 11:23 UTC, solar (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Bussenius 2005-12-19 17:24:04 UTC
I'm emerging medias-gfx/imagemagick-6.2.4.2-r1 and I haven't seen any motion on the console for at least 20 minutes.  The last thing that was output was the list of manpages that were gzipped.  Using "top", I discovered that "prepstrip" is eating my CPU.  ltrace -p 21545 showed this output:

strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4066
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4065
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4064
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4063
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4062
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4061
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4060
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4059
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4058
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4057
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4056
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4055
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4054
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4053
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4052
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4051
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4050
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4049
strlen("*SB executable*")                        = 15
__ctype_get_mb_cur_max(0x8171e48, 0x8171e57, 0, 0x4018bff4, 0x4018da00) = 1
strlen("ers/gradient.a/var/tmp/portage/i"...)    = 4048
strlen("*SB executable*")                        = 15

... and so on, all the time.

Looking at /usr/lib/portage/bin/prepstrip, I think the problem is almost certainly in these lines:

	if [ -z "${f/*current ar archive*/}" ]; then
		echo "   ${x:${#D}:${#x}}"
		${STRIP} -g "${x}"
	fi
	if [ -z "${f/*SB executable*/}" ] || [ -z "${f/*SB shared object*/}" ]; then
		echo "   ${x:${#D}:${#x}}"
		save_elf_debug "${x}"
		${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}"
	fi

Looks like bash (version 3.0-r14) executes those string manipulations quite inefficiently.

emerge --info:
Portage 2.1_pre1 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14.2 i686)
=================================================================
System uname: 2.6.14.2 i686 Intel(R) Pentium(R) M processor 2.00GHz
Gentoo Base System version 1.12.0_pre11
distcc 2.18.3 i386-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-pc-linux-gnu"
CFLAGS="-O2 -fomit-frame-pointer -march=i686 -pipe"
CHOST="i386-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -fomit-frame-pointer -march=pentium-m -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://opaque/pub/gentoo ftp://ftp.leo.org/mirrors/gentoo ftp://ftp.uni-erlangen.de/mirrors/gentoo"
LC_ALL="en_US.ISO8859-1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac aalib acpi alsa arts asf audiofile avi avifile bash-completion berkdb bitmap-fonts browserplugin bzip2 caps cdr crypt cscope cups curl dga dio directfb dri dvb dvd dvdr dvdread emboss encode esd ethereal examples exif expat fam fbcon firefox flac foomaticdb fortran ftp gdbm ggi gif glut gmp gpm gs gstreamer gtk gtk2 icq idn imagemagick imap imlib ipv6 jabber java jpeg lcms libcaca libg++ libwww lirc logrotate mad maildir mbox mikmod mime mng motif mozsvg mp3 mpeg msn nas ncurses netboot nsplugin offensive ogg oggvorbis opengl oss pam pcre pdflib perl png posix qt quicktime readline real recode ruby sdl sockets socks5 sox speex spell sse ssl svga tcltk tcpd tetex theora tidy tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vidix vim-with-x vorbis wifi win32codecs wmf xine xinerama xml2 xmms xpm xv xvmc zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS


I've been using this portage version for a few days, but ImageMagick is the first ebuild that has these problems.  (imagemagick-6.2.5.4 showed the same problem).
Comment 1 Marius Mauch (RETIRED) gentoo-dev 2005-12-19 17:44:44 UTC
Can't reproduce that here on a ~amd64 system.
Comment 2 Saleem Abdulrasool (RETIRED) gentoo-dev 2005-12-19 19:30:21 UTC
What is the amount of RAM on your machine?
Comment 3 Christoph Bussenius 2005-12-19 20:44:52 UTC
I have got 1024MB of RAM.
Comment 4 Tom Shaw 2005-12-20 00:30:07 UTC
Same problem happens here, I can get around it using:
FEATURES="nostrip" emerge imagemagick


# emerge info
Portage 2.1_pre1 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-ck7 i686)
=================================================================
System uname: 2.6.14-ck7 i686 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.12.0_pre11
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -msse2 -fprefetch-loop-arrays -fomit-frame-pointer -ftracer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -msse2 -fprefetch-loop-arrays -fomit-frame-pointer -ftracer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig buildpkg ccache distcc distlocks parallel-fetch sfperms strict"
GENTOO_MIRRORS="http://mirrors.tds.net/gentoo"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/local/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="x86 3dnow X aac acpi alsa apm arts artswrappersuid asf audiofile avi bash-completion berkdb bitmap-fonts bzip2 cdparanoia cdr cjk cpudetection crypt css cups curl dga dlloader dri dv dvd dvdr emboss encode exif expat fam fastcgi ffmpeg flac flash font-server foomaticdb fortran gd gdbm geoip ggi gif glut gmp gphoto2 gpm gps gtk2 hal idn ieee1394 imagemagick imap imlib jabber java jpeg kcal kde kdeenablefinal kipi kqemu lcms libg++ libgda libwww logitech-mouse mad mikmod mmx mmxext mng mp3 mpeg mplayer musicbrainz ncurses nls nodrm nomotif nptl nptlonly nsplugin offensive ogg oggvorbis openal openexr opengl pam pcre pdflib perl png ppds python qt quicktime rdesktop readline real samba scanner sdl slp softmmu speex spell sqlite sse sse2 ssl svg svga symlink tcltk tcpd theora tidy tiff truetype truetype-fonts tscd type1-fonts udev unicode usb userlocales vorbis win32codecs wmf xine xinerama xml xml2 xprint xv xvid yv12 zeroconf zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, LINGUAS
Comment 5 solar (RETIRED) gentoo-dev 2005-12-20 08:03:17 UTC
Created attachment 75215 [details, diff]
prepstrip.diff

Please try with the following changes to prepstrip
Comment 6 Daniel Drake (RETIRED) gentoo-dev 2005-12-20 12:04:23 UTC
Same problem here on a dual dual-core amd64 system. Whatever its doing is sure keeping the system busy.

solar: Your patch doesn't solve the problem (I left it 5 minutes before bailing out).

Portage 2.1_pre1 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.15-rc6 x86_64)
=================================================================
System uname: 2.6.15-rc6 x86_64 Dual Core AMD Opteron(tm) Processor 265
Gentoo Base System version 1.6.13
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=opteron -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=opteron -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks nodoc noinfo noman sandbox sfperms strict test"
GENTOO_MIRRORS="http://mirror http://distfiles.gentoo.org"
LINGUAS=""
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://mirror/gentoo-portage"
USE="amd64 X audiofile avi bitmap-fonts bzip2 crypt emboss encode exif expat fam foomaticdb fortran gdbm gif glut gnome gtk gtk2 hal imlib jpeg lcms lzw lzw-tiff mng mozilla mp3 mpeg ncurses opengl openntpd pam pdflib perl png python quicktime readline samba sdl spell ssl tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales xinerama xml2 xpm xv zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
Comment 7 SpanKY gentoo-dev 2005-12-20 12:07:21 UTC
it isnt solar's fault ... replacement in <=bash-3.0 is very expensive
and has been fixed in bash-3.1

instead of using [[ "${f/*foo*/}" != "${f}" ]], this should work just
as well (but not be a cpu hog in <=bash-3.0)

[[ ${f} == *foo* ]]
Comment 8 SpanKY gentoo-dev 2005-12-20 16:09:55 UTC
committed [[ $f == *adsf* ]] version
Comment 9 Jason Stubbs (RETIRED) gentoo-dev 2005-12-20 16:14:14 UTC
Not yet released.
Comment 10 Steev Klimaszewski (RETIRED) gentoo-dev 2005-12-20 18:27:01 UTC
I experience this myself with subversion - though it does finish, just takes it "a bit" - this is on a p2 400 with 294mb of ram
Comment 11 Ferris McCormick (RETIRED) gentoo-dev 2005-12-21 05:20:48 UTC
Same as original description, except on sparc.  This is new with sys-apps/portage-2.1_pre1, and I've seen it only on imagemagick, consistently across two systems.  For completeness, here's the one whick is currently taking forever (if not literally, then in appearance):
I'd try the proposed fix for bash-3.0-r12 shown In Comments 7, 8 if I had a clue where it went, but there's nothing remotely like that in prepstrip.
A replacement prepstrip stolen from portage-2.0.53 has no problem with imagemagick.
=========================================================
emerge --info
Portage 2.1_pre1 (default-linux/sparc/sparc64/2006.0, gcc-3.4.5, glibc-2.3.5-r3, 2.6.13-rc3-vanilla sparc64)
=================================================================
System uname: 2.6.13-rc3-vanilla sparc64 sun4u
Gentoo Base System version 1.6.13
distcc 2.18.3 sparc-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.4.26-r1
ACCEPT_KEYWORDS="sparc"
AUTOCLEAN="yes"
CBUILD="sparc-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mcpu=ultrasparc3"
CHOST="sparc-unknown-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.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /usr/spool/PBS /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -pipe -mcpu=ultrasparc3"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig cvs distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ http://mirror.phy.olemiss.edu/mirror/gentoo"
LC_ALL="en_US.utf8"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="sparc X Xaw3d apache2 arts audiofile avi berkdb bitmap-fonts bzip2 crypt cscope cups curl dlloader dri eds encode esd exif expat fam fbcon firebird foomaticdb fortran gcc64 gd gdbm gif glut glx gmp gpm graphviz gstreamer gtk gtk2 idn imagemagick imlib jpeg kerberos lcms ldap libwww lzw-tiff mad mhash mikmod mng motif mozilla mpeg mysql ncurses nls ogg oggvorbis openal opengl oss pam pcre pdflib perl plotutils png python qt readline ruby ruby18 sdl slang spell sqlite
 ssl stroke tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev vorbis xml xml2 xmms xv zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS
==============================================================
The gcc version is irrelevant to the "hang" --- it just turns out that on this system, the problem arises as part of an upgrade for the compiler.
Comment 12 Robert Kruus 2005-12-21 08:56:42 UTC
I found that I got an out of memory error and it seemed to be from:
for x in $(scanelf -yRBF%F $@) $(for y in "$@"; do find $y -type f -name '*.a' -print0 ; done); do

Changing the print0 to print solved the hanging.

I only noticed it after upgrading 2.1_beta and trying to emerge ImageMagick.


Portage 2.1_pre1 (default-linux/x86/2005.0, gcc-4.0.2, glibc-2.3.6-r1, 2.6.15-rc5-mm3 i686)
=================================================================
System uname: 2.6.15-rc5-mm3 i686 Mobile AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.12.0_pre12
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.91.0.4, 2.16.91.0.5
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=athlon-xp -pipe -fomit-frame-pointer -msse -mmmx -m3dnow -mfpmath=387"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/grass60/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-Os -march=athlon-xp -pipe -fomit-frame-pointer -msse -mmmx -m3dnow -mfpmath=387 -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks maketest sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://mirrors.acm.cs.rpi.edu/gentoo/"
LANG="en_US.UTF8"
LINGUAS="en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/trunk"
SYNC="rsync://142.150.176.146/gentoo-portage"
USE="x86 3dnow X Xaw3d aac acpi alsa audiofile avi berkdb bitmap-fonts bzip2 cdparanoia cdr crypt cups curl dvd dvdread emboss encode expat fam ffmpeg flac foomaticdb fortran gcj gdbm gif glut gmp gnutls gpm gstreamer gtk gtk2 guile hal idn imagemagick imlib ipv6 jack java jpeg lcms ldap libg++ libwww mad maildir mikmod mmap mmx mng mp3 mpeg ncurses neXt netcdf nls nptl odbc offensive ogg oggvorbis opengl pam pcre pdflib perl png postgres python qt quicktime readline recode sdl speex spell sqlite sse ssl szip tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb v4l vorbis wmf xml xml2 xv zlib elibc_glibc kernel_linux linguas_en userland_GNU video_cards_radeon"
Unset:  ASFLAGS, CTARGET, LC_ALL, LDFLAGS
Comment 13 Christoph Bussenius 2005-12-21 09:27:28 UTC
I tried SpanKY's fix and it worked for me, i. e. it does not take a long time.  For completeness, here is the patch:

--- prepstrip.orig      2005-12-21 17:48:01.000000000 +0100
+++ prepstrip   2005-12-21 17:53:00.000000000 +0100
@@ -35,11 +35,11 @@
        f=$(file "${x}") || continue
        [ -z "${f}" ] && continue
 
-       if [ -z "${f/*current ar archive*/}" ]; then
+       if [[ "$f" == *'current or archive'* ]]; then
                echo "   ${x:${#D}:${#x}}"
                ${STRIP} -g "${x}"
        fi
-       if [ -z "${f/*SB executable*/}" ] || [ -z "${f/*SB shared object*/}" ]; then
+       if [[ "$f" == *'SB executable'* || "$f" == *'SB shared object'* ]]; then
                echo "   ${x:${#D}:${#x}}"
                save_elf_debug "${x}"
                ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}"


Actually, I did not try it on the same computer as I had last time.  Here is my emerge --info:

Portage 2.1_pre1 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.13.1 i686)
=================================================================
System uname: 2.6.13.1 i686 AMD-K7(tm) Processor
Gentoo Base System version 1.4.15
distcc 2.17 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.5
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.4
sys-devel/binutils:  2.16-r1
sys-devel/libtool:   1.5.18
virtual/os-headers:  2.4.21
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -fomit-frame-pointer -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -fomit-frame-pointer -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy ccache distlocks sandbox sfperms strict urgs userprivs usersandbox"
GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dfx 3dnow X Xaw3d aalib acpi alsa apm arts audiofile avi bash-completion berkdb bitmap-fonts bzip2 cdr crypt cscope curl dedicated dga directfb doc dvb eds emboss encode esd ethereal exif expat fbcon ffmpeg flac foomaticdb gd gdbm ggi gif glut gmp gpm gs gstreamer gtk gtk2 icq idn imagemagick imap imlib ipv6 jabber java jikes jpeg lcms ldap libcaca libg++ libwww mad maildir mbox mikmod mmx mng motif mozilla mp3 mpeg msn mysql nas ncurses ogg oggvorbis opengl oss pam pcre pdflib perl png postgres python qt quicktime readline ruby sdl slang spell sse ssl svga tcltk tcpd tetex threads tiff truetype truetype-fonts type1-fonts udev unicode usb vim-with-x vorbis wmf xine xml2 xmms xosd xv xvid yahoo zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 14 Christoph Bussenius 2005-12-21 09:34:44 UTC
Sorry the patch was damaged due to long lines.  This one should work:

--- prepstrip.orig      2005-12-21 17:48:01.000000000 +0100
+++ prepstrip   2005-12-21 17:53:00.000000000 +0100
@@ -35,11 +35,11 @@
        f=$(file "${x}") || continue
        [ -z "${f}" ] && continue
 
-       if [ -z "${f/*current ar archive*/}" ]; then
+       if [[ "$f" == *'current or archive'* ]]; then
                echo "   ${x:${#D}:${#x}}"
                ${STRIP} -g "${x}"
        fi
-       if [ -z "${f/*SB executable*/}" ] || [ -z "${f/*SB shared object*/}" ]; then
+       if [[ "$f" == *'SB executable'* || "$f" == *'SB shared object'* ]]; then
                echo "   ${x:${#D}:${#x}}"
                save_elf_debug "${x}"
                ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}"
Comment 15 solar (RETIRED) gentoo-dev 2005-12-21 11:23:55 UTC
Created attachment 75286 [details, diff]
prepstrip

This is the updated portage/main/trunk/bin/prepstrip. Please give it a 
run and confirm that it indeed fixes the problem you guys have encountered 
with ImageMagick
Comment 16 Christoph Bussenius 2005-12-21 13:41:49 UTC
Yes, that fixes it for me.
Comment 17 Ferris McCormick (RETIRED) gentoo-dev 2005-12-21 15:08:41 UTC
Fine now for me, too. Thanks.
Comment 18 Robert Kruus 2005-12-22 14:16:39 UTC
Works here as well, but bahs upgrdaded today as well.
Comment 19 Juan 2005-12-23 10:56:04 UTC
This worked for me as well. I was having the same issue with libgphoto2 that this seem to resolve as well.

Thanks
Comment 20 Chris Fairles 2005-12-24 13:33:01 UTC
fixed mine as well, imagemagick 6.2.5.4 (using portage 2.1_pre1, gcc 4.0.2, baselayout 1.12.0_pre12)

cheers, (and merry x-mas)
chris
Comment 21 Jason Stubbs (RETIRED) gentoo-dev 2005-12-25 00:09:20 UTC
Released in 2.1_pre2.
Comment 22 Jakub Moc (RETIRED) gentoo-dev 2005-12-25 05:02:35 UTC
*** Bug 116683 has been marked as a duplicate of this bug. ***