Ryan Ollerenshaw escreveu:
Quoting Norman Barker <[EMAIL PROTECTED]>:

-----Original Message-----

When trying to create a java application using eclipse i get the
following
error:

java.lang.UnsatisfiedLinkError: libmapscript: libmapscript.so: cannot
open
shared object file: No such file or directory

Here is my code:

import  edu.umn.gis.mapscript.*;
import java.io.*;

public class HelloServlet {

        public static void main(String[] args) {

        System.loadLibrary("mapscript");
              mapObj  map;
              imageObj image;

              map=new
mapObj("/var/www/html/mapserver/htdocs/display.map");
              map.setProjection("init=epsg:4326");
              image=map.draw();
              image.save("test.png",map);
    }
}

Ryan,

You need to add the path variable to eclipse, so in eclipse do the
following

Run -> Run -> (select your configuration) -> Environment -> add a
variable called path and set it to /usr/local/lib (or /usr/lib)

Similary in Tomcat, or JBoss, you need to add -Djava.library.path=... to
run.bat

Norman


thank you but still no luck i am getting the same error message, and i am
running Apache on Fedora Core 5 if that helps any.

Inside eclipse, if you are using linux, you should add the environment variable LD_LIBRARY_PATH pointing to the directory where the file libmapscript.so is placed, in the Run configuration of your project. (the way Norman explained)

If you want it to work inside Tomcat (since you can't use java mapscript with Apache), you should follow these instructions: (I recommend you take a good look into it)
http://mapserver.gis.umn.edu/docs/howto/java_mapscript_Tomcat_55

The part of putting things inside $TOMCAT_HOME/shared/lib is important, this way the mapscript library will be loaded only once. Also, I had to edit the file $TOMCAT_HOME/conf/setenv.sh , setting the environment variable LD_LIBRARY_PATH to point to the directory where libmapscript.so is. (-Djava.library.path is another option)

Another thing you shouldn't do in your code is to call System.loadLibrary() when things are running inside tomcat. This will be done automatically by mapscript.jar.

Vitor

Reply via email to