[Mapserver-users] PERL mapscript undefined symbol woes

Joe Bussell joe at otsys.com
Thu May 1 16:08:18 EDT 2003


I have had this running on 5.8 using swig1.1 some weeks ago.  Something 
drifted on my box certainly.

I have a similar set of undefined symbols on a Redhat box using perl5.6. 
  It does not give me any trouble however, certainly never seg-faults.

I did make a pass using swig1.3.  I recieved several warnings about 
deprecated methods, but it generated a compilable .c file.  Make went 
well also.  Mapscript almost worked, but I observed msyyparse errors on 
an expression without any detail on the source of the error
(Thu May  1 10:29:58 2003 - msyyparse(): Expression parser error. parse 
error)

It did render some maps with very small number of elements.  When the 
number of on-screen objects gets large,it seg-faults.  This seems quite 
odd as the production box at www.trafficdodger.com is doing a bang up 
job with mapserver-3.6.5 using the same shapefiles, mapfile, and symbol set.

On my Redhat box with perl5.6.1 (that works fine apparently) I get the 
following errors upon ldd -r mapscript.so:
ldd -r /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so
	libgd.so.2 => /usr/local/lib/libgd.so.2 (0x400d9000)
	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40110000)
	libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x4012f000)
	libpng.so.2 => /usr/lib/libpng.so.2 (0x40178000)
	libz.so.1 => /usr/lib/libz.so.1 (0x4019a000)
	libtiff.so.3 => /usr/lib/libtiff.so.3 (0x401a9000)
	libproj.so.0 => /usr/local/lib/libproj.so.0 (0x401eb000)
	libgdal.1.1.so => /usr/local/lib/libgdal.1.1.so (0x4021d000)
	libm.so.6 => /lib/i686/libm.so.6 (0x40474000)
	libc.so.6 => /lib/i686/libc.so.6 (0x40497000)
	libdl.so.2 => /lib/libdl.so.2 (0x405d3000)
	libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x405d8000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
undefined symbol: PL_sv_undef 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: PL_markstack_ptr 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: PL_na 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: PL_sv_yes 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: PL_stack_base 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: PL_stack_sp 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: perl_get_sv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_croak 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_setiv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_mg_find 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_newmortal 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_isobject 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_2nv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_2pv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_setpv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_newXS 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_setsv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_magic 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_setref_pv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_2iv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_setnv 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_sv_setpvn 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)
undefined symbol: Perl_mg_get 
(/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/mapscript/mapscript.so)


Cordially,

Joe Bussell


Steve Lime wrote:
> I've not tried perl 5.8 with Swig. So, if they changed the guts of perl
> which is where all
> the undefined symbols live then that could be the issue. Have you tried
> re-swigging the
> the interface (cd mapscript/perl; swig -shadow -perl5 mapscript.i) file
> with a brand new
> version of Swig?
> 
> Steve
> 
> Stephen Lime
> Data & Applications Manager
> 
> Minnesota DNR
> 500 Lafayette Road
> St. Paul, MN 55155
> 651-297-2937
> 
> 
>>>>Joe Bussell <joe at otsys.com> 04/30/03 05:56PM >>>
> 
> Greetings Listers,
>     I have a Debian box with PERL5.8 and mapserver-3.6.5.  I have had 
> great success in the past with this box, but something in my build went
> 
> awry.  The compile for mapserv and then perl/mapscript completed
> without 
> error.  The object is also generally useful when using dump.pl and even
> 
> some live map rendering under apache.  The symptom that I observed is 
> that whenever the process needs to carp out something it segfaults and
> 
> dies.  I ran ldd with the -r option and observed an interresting clue 
> (see below).  Does anyone have any ideas how the Perl_* symbols are 
> defined?  Why would they not be found?  Should the list of *.so include
> 
> libperl.so?  Any ideas on getting out of this mess?
> 
> ldd -r blib/arch/auto/mapscript/mapscript.so
> 	libgd.so.2 => /usr/local/lib/libgd.so.2 (0x40102000)
> 	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40147000)
> 	libfreetype.so.6 => /usr/local/lib/libfreetype.so.6
> (0x40164000)
> 	libpng.so.2 => /usr/lib/libpng.so.2 (0x401ad000)
> 	libz.so.1 => /lib/libz.so.1 (0x401d3000)
> 	libtiff.so.3 => /usr/lib/libtiff.so.3 (0x401e0000)
> 	libproj.so.0 => /usr/local/lib/libproj.so.0 (0x40224000)
> 	libgdal.1.1.so => /usr/local/lib/libgdal.1.1.so (0x40255000)
> 	libm.so.6 => /lib/libm.so.6 (0x404b0000)
> 	libc.so.6 => /lib/libc.so.6 (0x404d1000)
> 	libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x405e1000)
> 	libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x405ef000)
> 	libdl.so.2 => /lib/libdl.so.2 (0x406ab000)
> 	libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x406ae000)
> 	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40757000)
> 	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
> undefined symbol: Perl_croak_nocontext 
> (blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_setiv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_2pv_flags	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_mg_find	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: pthread_getspecific 
> (blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_newmortal	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_isobject	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_sv_2nv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_Isv_yes_ptr	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_setpv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_newXS	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_Tna_ptr	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_Tmarkstack_ptr_ptr 
> (blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_Isv_undef_ptr	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_magic	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_sv_setsv_flags 
> (blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_Tstack_base_ptr 
> (blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_get_sv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_Gthr_key_ptr	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_setref_pv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_sv_2iv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_setnv	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_Tstack_sp_ptr	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol:
> Perl_sv_setpvn	(blib/arch/auto/mapscript/mapscript.so)
> undefined symbol: Perl_mg_get	(blib/arch/auto/mapscript/mapscript.so)
> 
> 
> Cordially,
> 
> Joe Bussell
> On Time Systems
> www.trafficdodger.com 
> 
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu 
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> 





More information about the mapserver-users mailing list