<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello all,<div>I've porting 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>&nbsp;and follow ups). There is a simple workaround - add&nbsp;<font class="Apple-style-span" face="Courier">#define environ (*_NSGetEnviron())</font>&nbsp;- 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>I've tried asking on TorqueUsers, but the only people with experience running TORQUE on Macs seem to be on 10.4 or earlier (where the problem doesn't manifest itself). Does anyone know what files I would need to edit in the source to add the workaround? I've had a look, but I only know enough to be dangerous when it comes to C. For that matter, should the workaround not be placed in the source when the configure script detects that the build is on a Mac?</div><div><br></div><div>Thanks,</div><div>Scott</div></div><br><br><div>
<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-align: auto; 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; "><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 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></span></span>
</div>
<br></body></html>