[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cobalt-developers] Updating PHP on RaQ 550



Hi Bruce,

> The usage graphs on the 550 don't do that anymore, do they? Regardless, the
> Unisys GIF patent has expired -- at least in the US -- and anyone can do
> what they wish now...

Yeah. But most use gd-lib to create images from within PHP. Since PHP-4.3.X it 
also comes with a bundled gd-2.0.X, so you don't have to use the gd-lib 
already installed on the system, which is great for better portability. 

Unfortunately GIF support was dropped from gd-lib due to the (now expired) 
Unisys patent. It is not clear if GIF support will be added to gd again. 

There is a "hacked" version of gd-1.8.4 which supports both PNG and GIF. It's 
not endorsed by Mr. Boutell, the creator and maintainer of gd. PKGmaster.com 
uses this gd-lib in their PHP-4.1.2.

> The few times I tried rebuilding PHP, I always got an "i18n not found"
> error or something...  those who are building more PHP binaries can
> probably add comments...

I remember a few comments from Sun Cobalt officials when users inquired why 
Sun never brought out an updated PHP for the RaQs. The usual reply mumbled 
something about "fundamental API changes in PHP between 4.0.6 and newer 
versions". I always though "Bollocks!" when I saw that.

I looked at the issue a few times. Last time around when the Qube3 was open 
sourced. I then grabbed the Qube 3 sources and also went through ...

ftp://ftp.cobalt.com/pub/products/qube3/ml/updates/SRPMS/php-4.0.6-C5_Qube3.src.rpm

... and earlier PHP SRPMs with a fine toothed comb. The SRPMs should basically 
contain everything which makes the PHP4 on a Qube3 so special, right?

Well, when you grep the contends of the SRPM for the term "i18n" the only 
reference is in php-4.0.6/ext/mbstring. Apparently i18n in there refers to 
this stuff:

==========================================
  README for I18N Package
==========================================

[snip]

o What is this package?

This package allows you to handle multiple Japanese encodings (SJIS, EUC,
UTF-8, JIS) in PHP.  If you find any bugs in this package, please report
them to the appropriate mailing list.  For now, the PHP-jp mailing list
is the best place for this.

[snip]

-----------------------------------------------------------------------------------------

Why does the phrase "Move along, these aren't the droids you are looking for 
..." come to mind? ;o) 

At first glimpse it does not look as if this is the stuff we're looking for as 
it just deals with mbstring encoding and multibyte character support for 
Japanese. However, the RaQ550 and Qube3 are multi-langual, so this indeed 
makes sense.

A broken GUI interface after a self attempted PHP upgrade usually complains 
like this:

-----------------------------------------------------------------------------------------
Fatal error: Call to undefined function: i18n_new() in 
/usr/sausalito/ui/libPhp/I18n.php on line 47
-----------------------------------------------------------------------------------------

The relevant function generating that error in 
/usr/sausalito/ui/libPhp/I18n.php looks like this:

-----------------------------------------------------------------------------------------
        // description: constructor
        // param: domain: a string that describes the domain
        // param: langs: an optional string that contains a comma 
	// separated list of preferred locale. Most important locales 
	// appears first. 
	// e.g. "en_US, en_AU, zh, de_DE"
        function I18n($domain = "", $langs = "")
        {
                if($GLOBALS["_I18n_isDebug"]) print("I18n($domain, 
$langs)\n");
                if($GLOBALS["_I18n_isStub"]) return;

                if($langs == "" && getenv("LANG") == "") {
                        $langs = "en";
                }

                $this->handle = i18n_new($domain, $langs); // <-- Line 47
        }
-----------------------------------------------------------------------------------------