Fw: [PHP-GTK-DEV] the error that won't go away [probably solved]
| From: | Steph | Date: | Wed, 10 Aug 2005 04:36:53 +0000 |
| Subject: | Fw: [PHP-GTK-DEV] the error that won't go away [probably solved] | ||
| Groups: | php.gtk.dev | ||
| Request: | Send a blank email to php-gtk-dev+get-1545@lists.php.net to get a copy of this message | ||
OK, following off-list advice (thanks Wez) I'll replace all those dummy
NULLs with TSRMLS_CC's /TSRMLS_DC's and matching bits in the headers as
appropriate. Wez also said that anyone wanting to help from a *nix
perspective could do so here, if they'd like to build against a ZTS version
of PHP - that way you'll get to see the code errors anyone attempting to
build on Windows would fall across.
Somewhere between times I've jumped ahead and found my build target
(php-gtk.dll) has a circular dependency, described as 'The given target is a
dependent of one of the dependents of the given target'. I guess that means
I should've followed the .m4 files more closely and kept the /main and
/ext/gtk+ files apart during make...
----- Original Message -----
From: "Steph" <steph@zend.com>
To: "PHP-GTK dev" <php-gtk-dev@lists.php.net>
Sent: Wednesday, August 10, 2005 5:33 AM
Subject: [PHP-GTK-DEV] the error that won't go away
> Hi all,
>
> I finally got the flags right (or at least, it looks that way), and am
> starting to produce healthy bouncing .obj files (and friends) from the
files
> listed in php_gtk.m4.
>
> At present if I run them through the mill I get through the gen_* files
with
> nothing worse than a bunch of type conversion warnings (once I'd deleted
the
> compiler-unfriendly debugging lines and 'fixed' all the
> phpg_rectangle_from_zval() calls with a dummy NULL parameter for build
> purposes), but then...
>
> php_gtk+_types.c
> ext\gtk+\php_gtk+_types.c(141) : error C2198: 'phpg_tree_path_from_zval' :
> too few actual parameters
> ext\gtk+\php_gtk+_types.c(251) : error C2198: 'phpg_object_check' : too
few
> actual parameters
> ext\gtk+\php_gtk+_types.c(265) : error C2198: 'phpg_object_check' : too
few
> actual parameters
> ext\gtk+\php_gtk+_types.c(425) : error C2065: 'tsrm_ls' : undeclared
> identifier
> NMAKE : fatal error U1077: 'cl' : return code '0x2'
> Stop.
>
> :-(
>
> Adding TSRMLS_FETCH(); to line 393 fixes the tsrm_ls error there, on my
box
> at least. There are further fatal compilation errors in phpg_support.c,
> phpg_gtype.c, php_gtk_util.c and phpg_gobject.c:
>
> phpg_support.c
> main\phpg_support.c(128) : error C2198: 'function through pointer' : too
few
> actual parameters // dodgy addition of dummy NULL param
>
> phpg_gtype.c
> main\phpg_gtype.c(95) : error C2082: redefinition of formal parameter
> 'tsrm_ls' // remove TSRMLS_FETCH()
> main\phpg_gtype.c(166) : error C2065: 'tsrm_ls' : undeclared identifier //
> different function, and I am _lost_ here
>
> php_gtk_util.c
> main\php_gtk_util.c(363) : error C2082: redefinition of formal parameter
> 'tsrm_ls' // remove TSRMLS_FETCH()
> main\php_gtk_util.c(535) : error C2198: 'parse_va_args' : too few actual
> parameters // dummy param
> main\php_gtk_util.c(831) : error C2198: 'php_gtk_count_specs' : too few
> actual parameters // dummy param
> main\php_gtk_util.c(834) : error C2198: 'php_gtk_count_specs' : too few
> actual parameters // dummy param
>
> phpg_gobject.c
> main\phpg_gobject.c(345) : error C2198: 'phpg_gobject_watch_closure' : too
> few actual parameters // dummy param
> main\phpg_gobject.c(645) : error C2198: 'phpg_gtype_new' : too few actual
> parameters // dummy param
> main\phpg_gobject.c(649) : error C2198: 'phpg_gtype_new' : too few actual
> parameters // dummy param
> main\phpg_gobject.c(655) : error C2198: 'phpg_gtype_new' : too few actual
> parameters // dummy param
>
> I got around most of them, probably breaking working code as I went, but
> that error in phpg_gtype.c has me completely beat. The relevant bit of
code
> is in phpg_gtype_from_zval() and goes:
>
> case IS_OBJECT:
> if (Z_OBJCE_P(value) == gtype_ce) { /* fatal error thrown here */
> phpg_gtype_t *object = zend_object_store_get_object(value TSRMLS_CC);
> /* mere warnings that get more strident if I touch anything */
> if (object) {
> return object->type;
> }
>
> Anyone with clue, temporary or otherwise?
>
> Cheers,
> - Steph
>
> --
> PHP-GTK Development Mailing List (http://gtk.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>