Bug 154354

Summary: ImageRotate() and ImageAntiAlias() php function not found
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Jeremy Hooks <jeremy>
Component: OtherAssignee: Petr Ostadal <postadal>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: suse-beta
Version: unspecified   
Target Milestone: ---   
Hardware: i686   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Jeremy Hooks 2006-03-01 13:29:05 UTC
ImageRotate() and ImageAntiAlias() do not appear to have been compiled into php4-gd (gd.so).

My PHP installation seems to be working fine otherwise, other PHP4-GD functions I have tried are working, but ImageRotate() and ImageAntiAlias() are just not found.

I am using the boxed version of SUSE 10.
Comment 1 Michael Gross 2006-03-01 14:46:32 UTC
Petr: Please comment on that.
Jeremy, please notice that PHP4 was dropped with 10.0 and is generally no longer supported.
Comment 2 Cristian Rodríguez 2006-03-01 17:59:33 UTC
Jeremy : Please try with PHP 5, Im no longer willing to help debuging PHP4 problems, considere PHP4 deprecated here.

Petr : PHP4 shipped with 10 (I don't ahve a copy of PHP4 at this time)
is compiled with system GD ? (--with-gd=shared,%{_usr}) ????

if so, that's the the problem, both functions are available only when PHP is compiled against bundled GD.




Comment 3 Cristian Rodríguez 2006-03-01 23:26:50 UTC
to verify this:

# php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_reporting=2047 -r 'ImageRotate();  ImageAntiAlias();'

if functions are available it should print 

Warning: imagerotate() expects at least 3 parameters, 0 given in Command line code on line 1

Warning: Wrong parameter count for imageantialias() in Command line code on line 1


if **not** available it should print something like

FATAL Error: called to undefined function.....

Comment 4 Jeremy Hooks 2006-03-07 11:40:39 UTC
These functions are not available, see below

# php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_reporting=2047 -r 'ImageRotate(); ImageAntiAlias();'

Fatal error: Call to undefined function:  imagerotate() in Command line code on line 1


I am using the php4-gd-4.4.0-6, provided by SUSE (updedated in YaST).
# rpm -qa |grep php4-gd
php4-gd-4.4.0-6

Other GD do functions work, e.g.:
# echo "<?php print_r (gd_info());?>" |php
Array
(
    [GD Version] => 2.0 or higher
    [FreeType Support] => 1
    [FreeType Linkage] => with freetype
    [T1Lib Support] => 1
    [GIF Read Support] => 1
    [GIF Create Support] => 1
    [JPG Support] => 1
    [PNG Support] => 1
    [WBMP Support] => 1
    [XBM Support] =>
    [JIS-mapped Japanese Font Support] =>
)

It seems that the following functions are all missing from SUSE 10's php-gd support:
imagerotate()
imageantialias()
imagecreatefromxbm()
imagecreatefromxpm()
imagepscopyfont()
imagelayereffect()
imagecolormatch()
imagefilter()

They only factor I could find which linked them was that in the php-gd headers (/usr/src/packages/SOURCES/php-4.4.0/ext/gd/php_gd.h) they all are enclosed in '#if defined(HAVE_GD_BUNDLED)
 #endif'
That is, except for imagecreatefromxbm().  They are also the only functions which require HAVE_GD_BUNDLED.
Comment 5 Jeremy Hooks 2006-03-07 11:47:53 UTC
>> imagepscopyfont()

I include this by mistake, it is commented out of the headers file and hence would never be compiled in.
Comment 6 Cristian Rodríguez 2006-03-07 16:46:07 UTC
yes,. that means what Im saying, those functions works, only with php4-gd compiled against bundled GD, and the actual package is (wrongly) compiled against System GD.


If you need a quick solution install PHP 5.1.x from ftp.suse.com


Comment 7 Jeremy Hooks 2006-03-08 09:41:25 UTC
(In reply to comment #6)
> If you need a quick solution install PHP 5.1.x from ftp.suse.com
> 

I can get by without anti-alias for the time being.  I thought I had better report the bug so that it doesn't get carried into a later version.

As much as I would like to upgrade to PHP 5, I want to keep my desktop developement system as similar to my remote webserver as possible.  Upgrading my remote server to PHP 5 is not an option at the moment there are too many tempremental components which would need to be upgraded to support PHP 5 (read Plesk is a nightmare to upgrade).  I don't really want to go to PHP 5 until my host offers a newer distro, or I get a remote server that I can install my own choice of distro on.

Thank you all for your help.
Comment 8 Petr Ostadal 2006-04-15 21:53:23 UTC
fixed and tracked in bug #164845