Java Mapscript vs. Swig

José Vilson de Mello de Farias vilson.farias at DIGITRO.COM.BR
Tue Oct 3 09:31:10 EDT 2006


Umberto,

  Indeed, there was an extra mapscript.jar in the Tomcat share/lib 
directory. I've changed it's content and now everything is working 
perfectly.  I really appreciated your help, thanks a lot.

  You should keep the mapObj.setMappath test for the next source 
release. It may help people who have the same problem.

Best regards,

Vilson

Umberto Nicoletti wrote:
> Jose',
> I have compiled latest mapserver from CVS and built java mapscript
> with swig 1.3.29.
> I changed one of the examples as follows:
>
> Index: examples/DrawMap.java
> ===================================================================
> RCS file: /data2/cvsroot/mapserver/mapscript/java/examples/DrawMap.java,v
> retrieving revision 1.5
> diff -U3 -r1.5 DrawMap.java
> --- examples/DrawMap.java       24 May 2006 08:26:49 -0000      1.5
> +++ examples/DrawMap.java       3 Oct 2006 06:45:40 -0000
> @@ -27,6 +27,9 @@
>        }
>
>     mapObj map = new mapObj(args[0]);
> +    String path=map.getMappath();
> +    map.setMappath(path);
> +    System.out.println("MAPPATH IS="+path);
>     //map.getImagecolor().setRGB(153, 153, 204);
>     //styleObj st = map.getLayer(1).getClass(0).getStyle(0);
>     //st.getColor().setHex("#000000");
>
> and then ran 'make test', which gave no problems.
> I suspect you might have an older version of mapscript (either the .so
> or the .jar) file lying around. In particular check common/lib of your
> tomcat install.
>
> Best regards,
> Umberto
>
> On 9/29/06, José Vilson de Mello de Farias 
> <vilson.farias at digitro.com.br> wrote:
>>
>>  Greetings,
>>
>>    I've compiled a Mapserver from the latest CVS code (Sept 29) and I'm
>> having some problems with Java Mapscript.
>>
>>    My system had been running fine until this afternoon, when I 
>> compiled a
>> new Mapserver from CVS code. I had to compile a new Swig version 
>> before I
>> could start.
>>
>>    The Mapserver compilation was fine, and I didn't get any erros. My 
>> goal
>> was the Java Mapscript, wich was sucessfully compiled and tested with 
>> "make
>> test". After I had deployed and restarted the Tomcat it figured out 
>> that one
>> of my example codes wasn't working anymore. The code is very simple, 
>> please
>> take a look :
>>
>>
>>   protected void doPost(HttpServletRequest req, HttpServletResponse 
>> resp)
>> throws ServletException, IOException {
>>      log.trace("doGet - request:" + req);
>>      try {
>>        PrintWriter p = resp.getWriter();
>>
>>        mapObj mapa = new
>> mapObj("/home2/java/tomcat/webapps/mapserver_wms/mapas/rio_grande_do_sul.map"); 
>>
>>
>> mapa.setMappath("/home2/java/tomcat/webapps/mapserver_wms/mapas/shapes_rio_grande_do_sul"); 
>>
>>
>>        imageObj image = mapa.draw();
>>
>>        File arqMapa = File.createTempFile("mapa", ".png", new
>> File("/home2/java/tomcat/webapps/mapserver_wms/image"));
>>        log.debug("createTempFile " + arqMapa.getAbsolutePath());
>>
>>        arqMapa.deleteOnExit();
>>        image.save(arqMapa.getAbsolutePath(), mapa);
>>
>>        resp.setContentType("text/html");
>>        resp.getWriter().println("<img src=image/" + arqMapa.getName() +
>> ">");
>>      }
>>      catch (Exception e) {
>>        log.error(e.getLocalizedMessage(), e);
>>      }
>>    }
>>
>>  After I executed the code above on Firefox, the following error was 
>> showed
>> :
>>
>> javax.servlet.ServletException: set_mapObj_mappath
>>
>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:293)
>>
>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161) 
>>
>>
>>  root cause
>>
>>  java.lang.UnsatisfiedLinkError: set_mapObj_mappath
>>
>> edu.umn.gis.mapscript.mapscriptJNI.set_mapObj_mappath(Native
>> Method)
>>
>> edu.umn.gis.mapscript.mapObj.setMappath(mapObj.java:195)
>>  After some tests I found that the problem had been caused by
>> mapa.setMappath code. It seems Swig wasn't able to create a proper
>> mapscript.jar/libmapscript.so. I checked the mapscript_wrap.c and the
>> corresponding method to mapa.setMappath was called
>> Java_edu_umn_gis_mapscript_mapscriptJNI_mapObj_1mappath_1set.
>> Although I have definitely no experience with Swig, those numbers "1" in
>> method name doesn't look ok. Is it ok? Could be the Swig the 
>> responsible for
>> this error?
>>
>>  If I remove the mapa.setMappath, everything works fine and my map is 
>> shown
>> in the browser.
>>
>>  I included some info about my Mapserver and system. By the way, I've
>> compiled every component of Mapserver instead of using Linux defaults.
>>
>>
>>  compiled packages (we haven't used any RPMs, all packages were manually
>> compiled/installed)
>>  libpng-1.2.12
>>  freetype-2.2.1
>>  zlib-1.2.3
>>  gd-2.0.33
>>  jpegsrc.v6b
>>  tiff-3.8.2
>>  libgeotiff-1.2.1
>>  PDFlib-Lite-6.0.3
>>  proj-4.4.9
>>  curl-7.15.4
>>  geos-2.2.3
>>  gdal-1.3.2
>>  swig-1.3.29
>>
>>  Mapserver's configure
>>  ./configure --prefix=/home2/mapserver --without-pdf --with-threads
>> --with-zlib=/home2/mapserver/zlib
>> --with-png=/home2/mapserver/libpng
>> --with-tiff=/home2/mapserver/libtiff
>> --with-jpeg=/home2/mapserver/libjpeg
>> --with-freetype=/home2/mapserver/freetype
>> --with-proj=/home2/mapserver/proj4
>> --with-geos=/home2/mapserver/geos/bin/geos-config
>> --with-gd=/home2/mapserver/gd
>> --with-ogr=/home2/mapserver/gdal/bin/gdal-config
>> --with-gdal=/home2/mapserver/gdal/bin/gdal-config
>> --with-curl-config=/home2/mapserver/libcurl/bin/curl-config
>> --with-wfs --with-wcs --with-wmsclient --with-wfsclient
>> --with-php=/usr/include/php
>>
>>  Linux
>>  Linux dgtad 2.6.9-22.EL #1 Mon Sep 19 18:20:28 EDT 2005 i686 athlon 
>> i386
>> GNU/Linux
>>
>>  MAPSERVER_HOME=/home2/mapserver
>>  PROJ_LIB=$MAPSERVER_HOME/proj4/share/proj
>> LD_LIBRARY_PATH=$LD_LIBRARY_PATH::/home2/mapserver/proj4/lib:/home2/mapserver/gdal/lib:/home2/mapserver/geos/lib:/home2/mapserver/libcurl/lib:/home2/mapserver/libpng/lib:/home2/mapserver/libjpeg/lib:/home2/mapserver/libtiff/lib:/home2/mapserver/libgeotiff/lib:/home2/mapserver/ogdi/lib:/home2/mapserver/freetype/lib:/home2/mapserver/gd/lib:/home2/mapserver/zlib/lib:/home2/mapserver/proj4/share/proj:$MAPSCRIPT_HOME 
>>
>>  MAPSCRIPT_HOME=$MAPSERVER_HOME/mapscript
>>  PATH=/usr/java/jre/bin:/usr/java/jdk/bin:$MAPSCRIPT_HOME
>>
>>  Java
>>  JRE_HOME=/usr/java/jre
>>  JAVA_HOME=/usr/java/jdk
>>  JDBC_HOME=/usr/java/jdbc
>>  CATALINA_HOME=/usr/java/tomcat
>>
>>  java version "1.5.0_07"
>>  Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
>>  Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode, sharing)
>>
>>  Tomcat
>>  Using CATALINA_BASE:   /usr/java/tomcat
>>  Using CATALINA_HOME:   /usr/java/tomcat
>>  Using CATALINA_TMPDIR: /usr/java/tomcat/temp
>>  Using JRE_HOME:       /usr/java/jre
>>  Server version: Apache Tomcat/5.5.17
>>  Server built:   Apr 14 2006 02:08:29
>>  Server number:  5.5.17.0
>>  OS Name:        Linux
>>  OS Version:     2.6.9-22.EL
>>  Architecture:   i386
>>  JVM Version:    1.5.0_07-b03
>>  JVM Vendor:     Sun Microsystems Inc.
>>
>>  gcc
>>  gcc (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2)
>>  Copyright (C) 2004 Free Software Foundation, Inc.
>>  This is free software; see the source for copying conditions.  There 
>> is NO
>>  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
>> PURPOSE.
>>
>>  Swig
>>  SWIG Version 1.3.29
>>  Compiled with g++ [i686-pc-linux-gnu]
>>  Please see http://www.swig.org for reporting bugs and further 
>> information
>>
>>
>>  I'd appreciate any help and thanks in advance.
>>
>>  Best regards,
>>
>>
>> -- 
>>  José Vilson de Mello de Farias
>>  Analista de Sistemas
>>  SSE - Segurança Pública
>>
>>  DÍGITRO TECNOLOGIA
>>  E-mail: vilson.farias at digitro.com.br
>>  Messenger: vilsonfarias at hotmail.com
>>  Fone: (0xx48) 3281-7314
>>  Fax: (0xx48) 3281-7000
>>  Site: www.digitro.com.br
>
>


-- 
*José Vilson de Mello de Farias*
/Analista de Sistemas
//SSE - Segurança Pública/

*DÍGITRO TECNOLOGIA*
*E-mail:* vilson.farias at digitro.com.br 
<mailto:vilson.farias at digitro.com.br%20>
*Messenger: *vilsonfarias at hotmail.com 
<mailto:vilson.farias at digitro.com.br%20>
*Fone:* (0xx48) 3281-7314
*Fax:* (0xx48) 3281-7000
*Site:* www.digitro.com.br <http://www.digitro.com.br%20> 
<http://www.digitro.com.br%20>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20061003/a7feecb9/attachment.html


More information about the mapserver-users mailing list