Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 201514 - app-doc/php-docs-20071125-r1 - Argument list too long
Summary: app-doc/php-docs-20071125-r1 - Argument list too long
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords: InVCS
: 201537 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-12-06 20:04 UTC by Marc Arens
Modified: 2007-12-09 18:20 UTC (History)
9 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marc Arens 2007-12-06 20:04:38 UTC
see steps for description

Reproducible: Always

Steps to Reproduce:
1. install app-doc/php-docs-20071125-r1
2.
3.

Actual Results:  
cat /var/log/portage/app-doc:php-docs-20071125-r1:20071206-195612.log
>>> Unpacking source...
>>> Unpacking php-docs-20071125_en.tar.gz to /var/tmp/portage/app-doc/php-docs-20071125-r1/work/en
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/app-doc/php-docs-20071125-r1/work ...
>>> Source compiled.
>>> Test phase [not enabled]: app-doc/php-docs-20071125-r1

>>> Install php-docs-20071125-r1 into /var/tmp/portage/app-doc/php-docs-20071125-r1/image/ category app-doc
 * Installing en manual, this will take a while... ...
/usr/portage/app-doc/php-docs/php-docs-20071125-r1.ebuild: line 63: /bin/mv: Argument list too long
 * 
 * ERROR: app-doc/php-docs-20071125-r1 failed.
 * Call stack:
 *                     ebuild.sh, line 1701:  Called dyn_install
 *                     ebuild.sh, line 1138:  Called qa_call 'src_install'
 *                     ebuild.sh, line   44:  Called src_install
 *   php-docs-20071125-r1.ebuild, line   64:  Called die
 * The specific snippet of code:
 *   			mv "${D}"/usr/share/doc/${PF}/html/{*.html,figures} "${D}"/usr/share/doc/${PF}/html/${lang} \
 *   				|| die "mv failed on ${lang}"
 *  The die message:
 *   mv failed on en
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-doc:php-docs-20071125-r1:20071206-195612.log'.
 * 



tried with zsh and bash happens with both

emerge --info
Portage 2.1.3.19 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-gentoo-r9 i686)
=================================================================
System uname: 2.6.22-gentoo-r9 i686 AMD Athlon(tm) XP 2100+
Timestamp of tree: Thu, 06 Dec 2007 19:00:02 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X acl acpi alsa apache2 berkdb bitmap-fonts bzip2 cairo cdr cli cracklib crypt cups dbus divx4linux doc dri dvd dvdr dvdread eds emboss encode esd evo fam ffmpeg firefox flac foomaticdb fortran gdbm gif gpm gstreamer gtk gtk2 hal iconv ipv6 isdnlog java jikes jpeg kerberos ldap mad midi mikmod mmx mp3 mpeg mudflap mysql ncurses nls nptl nptlonly offensive ogg opengl openmp oss pam pcre pdf perl pic png ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse ssl svg tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l vorbis win32codecs x86 xml xml2 xorg xprint xv xvid zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-12-06 20:07:58 UTC
It will install just fine here. If it doesn't for you, then upgrade your coreutils.

Comment 2 Marc Arens 2007-12-06 20:23:59 UTC
Already using latest stable coreutils

[21:22] root ~ [0] eix coreutils
[I] sys-apps/coreutils
     Available versions:  6.9-r1 {acl nls selinux static xattr}
     Installed versions:  6.9-r1(10:00:16 PM 06/12/2007)(acl nls -selinux -static -xattr)
     Homepage:            http://www.gnu.org/software/coreutils/
     Description:         Standard GNU file utilities (chmod, cp, dd, dir, ls...), text utilities (sort, tr, head, wc..), and shell utilities (whoami, who,...)

