<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello all,<div>I've finally figured out enough JNI to get Dan Templeton's Sun Grid Engine Java DRMAA bindings ported to TORQUE (a task made much easier by their well-written nature), but I'm running into a problem when running them on our OS X test system:</div><div><br></div><div><div></div><blockquote type="cite"><div><font class="Apple-style-span" face="Courier">Exception in thread "main" java.lang.reflect.InvocationTargetException</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.lang.reflect.Method.invoke(Method.java:597)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)</font></div><div><font class="Apple-style-span" face="Courier">Caused by: java.lang.UnsatisfiedLinkError: /Users/scott/Documents/jdrmaa/src/libdrmaa.jnilib: &nbsp;Symbol not found: _environ &nbsp; Referenced from: /usr/local/lib/libtorque.2.dylib &nbsp; Expected in: flat namespace &nbsp;in /usr/local/lib/libtorque.2.dylib</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.lang.ClassLoader$NativeLibrary.load(Native Method)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1823)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.lang.Runtime.loadLibrary0(Runtime.java:823)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.lang.System.loadLibrary(System.java:1045)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at com.Epistemy.drmaa.SessionImpl$1.run(SessionImpl.java:64)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at java.security.AccessController.doPrivileged(Native Method)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at com.Epistemy.drmaa.SessionImpl.&lt;clinit&gt;(SessionImpl.java:62)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at com.Epistemy.drmaa.SessionFactoryImpl.getSession(SessionFactoryImpl.java:60)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">at com.Epistemy.DRMAA.test.DRMAATest.main(DRMAATest.java:15)</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">... 5 more</font></div></blockquote><div><br></div><div>The test machine is an Intel Xeon XServe running Mac OS X Server version 10.6.4 and TORQUE 2.4.8.</div><div><br></div><div>The problem seems to be that the _environ symbol, which is known to be declared but not defined on OS X (e.g.&nbsp;<a href="http://lists.apple.com/archives/Darwin-development/2003/Apr/msg00177.html">http://lists.apple.com/archives/Darwin-development/2003/Apr/msg00177.html</a> and follow ups). There is a simple workaround - add&nbsp;<font class="Apple-style-span" face="Courier">#define environ (*_NSGetEnviron())</font> - to the library, which I've tried doing in my code to no avail. I'm not experienced enough with C to be certain that this is any of the TORQUE code, but it seems to be libtorque that's being expected to provide _environ (although it isn't explicitly referenced from the C code I compiled into libdrmaa.jnilib).</div><div><br></div><div>Does anyone have experience of using libtorque, either directly or through the C DRMAA bindings, on Mac OS X 10.5 or 10.6? Does anyone know what files I would need to edit in the source to add the workaround?</div><div><br></div><div>Thanks,</div><div>Scott</div><div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><br class="Apple-interchange-newline"><br></div><div><div><span class="Apple-style-span" style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><b><font color="#ff6600">Scott Wilson</font></b></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; color: rgb(34, 34, 34); font-size: 13px; "><font color="#666666"><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 12px; ">Developer</span></font></font><br><b><font color="#ff6600"><font class="Apple-style-span" face="Arial" size="2"><span class="Apple-style-span" style="font-size: 10px; ">Epistemy</span></font></font></b><br><font size="1"><font color="#666666">Energy Academy</font></font><br><font size="1"><font color="#666666">Riccarton</font></font><br><font size="1"><font color="#666666">EH14 4AS</font></font><br><br><b><font size="1"><font color="#666666">tel:&nbsp;</font></font></b><font color="#666666"><font size="1">+44 131 564 0232</font></font><br><font color="#888888"><font size="1"><a href="mailto://scott.wilson@epistemy.com" target="_blank" style="color: rgb(53, 66, 88); ">Scott.Wilson@epistemy.com</a></font><br><font size="1"><a href="http://www.epistemy.com/" target="_blank" style="color: rgb(53, 66, 88); ">http://www.epistemy.com/</a></font><br><font size="1"><font color="#666666">Epistemy Limited is a company registered in Scotland, number SC365481.</font></font><br><font size="1"><font color="#666666">Registered office: Epistemy Limited c/o Technology and Research Services, Heriot-Watt University, Riccarton, Edinburgh, EH14 4AS</font></font></font></span></div></div></span></div></span></div>
</div>


<br></div></body></html>