loading mapscript in java error

Sean Gillies sgillies at FRII.COM
Tue Nov 9 09:39:26 EST 2004


Dan,

Following up on Umberto's thought about your compile flags ... will you
write back and attach your java/Makefile?

thanks,
Sean

On Nov 8, 2004, at 7:00 PM, dbarron wrote:

> Got the mapscript library to load - but now I have yet another error.
> Got
> library to load by doing the following:
>
> - commented out the following entry in the
> <src-root>/mapscript/swiginc/map.i
> file - any ideas why the map.i file contains this entry?  maybe it
> needs to
> be modified?
>
>   int saveQueryAsGML(char *filename) {
>     return msGMLWriteQuery(self, filename);
>   }
>
> - rebuilt the java source files using swig command
>
>   swig -java -v -package mapscript mapscript.i
>
> - rebuilt the mapscript.jar and libmapscript.so files
> - copied the mapscript.jar file to the /usr/local/jdk1.5.0/jre/lib/ext/
> directory
>
> Now when I try to run the following little java app to test:
>
>  import java.io.*;
>  import edu.umn.gis.mapscript.*;
>
>  public class MapScriptTest {
>
>    public static void main(String[] args) throws IOException {
>       System.out.println("loading mapscript library...");
>       System.loadLibrary("mapscript");
>       System.out.println("mapscript library LOADED...");
>       mapObj  map;
>       imageObj image;
>
>       map=new mapObj("/home/dbarron/mapserver-test/china.map");
>       System.out.println("Created new mapObj()...");
>       image=map.draw();
>       image.save("china.png",map);
>
>    }
>  }
>
> I get the following output and exception:
>
> loading mapscript library...
> mapscript library LOADED...
> Exception in thread "main" java.lang.NoClassDefFoundError:
> edu/umn/gis/mapscript/mapObj (wrong name: mapscript/mapObj)
>         at java.lang.ClassLoader.defineClass1(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>         at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>         at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at
> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>         at MapScriptTest.main(MapScriptTest.java:14)
>
> I will continue to work through it - but wanted to see if either of
> you had
> any ideas on this?
>
> Thanks,
>
> Dan
>
>
> On Monday 08 November 2004 10:30, dbarron wrote:
>> Umberto,
>>
>> Thanks for the suggestions!
>>
>> The error in full is below.  The test app does see the library and
>> tries to
>> load it - it just has an error within the library itself.  I used the
>> straight beta2 release as Sean suggested.  It seems like the
>> java/libmapscript.so compile is not loading in the source that holds
>> the
>> GML functionality - that's my guess anyway.  I do see the mapgml.c
>> file get
>> compiled into mapserv.exe - that defines the msGMLWriteQuery method -
>> but
>> why the java/libmapscript.so compile does not get it too, I do not
>> know at
>> this point.  I'll see if I can get it to work today.
>>
>> loading mapscript library...
>> Exception in thread "main"
>> java.lang.UnsatisfiedLinkError:
>> /usr/local/lib/special/libmapscript.so:
>> /usr/local/lib/special/libmapscript.so: undefined symbol:
>> msGMLWriteQuery
>>         at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>>         at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
>>         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
>>         at java.lang.Runtime.loadLibrary0(Runtime.java:822)
>>         at java.lang.System.loadLibrary(System.java:992)
>>         at MapScriptTest.main(MapScriptTest.java:8)
>>
>> Dan
>



More information about the mapserver-users mailing list