[Mapserver-users] PERL mapscript undefined symbol woes
Joe Bussell
joe at otsys.com
Thu May 1 13:08:18 PDT 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