[21:22] root ~ [0] mv --version
mv (GNU coreutils) 6.9
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Parker, David MacKenzie, and Jim Meyering.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-12-06 20:26:56 UTC
And it still installs perfectly fine here for me and lot of other people.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-12-06 23:05:46 UTC
*** Bug 201537 has been marked as a duplicate of this bug. ***
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2007-12-06 23:07:44 UTC
Great, maybe someone from base system could enlighten us why it's completely non-reproducible here.

Portage 2.1.4_rc7 (default-linux/x86/2007.0/desktop, gcc-4.2.2, glibc-2.7-r0, 2.6.23-gentoo-r2 i686)
=================================================================
System uname: 2.6.23-gentoo-r2 i686 AMD Athlon(tm) XP 1600+
Timestamp of tree: Thu, 06 Dec 2007 20:00:04 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.3
dev-lang/python:     2.5.1-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0_rc6
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17, 2.18, 2.18.50.0.2, 2.18.50.0.3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r2
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d /usr/share/X11/xkb"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical --with-bdeps=y"
FEATURES="ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org ftp://ftp.fi.muni.cz/pub/linux/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="cs en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS="--progress --prune-empty-dirs"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/beryl /usr/local/overlays/enlightenment /usr/local/overlays/php-overlay/testing /usr/local/overlays/php-overlay/experimental"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X X509 a52 aac aalib acl acpi alsa amr ao asf audiofile avahi bash-completion berkdb bluetooth branding bzip2 cairo caps cddb cdparanoia cdr chroot cli cpudetection cracklib crypt cscope css cups curl curlwrappers daap dbus dbx dga directfb dri dts dv dvb dvd dvdr dvdread encode exif expat fam fame fbcon ffmpeg fftw firefox flac flash flatfile foomaticdb ftp fuse gd gdbm geoip ggi gif gimp glitz glut gmp gphoto2 gpm graphviz gs gstreamer gtk hal ical iconv icq idn imagemagick imap imlib inifile ipv6 irda jack javascript jbig joystick jpeg jpeg2k kdeenablefinal kdehiddenvisibility kipi lame lcms libcaca libnotify libsamplerate lirc live lm_sensors logrotate lzo mad maildir matroska midi mikmod mime mjpeg mmap mmx mmxext mng modplug moznopango mp3 mp4 mpeg mplayer mudflap multiuser musepack musicbrainz ncurses network network-cron nfs nls nodrm nptl nptlonly nsplugin nvidia odbc offensive ogg openal opengl openmp pam pcre pdf perl php png portaudio ppds python qt3 qt3support qt4 quicktime rar readline real reflection rle ruby samba sdl sdl-image session skey sms sndfile speex spell spl sqlite sqlite3 sse ssl startup-notification subtitles svg symlink syslog tcpd theora threads threadsafe thumbnail tiff truetype unicode urandom usb v4l v4l2 vcd vim-syntax vim-with-x vorbis wavpack win32codecs wmf x264 x86 xattr xcomposite xine xinerama xinetd xml xmlrpc xorg xosd xpm xscreensaver xv xvid xvmc zeroconf zip zlib" ALSA_CARDS="emu10k1 bt87x" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev joystick keyboard mouse vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs en" LIRC_DEVICES="cph06x devinput" USERLAND="GNU" VIDEO_CARDS="fbdev nv nvidia v4l vesa vmware"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 6 Philipp Hagemeister 2007-12-07 01:53:02 UTC
From the ebuild:

# the whole structure is too much to do with a simple dohtml *
for x in a b c d e f g h i j k l m n o p q r s t u v w x y z ; do
 
It should simply use xargs. Local time approaches 3:00, so I'm going to post an xargs-using version tomorrow.
Comment 7 Christopher Layne 2007-12-07 08:22:40 UTC
Strangely, I would think if the for loop moved enough out of the way that the "mv" line (63) wouldn't fail.

xargs itself also has limits, but they should be enough.

