Original Author: Daniel Gruber (info@gridengine.eu)
Copyright: Daniel Gruber, 2012

Version: 0.1, "Proof of Concept"

THE LIBRARY IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES
ARE DISCLAIMED. IN NO EVENT IS THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. 

IT IS FREE TO USE IN ANY ENVIRONMENT FOR ANY USE CASE. IF YOU NEED
TO RE-DISTRIBUTE THE LIBRARY OUTSIDE OF YOUR ORGANIZATION (COMPANY/
UNIVERSITY) PLEASE CONTACT THE AUTHOR OR SIMPLY POINT THE USER TO
THE ORIGINAL LOCATION at www.gridengine.eu.

This archive contains a "proof of concept" (version 0.1) of
a GO DRMAA (1.0) language binding.

Most functionality should be available although it is not fully
tested. This should change in the next releases. It was developed
using Univa Grid Engine 8.1 but it works also with other Grid
Engine forks. Because it is based on the DRMAA C binding it should
even work with other systems for which a DRMAA C binding exists.
But this is currently not tested.

In order to use the Go DRMAA binding in your Go applications
you must have set the LD_LIBRARY_PATH pointing to the C DRMAA
library.

Since there is bug in Go 1.0, using the library also requires that
a drmaa.go source file with just the package statement exists.
Additionally the time stamp of the source file must be older than
the creation date of drmaa.a. This is really annoying but is planned
to be fixed in Go 1.1.

Hints for using the library:

My $GOPATH environment variable contains "/home/daniel/go".
Hence the lib (drmaa.a) can be placed here: /home/daniel/go/pkg/linux_amd64/
The drmaa.go file in this archive has to be placed here: /home/daniel/go/src/drmaa/

Because of the Go 1.0 bug you must re-date the drmaa.go file: touch -t 201201011200 drmaa.go
This sets the time-stamp back to 1.1.2012. 

Then you can create your application and use DRMAA with importing the
"drmaa" package.

Have fun!

If you have any questions/bug reports or need some consulting feel free
to contact me at info@gridengine.eu.

Daniel

