go-pear windows silent failure

From: Date: Fri, 27 Dec 2002 20:25:34 +0000
Subject: go-pear windows silent failure
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-3081@lists.php.net to get a copy of this message
I saw that PEAR had just turned 1.0 with the release of 4.3.0, which is fantastic.. but I still can't install from scratch with the go-pear script, and if I upgrade from the latest working PEAR distribution (the one that came with PHP-4.2.2 -- none of the later PHP windows distros have PEAR), the PEAR package manager stops working completely. Here's what happens when I run the go-pear script from http://go-pear.org/ -----------------------------------------------------------------------
Welcome to go-pear! Go-pear will install the 'pear' command and all the files needed by it. This command is your tool for PEAR installation and maintenance. Go-pear also lets you download and install the PEAR packages bundled with PHP: DB, Net_Socket, Net_SMTP, Mail, XML_Parser. If you wish to abort, press Control-C now, or press Enter to continue: HTTP proxy (host:port), or Enter for none: Below is a suggested file layout for your new PEAR installation. To change individual locations, type the number in front of the directory. Type 'all' to change all of them or simply press Enter to accept these locations.
 1. Installation prefix          : c:\php4
 2. Binaries directory           : $prefix
 3. PHP code directory           : $prefix\pear
4. Documentation base directory : $php_dir\docs
 5. Data base directory          : $php_dir\data
 6. Tests base directory         : $php_dir\tests
1-6, 'all' or Enter to continue: The following PEAR packages are bundled with PHP: DB, Net_Socket, Net_SMTP, Mail, XML_Parser. Would you like to install these as well? [Y/n] : n Downloading package: PEAR.............ok Downloading package: Archive_Tar......ok Downloading package: Console_Getopt...ok Downloading package: XML_RPC..........ok Bootstrapping: PEAR...................ok Bootstrapping: Archive_Tar............ok Bootstrapping: Console_Getopt.........ok Extracting installer..................ok install ok: PEAR 1.0 install ok: Archive_Tar 0.9 install ok: Console_Getopt 1.0 install ok: XML_RPC 1.0.4 The 'pear' command is now at your service at c:\php4\pear ** The 'pear' command is not currently in your PATH, so you need to ** use 'c:\php4\pear' until you have added ** 'c:\php4' to your PATH environment variable. Run it without parameters to see the available actions, try 'pear list' to see what packages are installed, or 'pear help' for help. For more information about PEAR, see: http://pear.php.net/faq.php http://cvs.php.net/co.php/pearweb/doc/pear_package_manager.txt?p=1 http://pear.php.net/manual/ Thanks for using go-pear!
----------------------------------------------------------------------- This would seem to be fine, no? However, the directory c:\php4\pear\ now contains only: [d] .registry/ [d] data/ [d] docs/ [d] tests/ [f] .filemap [f] .lock .registry/ contains .reg files for Artchive_Tar, Console_Getopt, PEAR and XML_RPC, but all the other folders are empty and no package management script is installed. My first assumption was that this was because you cannot have a file and a directory both called "pear" in the same location, but installing to pearlib/ has the exact same outcome. Obviously "install ok: PEAR 1.0" is very much a false statement. Now, starting instead from the working installation of PEAR provided with PHP 4.2.2 (1.0b1? Not sure) if I run pear upgrade PEAR I get:
PEAR already installed
Which confused the heck out of me. I wouldn't be upgrading it if it wasn't installed. I downloaded PEAR-1.0.tgz from the PEAR website and ran: pear upgrade PEAR-1.0.tgz I get:
installed file c:\php4\pear\PEAR.php installed file c:\php4\pear\System.php installed file c:\php4\pear\PEAR\Autoloader.php installed file c:\php4\pear\PEAR\Command.php installed file c:\php4\pear\PEAR/Command\Auth.php installed file c:\php4\pear\PEAR/Command\Build.php installed file c:\php4\pear\PEAR/Command\Common.php installed file c:\php4\pear\PEAR/Command\Config.php installed file c:\php4\pear\PEAR/Command\Install.php installed file c:\php4\pear\PEAR/Command\Package.php installed file c:\php4\pear\PEAR/Command\Registry.php installed file c:\php4\pear\PEAR/Command\Remote.php installed file c:\php4\pear\PEAR\Common.php installed file c:\php4\pear\PEAR\Config.php installed file c:\php4\pear\PEAR\Dependency.php installed file c:\php4\pear\PEAR/Frontend\CLI.php installed file c:\php4\pear\PEAR\Builder.php installed file c:\php4\pear\PEAR\Installer.php installed file c:\php4\pear\PEAR\Packager.php installed file c:\php4\pear\PEAR\Registry.php installed file c:\php4\pear\PEAR\Remote.php installed file c:\php4\pear\OS\Guess.php installed file c:\php4\/\scripts\pear installed file c:\php4\/\scripts\pear.bat install ok
Which sounds like good news, but now when I run: pear I get:
Fatal error: Call to undefined function: getoptions() in c:\php4\pear\scripts\pear.in on line 36
Which sounds like bad news. I checked c:\php4 and found a scripts/ folder in there for some reason, (see the last three lines of the install above) so I copied the pear script in there over c:\php4\pear\scripts\pear.in and lo and behold, pear.bat now runs and prints a list of options. Now though, whatever command I give, be it: pear upgrade-all or pear config-show or pear list-all All I ever get is the help for that command. None of them actually do anything, and I can't install or upgrade any more packages. So what can I do? I can't install from scratch, and I can't upgrade. Finally, though this is nothing to do with you guys, I guess, neither PEAR nor the CLI SAPI version of PHP are included in the Windows binary package of PHP 4.3.0 .. and they bloody well should be. :) I'm off to cry in a corner now, with my old (but still working) version of PEAR. Happy new year! Matt

« previous php.pear.general (#3081) next »