# xargs --show-limits
Your environment variables take up 1608 bytes
POSIX upper limit on argument length (this system): 127416
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 125808
Size of command buffer we are actually using: 127416
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2007-12-07 08:43:55 UTC
(In reply to comment #7)
> xargs itself also has limits, but they should be enough.
> 
> # xargs --show-limits
> Your environment variables take up 1608 bytes
> POSIX upper limit on argument length (this system): 127416
> POSIX smallest allowable upper limit on argument length (all systems): 4096
> Maximum length of command we could actually use: 125808
> Size of command buffer we are actually using: 127416

$ getconf ARG_MAX
131072

I'm sick of this ebuild myself. Need to mirror it manually because upstream fails to provide versioned tarballs, it takes *ages* to install, and then we are hitting these bugs that noone can reproduce when testing. Unless you have a *huge* environment I fail to see why you are hitting this stupid limit and I'm not.

Unless someone strongly objects, I'll rewrite the ebuild so that the directory structure is /usr/share/doc/php-docs-${PVR}/${lang}/html instead and simply unpack the tarball there and move it to ${D}, and screw the whole dohtml stuff, it's slow like hell. :X
Comment 9 Daniele Boffi 2007-12-07 09:02:15 UTC
(In reply to comment #8)

> $ getconf ARG_MAX
> 131072
> 
> we are hitting these bugs that noone can reproduce when testing.

I am experiencing the same bug on an "amd64" box. On the other hand I could successfully install php-docs on an "x86" one. Both have the same ARG_MAX value. The kernel of the amd64 is older (2.6.18-gentoo-r2).
Comment 10 Christopher Layne 2007-12-07 09:09:08 UTC
ARG_MAX - _SC_ARG_MAX
      The maximum length of the arguments to the exec(3) family of functions. Must not be less than _POSIX_ARG_MAX (4096).

This is with:
        echo "${D}"/usr/share/doc/${PF}/html/{*.html,figures} > /tmp/args.dir_included
        ls "${D}"/usr/share/doc/${PF}/html > /tmp/args.dir_excluded

# ls -la /tmp/args*
-rw-r--r-- 1 root root 196221 Dec  7 08:52 /tmp/args.dir_excluded
-rw-r--r-- 1 root root 782676 Dec  7 08:52 /tmp/args.dir_included

# wc -w /tmp/args*
  6307 /tmp/args.dir_excluded
  6306 /tmp/args.dir_included

Really the script should cd to the html directory in the first place, as the non-cd version (as it is now) results in a single argument looking like this:

/var/tmp/portage/app-doc/php-docs-20071125-r1/image//usr/share/doc/php-docs-20071125-r1/html/about.generate.html
(multiplied by 6306, etc.)

However that also fails even after a cd (most likely because it's still 196k worth of arg data).

# getconf ARG_MAX
131072
# emerge --info | egrep -v ^USE
Portage 2.1.3.19 (default-linux/amd64/2007.0/no-multilib, gcc-4.2.2, glibc-2.6.1-r0, 2.6.22-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.22-gentoo-r8 x86_64 Dual-Core AMD Opteron(tm) Processor 1216
Timestamp of tree: Fri, 07 Dec 2007 06:46:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-Os -funit-at-a-time -march=opteron -mtune=opteron -msse3 -pipe -g"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-Os -funit-at-a-time -march=opteron -mtune=opteron -msse3 -pipe -g"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks installsources metadata-transfer nostrip parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://www.gtlib.gatech.edu/pub/gentoo http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo http://gentoo.llarian.net/ http://gentoo.binarycompass.org http://mirror.datapipe.net/gentoo "
MAKEOPTS="-j4"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/kde /usr/portage/local"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Who knows why it sporadically works from one machine to another. At first I thought it was because our PORTAGE_TMPDIR's might have been different, resulting in a varying total argument length, but it appears they're both the same.

Either way, we can use rsync or other methods to just sync the directory right over (rsync is already used in ebuilds for src tree copies, etc. so it shouldn't be too dirty).

Additionally, if you ask me, 6k+ files for documentation is a bit lame on PHP's part - but whoever said they were about efficiency..
Comment 11 Christopher Layne 2007-12-07 09:12:47 UTC
I should also note that the reason this probably does happen sporadically is due to changes in 2.6.23 and ARG_MAX limitations being lifted.
Comment 12 Marek Królikowski 2007-12-07 09:18:41 UTC
This same error on my server:

/usr/portage/app-doc/php-docs/php-docs-20071125-r1.ebuild: line 63: /bin/mv: Lista argumentów za długa
 *
 * ERROR: app-doc/php-docs-20071125-r1 failed.
 * Call stack:
 *                     ebuild.sh, line 1701:  Called dyn_install
 *                     ebuild.sh, line 1138:  Called qa_call 'src_install'
 *                     ebuild.sh, line   44:  Called src_install
 *   php-docs-20071125-r1.ebuild, line   64:  Called die
 * The specific snippet of code:
 *                      mv "${D}"/usr/share/doc/${PF}/html/{*.html,figures} "${D}"/usr/share/doc/${PF}/html/${lang} \
 *                              || die "mv failed on ${lang}"
 *  The die message:
 *   mv failed on pl
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-doc/php-docs-20071125-r1/temp/build.log'.
 *

 * Messages for package app-doc/php-docs-20071125-r1:

 *
 * ERROR: app-doc/php-docs-20071125-r1 failed.
 * Call stack:
 *                     ebuild.sh, line 1701:  Called dyn_install
 *                     ebuild.sh, line 1138:  Called qa_call 'src_install'
 *                     ebuild.sh, line   44:  Called src_install
 *   php-docs-20071125-r1.ebuild, line   64:  Called die
 * The specific snippet of code:
 *                      mv "${D}"/usr/share/doc/${PF}/html/{*.html,figures} "${D}"/usr/share/doc/${PF}/html/${lang} \
 *                              || die "mv failed on ${lang}"
 *  The die message:
 *   mv failed on pl
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-doc/php-docs-20071125-r1/temp/build.log'.
 *


PLK-POCZTA1 ~ # emerge --info
Portage 2.1.3.19 (default-linux/x86/no-nptl, gcc-4.1.2, glibc-2.5-r4, 2.6.22-gentoo-r5 i686)
=================================================================
System uname: 2.6.22-gentoo-r5 i686 Intel(R) Xeon(R) CPU 5150 @ 2.66GHz
Timestamp of tree: Fri, 07 Dec 2007 09:00:01 +0000
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-Os -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ http://gentoo.po.opole.pl/ http://gentoo.zie.pg.gda.pl/ http://gentoo.prz.rzeszow.pl/"
LANG="pl_PL"
LC_ALL="pl_PL"
LINGUAS="pl"
MAKEOPTS="-j5"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 autofs berkdb bidi bitmap-fonts cli cracklib crypt ctype devfs doc dri eds emboss encode foomaticdb fortran gd gdbm gif gpm gstreamer gtk2 iconv imap isdnlog jpeg mad md5sum midi mikmod motif mp3 mudflap mysql ncurses nls no-htdocs ogg openmp pam pcre perl perlsuid php png pppd python qt3 qt4 readline reflection ruby samba sasl session slang spell spl sse sse2 ssl symlink tcpd truetype-fonts type1-fonts unicode vda vorbis x86 xml xml2 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 13 Christopher Layne 2007-12-07 09:20:53 UTC
http://lkml.org/lkml/2007/9/5/218

On Linux prior to kernel 2.6.23, the memory used to store the environment and argument strings was limited to 32 pages (defined by the kernel constant MAX_ARG_PAGES).

On architectures with a 4-kB page size, this yields a maximum size of 128 kB. On kernel 2.6.23 and later, most architectures support a size limit derived from the soft RLIMIT_STACK resource limit (see getrlimit(2)). For these architectures, the total size is limited to 1/4 of the allowed stack size, the limit per string is 32 pages (the kernel constant MAX_ARG_STRLEN), and the maximum number of strings is 0x7FFFFFFF. (This change allows programs to have a much larger argument and/or environment list. Imposing the 1/4-limit ensures that the new program always has some stack space.) Architectures with no memory management unit are excepted: they maintain the pre-2.6.23 limit.

# ulimit -s
8192

Which means if I were running 2.6.23, 1/4 of that (2048k) could be used for ARGV space, hence it would work properly (which is why it works for Jakub).
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2007-12-07 09:33:26 UTC
Test this ebuild if you are hitting this bug...

http://overlays.gentoo.org/svn/proj/php/testing/migration/app-doc/php-docs/php-docs-20071125-r2.ebuild
Comment 15 Marek Królikowski 2007-12-07 09:56:22 UTC
> Which means if I were running 2.6.23, 1/4 of that (2048k) could be used for
> ARGV space, hence it would work properly (which is why it works for Jakub).


Indeed. 
After update kernel to 2.6.23, php-docs installed with no problems.
On 2.6.22 crash.
Comment 16 Daniele Boffi 2007-12-07 12:21:00 UTC
(In reply to comment #14)
> Test this ebuild if you are hitting this bug...
> 
> http://overlays.gentoo.org/svn/proj/php/testing/migration/app-doc/php-docs/php-docs-20071125-r2.ebuild
> 

This works for me. Please, make it stable sooner or later, since I do not want to upgrade my kernel only for this after an uptime of 381 days...
Comment 17 Paulo J. Matos 2007-12-07 13:16:12 UTC
Same problem here with this version of php-docs.
# emerge --info
Portage 2.1.3.19 (default-linux/amd64/2006.1, gcc-4.1.2, glibc-2.6.1-r0, 2.6.18-gentoo-r4 x86_64)
=================================================================
System uname: 2.6.18-gentoo-r4 x86_64 Intel(R) Pentium(R) D CPU 3.40GHz
Timestamp of tree: Fri, 07 Dec 2007 12:30:06 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk ftp://mirrors.blueyonder.co.uk/mirrors/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ "
MAKEOPTS="-j3"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac aalib accessibility ada aiglx alsa amarok amazon amd64 apache2 arts artworkextra asf athena auctex audacious audiofile avahi bcp berkdb big-tables bitmap-fonts bjam blas blender-game bogofilter bonobo boo branding bzip2 cairo cdda cddb cdio cdparanoia cdr cli corba cpudetection cracklib crypt css ctype cups cvs daap dbus dc1394 dcraw device-mapper dga divx djvu dnd doc dri dv dvb dvd dvdr dvdread dvi dxr3 effects emacs emerald encode eolconv escreen etwin examples exif expat extra extra-algorithms extra-cardsets extraengine extrafilters extraicons extramodules extras fame fat ffmpeg firefox flac fluidsynth fortran ftp gd gdbm gif gimp gimpprint gkrellm glade glep glib glitz glut gmail gmedia gnome gpm grace grammar graphviz gstreamer gtk gtkhtml guile gzip-el hal haskell hddtemp hfs howl httpd iconv imagemagick imlib inkjar isdnlog ithreads jack java javascript jfs jikes jingle jpeg jpeg2k kde kdeenablefinal keyring lapack latex latin1 ldap ldb leim lesstif libcaca libgda libnotify lm_sensors lua lzo mad math md5sum midi mikmod mjpeg mng mono motif mozbranding mozdom mp3 mpeg mplayer msn mudflap musicbrainz mysql ncurses neXt networkmanager nls nntp nptl nptlonly nsplugin ntfs nvidia objc objc++ objc-gc ocaml ogg openal opengl openmp ots pam pascal pcre pdf perforce perl php pike png pop postgres postscript ppds pppd preview-latex pyste python qt3 qt3support qt4 quicktime rar rdesktop readline realmedia reflection regex reiser4 reiserfs replytolist ruby samba sametime scsh sdl sdl-image seamonkey sensord session skins slang slp sndfile soap sound speex spell spl sql sqlite sqlite3 ssl startup-notification stream subtitles subversion svg svnserve t1lib tagwriting tcl tcltk tcpd tetex theora thesaurus threads tidy tiff timidity tk toolkit-scroll-bars tools truetype truetype-fonts type1 type1-fonts unicode usb utempter v4l v4l2 vcd vhosts vim-syntax visualization vorbis wmf wmp wordperfect wxwindows x264 xcomposite xface xfs xine xml xmlreader xmlrpc xmlwriter xorg xpm xprint xrandr xscreensaver xsl xulrunner xv xvid yaz zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

-r2 version posted works with this warning (which I don't know if it is relevant):
 * Messages for package app-doc/php-docs-20071125-r2:

 * This package will overwrite one or more files that may belong to other
 * packages (see list below). Add "collision-protect" to FEATURES in
 * make.conf if you would like the merge to abort in cases like this. You
 * can use a command such as `portageq owners / <filename>` to identify
 * the installed package that owns a file. If portageq reports that only
 * one package owns a file then do NOT file a bug report. A bug report is
 * only useful if it identifies at least two or more packages that are
 * known to install the same file(s). If a collision occurs and you can
 * not explain where the file came from then you should simply ignore the
 * collision since there is not enough information to determine if a real
 * problem exists. Please do NOT file a bug report at
 * http://bugs.gentoo.org unless you report exactly which two packages
 * install the same file(s). Once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 *      /usr/share/php-docs
Comment 18 Jakub Moc (RETIRED) gentoo-dev 2007-12-07 13:20:24 UTC
(In reply to comment #17)
> Same problem here with this version of php-docs.

We don't need any more 'me too' comments, thanks/

>  * Detected file collision(s):
>  * 
>  *      /usr/share/php-docs

Because the old versions were broken, just ignore this.
Comment 19 Marc Arens 2007-12-07 14:54:42 UTC
php-docs-20071125-r2.ebuild works for me, too.

Thanks for clarifiation/fixing.

Setting this bug to RESOLVED - FIXED.
Comment 20 Jakub Moc (RETIRED) gentoo-dev 2007-12-07 15:01:28 UTC
Someone needs to actually commit the ebuild, until then it's not resolved.
Comment 21 Jakub Moc (RETIRED) gentoo-dev 2007-12-07 15:17:17 UTC
-r2 InCVS.
Comment 22 Aniruddha 2007-12-09 18:14:29 UTC
Same problem here on one of my boxes.There isn't an updated version available in portage therefor I don't understands this bug's status is fixed.

 * Installing en manual, this will take a while... ...
/usr/portage/app-doc/php-docs/php-docs-20071125-r1.ebuild: line 63: /bin/mv: Argument list too long
 *
 * ERROR: app-doc/php-docs-20071125-r1 failed.
 * Call stack:
 *                     ebuild.sh, line 1701:  Called dyn_install
 *                     ebuild.sh, line 1138:  Called qa_call 'src_install'
 *                     ebuild.sh, line   44:  Called src_install
 *   php-docs-20071125-r1.ebuild, line   64:  Called die
 * The specific snippet of code:
 *                      mv "${D}"/usr/share/doc/${PF}/html/{*.html,figures} "${D}"/usr/share/doc/${PF}/html/${lang} \
 *                              || die "mv failed on ${lang}"
 *  The die message:
 *   mv failed on en
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-doc/php-docs-20071125-r1/temp/build.log'.
Comment 23 Aniruddha 2007-12-09 18:20:36 UTC
Sry, my mistake. I was looking for an r2 version. app-doc/php-docs-20070202-r1 is the updated version which is available in the tree.