views:

91

answers:

1

I'm using glpk-java in one of my projects. It provides a JNI to GLPK, a free LP/MIP solver. To use it under different platforms, you need different shared libraries (libglpk.so under Linux, libglpk.dylib under Mac OS X, glpk.dll under Windows) which is fully understandable. In addition, a java library is needed: glpk-java.jar. It's created as part of the build process.

I was wondering why this JAR file (which only contains .class files) is different under different platforms? I.e., I cannot use the same glpk-java.jar under Linux and Mac OS X which means that I cannot put this file under revision control.

+1  A: 

I have no idea and I don't know that library, but maybe the native shared libraries are different for the different platforms for some reason (i.e. they contain different functions), so that different Java classes are necessary.

If you really want to know, a good place to ask would be one of the mailing lists of the project, you can find info on the project's Sourceforge site. And since it's open source, you could get the source and investigate yourself.

Jesper