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/mg/java/org/greenstone/mg
Files:
2 edited

Legend:

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

    r20298 r30402  
    3737   
    3838    static {
    39         System.loadLibrary ("mgretrievejni");
     39
     40    String gsdlos = System.getenv("GSDLOS");
     41    if (gsdlos!=null && gsdlos.equals("darwin")) {
     42        // As of MacOX 10.11 (El Capitan), effectivly supresses DYLD_LIBRARY_PATH (does
     43        // not propagate it to child processes).  This is a result of changes to their
     44        // security model, and seems to come into effect for 'untrusted' executables.
     45        // Greenstone run as a regular user, is 'unstrusted'.  It is possible, with
     46        // admin rights, to override this, however that is not really a viable solution
     47        // for our project.  Hence the change here to use Systen.load() with an
     48        // absolute pathname, rather than rely of System.loadLibrary().
     49
     50        String gsdl3srchome = System.getenv("GSDL3SRCHOME");
     51        String full_jni_library = gsdl3srchome + "/lib/jni/libmgretrievejni.jnilib";
     52        System.load(full_jni_library);
     53    }
     54    else {
     55        System.loadLibrary ("mgretrievejni");
     56    }
    4057        initIDs ();
    4158    }
  • main/trunk/greenstone2/common-src/indexers/mg/java/org/greenstone/mg/MGSearchWrapper.java

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