java and stud libraries

Discussion in 'Java' started by Olve, Jun 6, 2012.

  1. Olve

    Olve Guest

    Dear all,

    I have some problem with a java wrapper around C library, when this
    wrapper is used inside firefox. It simple doesn't run, though it does if
    I don't use a navigator.

    This problem occurs on a single machine, but thinking about I discovered
    there were more potentials problems. I thought that java was bundling
    the code and sending it to the host machine. Which may be somewhat
    difficut since the host computer may be in 64 bits and with different
    specifications. So I thought that the wrapper was sent and you needed to
    tell the user to install the proper C-library.

    I not able to find any litterature on this issue.

    The precise problem: the library I'm interested in is lpsolve55.
    The following script works nicely
    -----------------------------------------------------------------
    import lpsolve.*;

    public class Demo {
    public static void main(String[] args) {
    try {
    LpSolve solver = LpSolve.makeLp(0, 4);
    solver.strAddConstraint("3 2 2 1", LpSolve.LE, 4);
    solver.strAddConstraint("0 4 3 1", LpSolve.GE, 3);
    solver.strSetObjFn("2 3 -2 3");
    solver.solve();
    System.out.println("Value of OF: " + solver.getObjective());
    double[] var = solver.getPtrVariables();
    for (int i = 0; i < var.length; i++) {
    System.out.println("Value of var[" + i + "] = " + var);
    }
    solver.deleteLp();
    }
    catch (LpSolveException e) {
    e.printStackTrace();}}
    }
    ------------------------------------------------------------------------
    But the java script loaded by an applet blocks
    ------
    try{
    cU.Alert("Testing...");
    LpSolve mylp = LpSolve.makeLp(0, 4);
    cU.Alert("In FaisableEnRationnelsPositifs ... ");
    } catch (LpSolveException lpse){
    cU.Alert("Exception in FaisableEnRationnelsPositifs!!");
    lpse.printStackTrace();
    }
    ------------------------------------------
    cU.Alert is something like the alert of javascript.
    I get a "Testing..." and then nothing.

    ldconfig has been run, liblpsolve55.so is inside /usr/lib/ and
    /usr/lib/lp_solve/.

    Any help welcome!
    Best,
    Amities,
    Olivier
    Olve, Jun 6, 2012
    #1
    1. Advertising

  2. Olve

    Roedy Green Guest

    On Wed, 06 Jun 2012 09:13:27 +0200, Olve <>
    wrote, quoted or indirectly quoted someone who said :

    >This problem occurs on a single machine, but thinking about I discovered
    >there were more potentials problems. I thought that java was bundling
    >the code and sending it to the host machine. Which may be somewhat
    >difficut since the host computer may be in 64 bits and with different
    >specifications. So I thought that the wrapper was sent and you needed to
    >tell the user to install the proper C-library.


    Try running Wassup inside your browser. Then make sure the various
    properties are suitable for your code e.g. path to the dll.

    see http://mindprod.com/products1.html#WASSUP
    --
    Roedy Green Canadian Mind Products
    http://mindprod.com
    Controlling complexity is the essence of computer programming.
    ~ Brian W. Kernighan 1942-01-01
    ..
    Roedy Green, Jun 7, 2012
    #2
    1. Advertising

  3. Olve

    Roedy Green Guest

    On Wed, 06 Jun 2012 09:13:27 +0200, Olve <>
    wrote, quoted or indirectly quoted someone who said :

    > I have some problem with a java wrapper around C library, when this
    >wrapper is used inside firefox. It simple doesn't run, though it does if
    >I don't use a navigator.


    I am not familiar with the term "a navigator".

    Running C code in an Applet is very very difficult because you must
    arrange for it to be installed on the library path before the Applet
    even starts. You must also arrange to load either the 32 or 64 bit
    version of the code depending on the browser and JVM.

    See http://mindprod.com/applet/wassup.html
    to figure out what you have.

    I just about went mad trying to do this years ago with SetClock.
    see http://mindprod.com/applet/setclock.html
    Just to add to the fun, every browser had its own proprietary tricks.

    It is much easier to use Java Web Start. Then the run time
    automatically installs the dll, selects the correct dll without you
    having to do anything more than write a few lines in a *.jnlp file.

    Your app runs outside the meddling browser, so if it works on one
    machine, it will work on others.

    see http://mindprod.com/jgloss/javawebstart.html
    --
    Roedy Green Canadian Mind Products
    http://mindprod.com
    Controlling complexity is the essence of computer programming.
    ~ Brian W. Kernighan 1942-01-01
    ..
    Roedy Green, Jun 13, 2012
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?ZGF2aWQ=?=
    Replies:
    0
    Views:
    532
    =?Utf-8?B?ZGF2aWQ=?=
    Apr 13, 2006
  2. Karsten Wutzke
    Replies:
    21
    Views:
    914
    Roedy Green
    Jun 29, 2007
  3. anil reddy
    Replies:
    0
    Views:
    296
    anil reddy
    Feb 11, 2009
  4. Sriram Srinivasan
    Replies:
    13
    Views:
    560
    Benjamin Kaplan
    Nov 12, 2009
  5. Mike Wall
    Replies:
    0
    Views:
    451
    Mike Wall
    Sep 27, 2012
Loading...

Share This Page