Ignore:
Timestamp:
2016-03-14T10:34:17+13:00 (8 years ago)
Author:
davidb
Message:

Fix for MacOS 10.11, El Capitan

Location:
main/trunk/greenstone2/common-src/indexers/mgpp/java/org/greenstone/mgpp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/common-src/indexers/mgpp/java/org/greenstone/mgpp/MGPPRetrieveWrapper.java

    r16583 r30402  
    3131 
    3232    static {
    33     System.loadLibrary("mgppretrievejni");
     33    String gsdlos = System.getenv("GSDLOS");
     34    if (gsdlos!=null && gsdlos.equals("darwin")) {
     35        // As of MacOX 10.11 (El Capitan), effectivly supresses DYLD_LIBRARY_PATH (does
     36        // not propagate it to child processes).  This is a result of changes to their
     37        // security model, and seems to come into effect for 'untrusted' executables.
     38        // Greenstone run as a regular user, is 'unstrusted'.  It is possible, with
     39        // admin rights, to override this, however that is not really a viable solution
     40        // for our project.  Hence the change here to use Systen.load() with an
     41        // absolute pathname, rather than rely of System.loadLibrary().
     42
     43        String gsdl3srchome = System.getenv("GSDL3SRCHOME");
     44        String full_jni_library = gsdl3srchome + "/lib/jni/libmgppretrievejni.jnilib";
     45        System.load(full_jni_library);
     46    }
     47    else {
     48        System.loadLibrary("mgppretrievejni");
     49    }
    3450    }
    3551   
  • main/trunk/greenstone2/common-src/indexers/mgpp/java/org/greenstone/mgpp/MGPPSearchWrapper.java

    r29409 r30402  
    4141
    4242    static {
    43     System.loadLibrary("mgppsearchjni");
     43    String gsdlos = System.getenv("GSDLOS");
     44    if (gsdlos!=null && gsdlos.equals("darwin")) {
     45        // As of MacOX 10.11 (El Capitan), effectivly supresses DYLD_LIBRARY_PATH (does
     46        // not propagate it to child processes).  This is a result of changes to their
     47        // security model, and seems to come into effect for 'untrusted' executables.
     48        // Greenstone run as a regular user, is 'unstrusted'.  It is possible, with
     49        // admin rights, to override this, however that is not really a viable solution
     50        // for our project.  Hence the change here to use Systen.load() with an
     51        // absolute pathname, rather than rely of System.loadLibrary().
     52
     53        String gsdl3srchome = System.getenv("GSDL3SRCHOME");
     54        String full_jni_library = gsdl3srchome + "/lib/jni/libmgppsearchjni.jnilib";
     55        System.load(full_jni_library);
     56    }
     57    else {
     58        System.loadLibrary("mgppsearchjni");
     59    }
     60
    4461    initIDs();
    4562    }
Note: See TracChangeset for help on using the changeset viewer.