This is a follow-up from Bug 97489, regarding problems with PEAR-PEAR-1.3.5-r1 and its dependencies. Reproducible: Always Steps to Reproduce: 1. Clean php-5.1 install, all PEAR packages unmerged, all configs wiped. 2. emerge =PEAR-PEAR-1.3.5-r1 3a. emerge -C PEAR-{Archive_Tar,Console_Getopt,XML_RPC} && emerge PEAR-{Archive_Tar,Console_Getopt,XML_RPC} or just 3b. emerge PEAR-{PEAR,Archive_Tar,Console_Getopt,XML_RPC} Actual Results: PEAR-PEAR and all its dependencies install OK for the first time, i.e. when bootstrapping PEAR-PEAR. An attempt to re-emerge PEAR-PEAR (i.e. you have it already installed) fails: Install PEAR-PEAR-1.3.5-r1 into /var/tmp/portage/PEAR-PEAR-1.3.5-r1/image/ category dev-php Warning: main(Console/Getopt.php): failed to open stream: No such file or directory in System.php on line 23 Fatal error: main(): Failed opening required 'Console/Getopt.php' (include_path='/usr/share/php') in /usr/share/php/System.php on line 23 !!! ERROR: dev-php/PEAR-PEAR-1.3.5-r1 failed. !!! Function install_pear_without_bootstrap, Line 101, Exitcode 255 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. All subsenquent attempts to unmerge && emerge (or just re-emerge) its PDEPENDs fail like this: >>> Install PEAR-Archive_Tar-1.3.1 into /var/tmp/portage/PEAR-Archive_Tar-1.3.1/image/ category dev-php Warning: main(Console/Getopt.php): failed to open stream: No such file or directory in System.php on line 23 Fatal error: main(): Failed opening required 'Console/Getopt.php' (include_path='/usr/share/php') in /usr/share/php/System.php on line 23 !!! ERROR: dev-php/PEAR-Archive_Tar-1.3.1 failed. !!! Function php-pear_src_install, Line 47, Exitcode 255 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Expected Results: Successful reinstall/upgrade on any subsequent attempt.
wopr-mobile ~ # emerge -p dev-php/php \ dev-php/PEAR-PEAR \ dev-php/PEAR-Archive_Tar \ dev-php/PEAR-Console_Getopt \ dev-php/PEAR-XML_RPC These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-php/php-5.1.0_beta-r2 [ebuild R ] dev-php/PEAR-PEAR-1.3.5-r1 [ebuild R ] dev-php/PEAR-Archive_Tar-1.3.1 [ebuild R ] dev-php/PEAR-Console_Getopt-1.2 [ebuild R ] dev-php/PEAR-XML_RPC-1.3.2 wopr-mobile ~ # emerge PEAR-PEAR Calculating dependencies ...done! >>> emerge (1 of 1) dev-php/PEAR-PEAR-1.3.5-r1 to / >>> md5 files ;-) PEAR-PEAR-1.3.5-r1.ebuild >>> md5 files ;-) PEAR-PEAR-1.3.5.ebuild >>> md5 files ;-) files/digest-PEAR-PEAR-1.3.5 >>> md5 files ;-) files/digest-PEAR-PEAR-1.3.5-r1 >>> md5 src_uri ;-) Archive_Tar-1.2.tgz >>> md5 src_uri ;-) Console_Getopt-1.2.tgz >>> md5 src_uri ;-) XML_RPC-1.3.1.tgz >>> md5 src_uri ;-) PEAR-1.3.5.tgz >>> Unpacking source... >>> Unpacking Archive_Tar-1.2.tgz to /var/tmp/portage/PEAR-PEAR-1.3.5-r1/work tar: A lone zero block at 163 >>> Unpacking Console_Getopt-1.2.tgz to /var/tmp/portage/PEAR-PEAR-1.3.5-r1/work tar: A lone zero block at 27 >>> Unpacking XML_RPC-1.3.1.tgz to /var/tmp/portage/PEAR-PEAR-1.3.5-r1/work tar: A lone zero block at 236 >>> Unpacking PEAR-1.3.5.tgz to /var/tmp/portage/PEAR-PEAR-1.3.5-r1/work tar: A lone zero block at 1088 >>> Source unpacked. >>> Test phase [not enabled]: dev-php/PEAR-PEAR-1.3.5-r1 >>> Install PEAR-PEAR-1.3.5-r1 into /var/tmp/portage/PEAR-PEAR-1.3.5-r1/image/ category dev-php install ok: PEAR 1.3.5 man: prepallstrip: strip: i686-pc-linux-gnu-strip --strip-unneeded strip: i686-pc-linux-gnu-strip --strip-unneeded >>> Completed installing PEAR-PEAR-1.3.5-r1 into /var/tmp/portage/PEAR-PEAR-1.3.5-r1/image/ >>> Merging dev-php/PEAR-PEAR-1.3.5-r1 to / --- /usr/ --- /usr/bin/ >>> /usr/bin/pear --- /usr/share/ --- /usr/share/php/ --- /usr/share/php/OS/ >>> /usr/share/php/OS/Guess.php --- /usr/share/php/PEAR/ >>> /usr/share/php/PEAR/Downloader.php >>> /usr/share/php/PEAR/Builder.php >>> /usr/share/php/PEAR/Installer.php >>> /usr/share/php/PEAR/ErrorStack.php >>> /usr/share/php/PEAR/Dependency.php >>> /usr/share/php/PEAR/Remote.php >>> /usr/share/php/PEAR/Config.php --- /usr/share/php/PEAR/Command/ >>> /usr/share/php/PEAR/Command/Remote.php >>> /usr/share/php/PEAR/Command/Config.php >>> /usr/share/php/PEAR/Command/Build.php >>> /usr/share/php/PEAR/Command/Registry.php >>> /usr/share/php/PEAR/Command/Mirror.php >>> /usr/share/php/PEAR/Command/Common.php >>> /usr/share/php/PEAR/Command/Install.php >>> /usr/share/php/PEAR/Command/Package.php >>> /usr/share/php/PEAR/Command/Auth.php --- /usr/share/php/PEAR/Frontend/ >>> /usr/share/php/PEAR/Frontend/CLI.php >>> /usr/share/php/PEAR/Registry.php >>> /usr/share/php/PEAR/Exception.php >>> /usr/share/php/PEAR/Packager.php >>> /usr/share/php/PEAR/RunTest.php >>> /usr/share/php/PEAR/Autoloader.php >>> /usr/share/php/PEAR/Common.php >>> /usr/share/php/PEAR/Command.php --- /usr/share/php/data/ --- /usr/share/php/data/PEAR/ >>> /usr/share/php/data/PEAR/template.spec >>> /usr/share/php/data/PEAR/package.dtd >>> /usr/share/php/.filemap >>> /usr/share/php/.lock >>> /usr/share/php/System.php >>> /usr/share/php/PEAR.php --- /usr/share/php/.registry/ >>> /usr/share/php/.registry/pear.reg >>> /usr/share/php/pearcmd.php >>> Safely unmerging already-installed instance... --- !mtime obj /usr/share/php/pearcmd.php --- !mtime obj /usr/share/php/data/PEAR/template.spec --- !mtime obj /usr/share/php/data/PEAR/package.dtd --- !mtime obj /usr/share/php/XML/RPC/Server.php --- !mtime obj /usr/share/php/XML/RPC.php --- !mtime obj /usr/share/php/System.php --- !mtime obj /usr/share/php/PEAR/RunTest.php --- !mtime obj /usr/share/php/PEAR/Remote.php --- !mtime obj /usr/share/php/PEAR/Registry.php --- !mtime obj /usr/share/php/PEAR/Packager.php --- !mtime obj /usr/share/php/PEAR/Installer.php --- !mtime obj /usr/share/php/PEAR/Frontend/CLI.php --- !mtime obj /usr/share/php/PEAR/Exception.php --- !mtime obj /usr/share/php/PEAR/ErrorStack.php --- !mtime obj /usr/share/php/PEAR/Downloader.php --- !mtime obj /usr/share/php/PEAR/Dependency.php --- !mtime obj /usr/share/php/PEAR/Config.php --- !mtime obj /usr/share/php/PEAR/Common.php --- !mtime obj /usr/share/php/PEAR/Command/Remote.php --- !mtime obj /usr/share/php/PEAR/Command/Registry.php --- !mtime obj /usr/share/php/PEAR/Command/Package.php --- !mtime obj /usr/share/php/PEAR/Command/Mirror.php --- !mtime obj /usr/share/php/PEAR/Command/Install.php --- !mtime obj /usr/share/php/PEAR/Command/Config.php --- !mtime obj /usr/share/php/PEAR/Command/Common.php --- !mtime obj /usr/share/php/PEAR/Command/Build.php --- !mtime obj /usr/share/php/PEAR/Command/Auth.php --- !mtime obj /usr/share/php/PEAR/Command.php --- !mtime obj /usr/share/php/PEAR/Builder.php --- !mtime obj /usr/share/php/PEAR/Autoloader.php --- !mtime obj /usr/share/php/PEAR.php --- !mtime obj /usr/share/php/OS/Guess.php --- !mtime obj /usr/share/php/Console/Getopt.php --- !mtime obj /usr/share/php/Archive/Tar.php --- !mtime obj /usr/share/php/.registry/pear.reg --- !mtime obj /usr/share/php/.lock --- !mtime obj /usr/share/php/.filemap --- !mtime obj /usr/bin/pear --- cfgpro obj /etc/pear.conf --- !empty dir /usr/share/php/data/PEAR --- !empty dir /usr/share/php/data --- !empty dir /usr/share/php/XML/RPC --- !empty dir /usr/share/php/XML --- !empty dir /usr/share/php/PEAR/Frontend --- !empty dir /usr/share/php/PEAR/Command --- !empty dir /usr/share/php/PEAR --- !empty dir /usr/share/php/OS --- !empty dir /usr/share/php/Console --- !empty dir /usr/share/php/Archive --- !empty dir /usr/share/php/.registry --- !empty dir /usr/share/php --- !empty dir /usr/share --- !empty dir /usr/bin --- !empty dir /usr --- !empty dir /etc >>> original instance of package unmerged safely. * The location of the local PEAR repository has been changed * from /usr/lib/php to /usr/share/php. * If you had a standard setup previously installed PEAR packages * have been moved to the new location. >>> Regenerating /etc/ld.so.cache... >>> dev-php/PEAR-PEAR-1.3.5-r1 merged. >>> clean: No packages selected for removal. >>> Auto-cleaning packages ... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date.
Sebastian, it still fails for me in a perfectly reproducible pattern, I emerge synced about six times since yesterday and tried over and over again... I'm not really sure whether the ebuilds/eclasses you are testing with are those that actually were commited into portage.
I am sure that I am not using anything (eclass/ebuild) that is not committed.
Looks like emerging dev-php/pear is the fix. I had a similar issue with installing PEAR's BBCodeParser.