Java Mapscript vs. Swig
José Vilson de Mello de Farias
vilson.farias at DIGITRO.COM.BR
Tue Oct 3 06:31:10 PDT 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.htm>
More information about the MapServer-users
mailing list