Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:1033 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 16864 invoked from network); 24 Apr 2003 21:17:01 -0000 Received: from unknown (HELO cs181147.pp.htv.fi) (213.243.181.147) by pb1.pair.com with SMTP; 24 Apr 2003 21:17:01 -0000 Received: from localhost (jani@localhost) by cs181147.pp.htv.fi (8.11.6/8.11.6) with ESMTP id h3OLHCv12288; Fri, 25 Apr 2003 00:17:12 +0300 X-Authentication-Warning: cs181147.pp.htv.fi: jani owned process doing -bs Date: Fri, 25 Apr 2003 00:17:12 +0300 (EEST) Sender: jani@cs181147.pp.htv.fi Reply-To: Jani Taskinen To: Michael Loftis cc: internals@lists.php.net In-Reply-To: <690628031.1051196899@[10.0.0.137]> Message-ID: References: <690628031.1051196899@[10.0.0.137]> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: [PHP-DEV] Bug # 21533 NOT SOLVED! (Trouble building PHP w/ GD and including ImageTTFxxx functions) From: sniper@iki.fi (Jani Taskinen) Try the latest stable snapshot from http://snaps.php.net first.. --Jani On Thu, 24 Apr 2003, Michael Loftis wrote: >I've made a note/comment in the bug itself but figured I should post it >here too. > >This bug is NOT yet fixed. > >In 4.3.1 the code can and still does produce bogus code that doesn't set >error. > >my main/php_config.h generates with this area (not verbatim): > >/* */ >/* #undef HAVE_GD_STRINGTTF */ > >/* */ >/* #undef HAVE_GD_STRINGFT */ > >/* */ >/* #undef HAVE_GD_STRINGFTEX */ > >/* */ >#define USE_GD_IMGSTRTTF 1 > >/* */ >#define USE_GD_IMGSTRTTF 1 > > >Notice we have neither FT nor the FTEX, nor TTF! > >So why in the world does USE_GD_IMGSTRTTF get 1? TAke a look at gd.c:2937 > >In this case error still ends up undefined as we never execute any of the >four functions!!!! I traced the calls back up, the bt is included below >along with a print error to point out the fact. > >GDB OUTPUT: > >#0 0x080c114b in xbuf_format_converter (xbuf=0xbfffd1a0, fmt=0x40357707 >"s", > ap=0xbfffd260) at /usr/src/webserver/php-4.3.1/main/spprintf.c:438 >#1 0x080c1601 in vspprintf (pbuf=0xbfffd208, max_len=0, > format=0x40357706 "%s", ap=0xbfffd25c) > at /usr/src/webserver/php-4.3.1/main/spprintf.c:622 >#2 0x080be757 in php_verror (docref=0x0, params=0x80f92af "", type=2, > format=0x40357706 "%s", args=0xbfffd25c) > at /usr/src/webserver/php-4.3.1/main/main.c:423 >#3 0x080bea1d in php_error_docref0 (docref=0x0, type=2, > format=0x40357706 "%s") at /usr/src/webserver/php-4.3.1/main/main.c:508 >#4 0x403489f6 in php_imagettftext_common (ht=8, return_value=0x817e304, > this_ptr=0x0, return_value_used=0, mode=0, extended=0) > at /usr/src/webserver/php-4.3.1/ext/gd/gd.c:2957 >#5 0x4034861b in zif_imagettftext (ht=8, return_value=0x817e304, > this_ptr=0x0, return_value_used=0) > at /usr/src/webserver/php-4.3.1/ext/gd/gd.c:2835 >#6 0x402fb542 in zend_assign_to_variable_reference () > from /usr/local/libexec/php-4.3.1/ZendOptimizer.so >#7 0x40304a02 in zend_oe () from >/usr/local/libexec/php-4.3.1/ZendOptimizer.so >#8 0x080c02cb in php_execute_script (primary_file=0xbffffcb0) > at /usr/src/webserver/php-4.3.1/main/main.c:1576 >#9 0x080f8d84 in main (argc=2, argv=0xbffffd54) > at /usr/src/webserver/php-4.3.1/sapi/cgi/cgi_main.c:1424 >0> > >(gdb) up >#4 0x403489f6 in php_imagettftext_common (ht=8, return_value=0x817e304, > this_ptr=0x0, return_value_used=0, mode=0, extended=0) > at /usr/src/webserver/php-4.3.1/ext/gd/gd.c:2957 >2957 /usr/src/webserver/php-4.3.1/ext/gd/gd.c: No such file or directory. > in /usr/src/webserver/php-4.3.1/ext/gd/gd.c >(gdb) print error >$2 = 0x20
>(gdb) > > >And the PHP script that will reproduce this every time:: > >mloftis@modwest:/htdocs/www/gd/431$ cat ttf.php >#!/usr/local/bin/php-4.3.1-4 > header ("Content-type: image/png"); > $im = imagecreate (400, 30); > $black = imagecolorallocate ($im, 0, 0, 0); > $white = imagecolorallocate ($im, 255, 255, 255); > imagettftext ($im, 20, 0, 10, 20, -$white, > "/usr/share/fonts/default/TrueType/arib____.ttf", "Ich >will muss"); > imagepng ($im); > imagedestroy ($im); > exit; > ?> > > >And our ./configure statment. > >./configure --disable-debug --disable-rpath >--with-pear=/usr/local/lib/php-4.3.1 --with-config-file-path=/etc >--prefix=/usr/local --libexecdir=/usr/local/libexec/php-4.3.1 >--enable-shared=yes --enable-track-vars --enable-magic-quotes >--enable-trans-sid --with-kerberos --enable-all=shared --without-cyrus >--without-fbsql --without-fdftk --without-fribidi --without-hwapi >--without-informix --without-ingres --without-interbase --without-ircg >--without-java --without-mcve --without-msession --without-oracle >--without-oci8 --without-ovrimos --without-qtdom --without-readline >--without-libedit --without-sybase --without-sybase-ct --without-msql >--without-mssql --with-imap-ssl --with-openssl --enable-session >--with-sablot-js=/usr --with-xslt-sablot=/usr --with-gdbm=shared,/usr >--with-ndbm=shared,/usr --with-db2=shared,/usr --with-db3=shared,/usr >--with-unixODBC=shared,/usr --disable-calendar --enable-overload >--without-ncurses --disable-mime-magic --with-zlib --with-pcre-regex >--disable-yp --disable-path-info-check --enable-discard-path >--enable-mw-php-ini --enable-mw-deprecated-extension --with-jpeg-dir=/usr >--enable-gd-native-ttf --with-ttf=/usr --with-png-dir=/usr > > >Relevant output around the GD extension config: > >checking for FDF support... no >checking whether to enable the bundled filePro support... yes, shared >checking for FriBidi support... no >checking whether to enable FTP support... yes, shared >checking for GD support... yes, shared >checking for the location of libjpeg... yes, shared >checking for the location of libpng... yes, shared >checking for the location of libXpm... yes, shared >checking for FreeType 1.x support... yes, shared >checking for FreeType 2... yes, shared >checking for T1lib support... yes, shared >checking whether to enable truetype string function in GD... yes, shared >checking for fabsf... yes >checking for floorf... yes >checking for jpeg_read_header in -ljpeg... yes >checking for png_write_image in -lpng... yes >If configure fails try --with-xpm-dir= >If configure fails try --with-freetype-dir= >checking for GNU gettext support... yes, shared >checking for bindtextdomain in -lintl... no >checking for bindtextdomain in -lc... yes > > >Need anything else? > > > > >-- >Michael Loftis >Modwest Sr. Systems Administrator >Powerful, Affordable Web Hosting > > -- <- For Sale! ->