Buggy compilation of php_mapscript from mapserver 4.10.2 and php 5.2

Laurent HENRY (EHESS/CRI) laurent.henry at EHESS.FR
Tue Jun 5 05:44:24 EDT 2007


Well, still no answer.... i think i can still answer to myself....

  Anyway, i think i resolved it, i had a '--enable-versioning' in my php 
configure options.
	"--enable-versioning     Export only required symbols."

It worked fine previously php 5.1 (like if the zend_* where used at that time 
and so exported ) and not anymore since then, making useful symbols no more 
exported and so hanging the php_mapscript module.





Le Lundi 4 Juin 2007 10:57, Laurent HENRY a écrit :
> hello,
>       Sorry for crossposting with the user mailing list, where i did not
> find any answer with my strange compilation problem, anyone feel free to
> ask for any details i could have forgotten.
>
>
> here it is:
>
>   While upgrading my Linux (Suse 10.1), i am trying to compile
> php_mapscript with a new version of manually compiled php and i am coming
> across a problem i don't understand.
>
> With the mapscript from mapserver 4.10.2 and the includes from php 5.0.5,
> all is fine.
>
> While installing php from a version above (i tried 5.1.0; 5.2.1;5.2.2),
> the mapserver is compiling fine (including mapscript) but the
> php_mapscript.so is failling to be
> loaded by apache: i get in my error_log  "symbol lookup error:
> /usr/share/php/extensions/php_mapscript.so: undefined symbol:
> zend_register_list_destructors_ex"
>
> i don't get how this could happen since i can see this zend_register_ in
> my includes  :
>  #grep zend_register_list_destructors_ex /usr/include/php/Zend/*
> zend_list.h:ZEND_API int
> zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t
> pld, char *type_name, int module_number);
>
> and i see, this directory is included fine while compiling
>
> ~/Sources/mapserver-4.10.2/mapscript/php3 #make all
> [...]
> gcc -fPIC -O2 -fPIC -Wall   -DUSE_PHP_REGEX -DCOMPILE_DL=1 -DPHP4
> -DUSE_WMS_LYR    -DUSE_WFS_SVR -DUSE_WMS_SVR      -DUSE_GDAL -DUSE_OGR
> -DUSE_PROJ -DUSE_EPPL   -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG
> -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR
> -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB
> -I/root/Sources/mapserver-4.10.2         -I/usr/local/include
> -I/usr/include   -I/usr/include/php/ -I/usr/include/php//dl
> -I/usr/include/php//main -I/usr/include/php//Zend
> -I/usr/include/php//include -I/usr/include/php//TSRM   -c -o
> php_mapscript.o php_mapscript.c
>
> Is this a possible bug in the includes inside the code of mapscript.c, a
> bad cpp macro or something like that ?
>
> thank you for any clue and help.

-- 
Laurent HENRY
Administrateur Systèmes & Réseaux
EHESS - CRI
54 Bd Raspail
75006 Paris
Tel: 01 49 54 23 61



More information about the mapserver-dev mailing list