### The short of it ### * make sure your DRM's environment is set up. e.g.: source /default/common/settings.csh * Prepare installation to find header and binary of DRMAA implementation. e.g.: setenv LD_LIBRARY_PATH $SGE_ROOT/lib/`$SGE_ROOT/util/arch` ln -s $SGE_ROOT/include/drmaa.h * (optional) Run swig on interface file and drmaa.h swig -perl5 -exportall Schedule_DRMAAc.i * standard Module installation perl Makefile.PL make make test # run from a submit node make install ### The long of it ### This software was created via a SWIG interface. As such, the true code to it lies in the swig interface (Schedule_DRMAAc.i) which will makes a wrapper of the drmaa.h (included with your Distributed Resource Manage (DRM), such as SGE, Condor, etc. see docs ) header file and creates DRMAAc.pm and a Schedule_DRMAAc_wrap.c file. A C binding to the DRMAA spec has two parts: first, the binary ( this is where the implementation specific details are handled ) and second, the header file, ( drmaa.h ) which is where the API is defined and this file should conform 100% to the DRMAA specification. Thus, drmaa.h should be DRM implementation independant, which means in theory drmaa.h from SGE should be functionally the same as any other DRM's, like Condor for example. Since I don't want SWIG to be a requirements the result of running SWIG on SGE's drmaa.h, called Schedule_DRMAAc_wrap.c, has been included. However, you could download SWIG v 1.3.21 or later and run swig on the interface file Schedule_DRMAAc.i to create everything fresh. NOTE: I submitted a bug and patch to SWIG, patch # 922680 for bug 917471, as of this writing the patch was not applied to the SWIG 1.3.21 source so you may have to do it manually.