ID: 13796
Updated by: sniper
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Feedback
Bug Type: GD related
Operating System: Linux
PHP Version: 4.0CVS-2001-10-23
New Comment:

Please check your system for all libg.a (or .so) files.
You most likely have old one there somewhere.
And if this is not the case, send me the libgd.a|so file
so I can check it out myself. ([EMAIL PROTECTED])

--Jani


Previous Comments:
------------------------------------------------------------------------

[2001-10-24 06:25:05] [EMAIL PROTECTED]

Yes, GD is compiled with freetype 2. Please observe that everything works perfectly 
when I edit main/php_config.h manually (removing HAVE_GD_STRINGTTF) before compiling.

It doesn't seem to matter what prefix I enter at --with-freetype-dir, configure 
reports that it finds freetype 2 anyway. And it apparently works.

In my view there are two issues here:
1. Something is wrong in the autoconf stuff which makes both HAVE_GD_STRINGTTF and 
HAVE_GD_STRINGFT be defined in main/php_config.h although there is no libttf (freetype 
1) on the system and HAVE_GD_STRINGTTF should (as far as I understand) not be defined.

2. The if/else preprocessor stuff in ext/gd/gd.c around line 2765 is strange (or 
wrong):

# if HAVE_GD_STRINGFT
    error = gdImageStringFT(...);
# endif

# if HAVE_GD_STRINGTTF
    error = gdImageStringTTF(...);
# endif

Shouldn't this be changed to:

#if HAVE_GD_STRINGFT
    error = gdImageStringFT(...);
#elif HAVE_GD_STRINGTTF
    error = gdImageStringTTF(...);
#endif

Or is there a hidden point in both gdImageStringFT() and gdImageStringTTF() being 
called in sequence if both HAVE_GD_STRINGTTF and HAVE_GD_STRINGFT are defined?

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

[2001-10-24 05:47:24] [EMAIL PROTECTED]

Sorry, I didn't notice that you're using invalid configure
option value here. --with-freetype-dir expects the
install prefix dir for freetype2.

# ./configure --help |grep freetype
--with-freetype-dir=DIR   GD: Set the path to freetype2 install prefix.

Also, is your GD library compiled with freetype 2?

--Jani




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

[2001-10-24 04:20:01] [EMAIL PROTECTED]

No, still the same problem:

$ grep HAVE_GD_STRING main/php_config.h
#define HAVE_GD_STRINGFT 1
/* #undef HAVE_GD_STRINGFTEX */
#define HAVE_GD_STRINGTTF 1

Gives the same error when compiled and tried with imagettf*().

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

[2001-10-24 00:46:11] [EMAIL PROTECTED]

Could you check if this works in latest CVS now?

--Jani


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

[2001-10-23 04:10:40] [EMAIL PROTECTED]

Configuring with freetype 2 and NOT freetype 1.* installed:

./configure \
--with-gd \
--with-freetype-dir=/usr/local/include/freetype2

results in both HAVE_GD_STRINGTTF and HAVE_GD_STRINGFT being defined in 
main/php_config.h

This produces this error when trying to use the imagettf*() functions in GD:

"libgd was not built with TrueType font support"

Removing HAVE_GD_STRINGTTF from main/php_config.h before compiling fixes this issue. 
But of course it should be permanently fixed in autoconf.

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



Edit this bug report at http://bugs.php.net/?id=13796&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to