I did: emerge -avD '=dev-lang/php-4*' '=dev-lang/php-5*' Testing with /usr/lib/php4/bin/php -v & /usr/lib/php5/bin/php -v reports the same Version numbers(PHP5 was emerged after PHP4, so it was PHP5 at both places). Re-emerging PHP4 afterwards reports PHP4 at both places. Reproducible: Didn't try Steps to Reproduce: 1. emerge -avD '=dev-lang/php-4*' '=dev-lang/php-5*' 2. /usr/lib/php4/bin/php -v 3. /usr/lib/php5/bin/php -v Actual Results: Reports the version-Dump of the PHP5-Binary at PHP4 & PHP5 Expected Results: Reporting of the Versiondump of PHP4 at the PHP4-Binary and PHP5 at the PHP5-Binary. Portage 2.1.2.9 (default-linux/x86/2006.1, gcc-4.1.2, glibc-2.5-r4, 2.6.20-hardened-r5 i686) ================================================================= System uname: 2.6.20-hardened-r5 i686 AMD Athlon(tm) XP 3000+ Gentoo Base System release 1.12.9 Timestamp of tree: Mon, 09 Jul 2007 19:00:01 +0000 dev-java/java-config: 1.3.7, 2.0.31-r5 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 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.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.mesh-solutions.com/gentoo ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo http://distfiles.gentoo.org" LANG="en_US.utf8" LC_ALL="en_US.utf8" LINGUAS="en" 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/portageoverlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl apache2 berkdb bzip2 caps cgi cli cracklib crypt ctype curl curlwrappers dlloader dynamicplugin erandom expat fam fastcgi ftp gd geoip glibc-omitfp gmp gzip hardened hash iconv idn imap inifile ithreads jpeg libwww logrotate maildir md5sum memlimit mhash mime mmap mysql mysqli ncurses nls no-old-linux nocd nptl nptlonly pam pcre perl pic png posix pwdb python readline sasl session sharedmem sockets sqlite3 sse2 ssl sslserv suhosin symlink sysfs sysvipc tcl tcpd tiff tokenizer truetype ucs2 udev unicode urandom userlocales utf8 x86 xml xml2 xmlrpc xsl zlib" ELIBC="glibc" KERNEL="linux" LINGUAS="en" USERLAND="GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
That's what php-select from app-admin/php-toolkit is for. You can only have one symlink to PHP at a time. :P http://www.gentoo.org/proj/en/php/php-upgrading.xml#doc_chap3_sect5
Thanks for trying to resolve my Bugreport, but i think you misunderstood the Problem. I didn't try to execute /usr/bin/php but the binary itself (/usr/lib/php5/bin/php or /usr/lib/php4/bin/php) to which the symlink /usr/bin/php would point to. If I execute the binary /usr/lib/php4/bin/php with the switch -v it shouldn't report PHP5 or am i wrong? And if re-emerge PHP4 afterwards, then /usr/lib/php5/bin/php reports, that it's a PHP4? Is is simply the wrong Output from the binary? Or is the php4 Binary in /usr/lib/php4 and /usr/lib/php5? Hope you could clearify this for me.
Sorry, really no clue what's this about, what you are describing is impossible AFAICT. Either unmerge both ebuilds, stick collision-protect to features and check for yourself that nothing gets overwritten anywhere, or if it gets overwritten, then attach completely compile.log for both ebuilds here.
The Problem was the previously installed php4, which was only reemerged, but not removed and reinstalled. php5 removed php4, made a symlink from php4 to php5 (haven't seen this) and installed itself. So php4 = php5... => problem solved: emerge --unmerge php emerge -avD '=dev-lang/php-4*' '=dev-lang/php-5*' and everything was ok... Sorry for this. I have overseen this...
Thanks a lot for testing. :)