Hi  Brian!

Our team would like to offer you the maui-3.3.1 Cygwin porting.
It has been tested with Torque 2.5.0 (trunk revision 3621).

We added Cygwin in OS list and made a Maui start as Windows service.

In more details it is described in the README.cygwin added file.


Attachment: the maui-3.3.1 patch file against Maui trunk revision 133.

--

Igor  Ilyenko

Software Architect

United Institute of Information Problems NAS of Belarus
http://uiip.bas-net.by

diff -Naur ./trunk/CHANGELOG ./maui-3.3.1/CHANGELOG
--- ./trunk/CHANGELOG   2010-04-30 18:14:38.000000000 +0300
+++ ./maui-3.3.1/CHANGELOG      2010-06-01 18:39:43.692301914 +0300
@@ -1,3 +1,8 @@
+maui-3.3.1-cygwin.patch
+  - Added build system changes to support Cygwin (Yauheni Charniauski, UIIP 
Minsk)
+  - Added the --with-cygrunsrv configure option for start maui as Windows 
service (doesn't use a background daemon).
+    Cygwin utility cygrunsrv.exe goes it into background independently (Igor 
Ilyenko, UIIP Minsk)
+
 Maui 3.3.1
   - Fixed issue where hostlist was being overwritten resulting in broken 
$PBS_NODEFILE. (Alexis Cousein)
 
diff -Naur ./trunk/configure ./maui-3.3.1/configure
--- ./trunk/configure   2010-02-19 21:48:13.000000000 +0200
+++ ./maui-3.3.1/configure      2010-06-01 17:59:01.502302182 +0300
@@ -311,7 +311,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME 
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix 
program_transform_name bindir sbindir libexecdir datadir sysconfdir 
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir 
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS 
LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LN_S SPOOLDIR MACHINE SEED OPSYS OS 
HOSTNAME USER BUILDDATE BUILDDIR RMTYPE LLDIR LLDEF PBSTARGETDIR SGEBUILDDIR 
SGEOSDIR LSFDIR LSFLIBS LSFDEFS PBSCFLAGS PBSLDFLAGS RMPORT RMHOST 
RMSOCKETPROTOCOL RMWIREPROTOCOL RMVERSION RMNMPORT RMNMHOST AMTYPE AMHOST 
AMPORT AMSOCKETPROTOCOL AMWIREPROTOCOL AMOTHER PCREDIR CPP EGREP LIBOBJS 
POW_LIB LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME 
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix 
program_transform_name bindir sbindir libexecdir datadir sysconfdir 
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir 
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS 
LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LN_S SPOOLDIR MACHINE SEED DAEMONDEF 
OPSYS OS HOSTNAME USER BUILDDATE BUILDDIR RMTYPE LLDIR LLDEF PBSTARGETDIR 
SGEBUILDDIR SGEOSDIR LSFDIR LSFLIBS LSFDEFS PBSCFLAGS PBSLDFLAGS RMPORT RMHOST 
RMSOCKETPROTOCOL RMWIREPROTOCOL RMVERSION RMNMPORT RMNMHOST AMTYPE AMHOST 
AMPORT AMSOCKETPROTOCOL AMWIREPROTOCOL AMOTHER PCREDIR CPP EGREP LIBOBJS 
POW_LIB LTLIBOBJS'
 ac_subst_files='rm_config ll_definitions sdr_definitions pbs_definitions 
sge_definitions lsf_definitions mx_definitions pcre_definitions'
 
 # Initialize some variables set by options.
@@ -862,6 +862,7 @@
   --with-sss-am[=PORT]    use SSS Allocation Manager (default port [8865])
   --with-mx               use MX
   --with-pcre[=DIR]       use PCRE (pcre dir (location of PCRE include and lib 
directories) [/path/to/pcre]
+  --with-cygrunsrv        run as Windows service for Cygwin (do not use a 
background daemon)
 
 Some influential environment variables:
   CC          C compiler command
@@ -2234,6 +2235,8 @@
     { echo "$as_me:$LINENO: WARNING: Unexpected AIX level: $OSLEVEL, 
attempting build with OPSYS=$OPSYS" >&5
 echo "$as_me: WARNING: Unexpected AIX level: $OSLEVEL, attempting build with 
OPSYS=$OPSYS" >&2;}
   fi
+elif echo "$OS" | grep -q "CYGWIN"; then
+  OPSYS="__CYGWIN"
 elif test "$OS" = "Linux"; then
   OPSYS="__LINUX"
 elif test "$OS" = "HP-UX"; then
@@ -2743,6 +2746,17 @@
        pcre_definitions=include/Makefile.inc.pcre
 fi
 
+# CYGRUNSRV
+
+# Check whether --with-cygrunsrv or --without-cygrunsrv was given.
+if test "${with_cygrunsrv+set}" = set; then
+  withval="$with_cygrunsrv"
+  DAEMONDEF="-D__CYGRUNSRV"
+else
+  DAEMONDEF=""
+fi;
+
+
 # Make sure one RM was specified
 if test "$RMTYPE" = ''; then
   { { echo "$as_me:$LINENO: error: At least one Resource Manager must be 
specified" >&5
@@ -7201,6 +7215,7 @@
 s,@SPOOLDIR@,$SPOOLDIR,;t t
 s,@MACHINE@,$MACHINE,;t t
 s,@SEED@,$SEED,;t t
+s,@DAEMONDEF@,$DAEMONDEF,;t t
 s,@OPSYS@,$OPSYS,;t t
 s,@OS@,$OS,;t t
 s,@HOSTNAME@,$HOSTNAME,;t t
diff -Naur ./trunk/configure.ac ./maui-3.3.1/configure.ac
--- ./trunk/configure.ac        2010-02-19 21:48:13.000000000 +0200
+++ ./maui-3.3.1/configure.ac   2010-06-01 17:59:01.502302182 +0300
@@ -53,6 +53,8 @@
     OSLEVEL=`oslevel`
     AC_MSG_WARN([Unexpected AIX level: $OSLEVEL, attempting build with 
OPSYS=$OPSYS])
   fi
+elif echo "$OS" | grep -q "CYGWIN"; then
+  OPSYS="__CYGWIN"
 elif test "$OS" = "Linux"; then
   OPSYS="__LINUX"
 elif test "$OS" = "HP-UX"; then
@@ -466,6 +468,15 @@
        pcre_definitions=include/Makefile.inc.pcre
 fi
 
+
+# CYGRUNSRV
+AC_ARG_WITH(cygrunsrv,
+       [  --with-cygrunsrv        run as Windows service for Cygwin (do not 
use a background daemon)],
+       [DAEMONDEF="-D__CYGRUNSRV"],
+       [DAEMONDEF=""])
+AC_SUBST(DAEMONDEF)
+
+
 # Make sure one RM was specified
 if test "$RMTYPE" = ''; then
   AC_MSG_ERROR([At least one Resource Manager must be specified])
diff -Naur ./trunk/Makefile.in ./maui-3.3.1/Makefile.in
--- ./trunk/Makefile.in 2010-02-19 20:54:21.000000000 +0200
+++ ./maui-3.3.1/Makefile.in    2010-06-01 17:59:01.503186445 +0300
@@ -6,6 +6,7 @@
 BUILDROOT=
 export msched_home=${buildro...@spooldir@
 export inst_dir=${buildro...@prefix@
+export daemond...@daemondef@
 export ops...@opsys@
 export o...@os@
 export c...@cc@
diff -Naur ./trunk/README.cygwin ./maui-3.3.1/README.cygwin
--- ./trunk/README.cygwin       1970-01-01 03:00:00.000000000 +0300
+++ ./maui-3.3.1/README.cygwin  2010-06-01 18:45:38.624177005 +0300
@@ -0,0 +1,87 @@
+
+Checked against the Cygwin PBS Torque 2.5 realization.
+Maui 3.3.1 tested with the stable release Cygwin 1.5.25 on 
+Windows XP Pro and on Windows Server 2003 SE (both 32-bit).
+Tested with the stable release Cygwin 1.7.5 on 64-bit Windows 7 Ultimate.
+
+Windows file system must be NTFS!!!
+Maui needs two Windows users on each host:
+<UserAdmin> with Computer administrator privileges and 
+<SimpleUser> with Limited account.
+Both users must be password protected.
+Maui scheduler can run as Cygwin daemon or as Windows service.
+Run as administrator (right-click) on Windows 7 and similar.
+
+
+
+###########################
+###   Install  Cygwin   ###
+###########################
+
+Enter into Windows as user <UserAdmin>.
+To install Cygwin 1.5.25 browse to http://cygwin.com/win-9x.html and click the 
"setup-legacy.exe" link.
+Download and run setup-legacy.exe.
+To install Cygwin 1.7.5 (or later) browse to http://cygwin.com and click the 
"Install Cygwin now" link.
+Download and run setup.exe.
+Click through the defaults and under the package selection 
+to select the following packages:
+
+   autoconf;
+   automake;
+   cygrunsrv;
+   gcc or gcc4;
+   make;
+   vim or mc is desirable.
+
+Download and install the default's and selected Cygwin packages.
+
+
+
+###################################################
+###   Start Maui under Cygwin with PBS Torque   ###
+###################################################
+
+Enter into working directory as <UserAdmin> and execute the following commands:
+
+   #./configure --with-pbs[=DIR] --with-spooldir=/var/spool/maui/
+where DIR - target directory, location of PBS Torque lib dir (as default - 
/usr/local)
+   #make
+   #make install
+
+Open the ports for Maui scheduler in your firewall.
+
+Start the Maui:
+
+   #maui
+
+Submit jobs as <SimpleUser> with Limited account.
+
+See jobs information via the Maui showq command
+and via the Torque qstat command.
+
+See more the Maui Documentations.
+
+
+
+######################################################
+###   Start Maui under Cygwin as Windows service   ###
+######################################################
+
+Enter into working directory as <UserAdmin> and execute the following commands:
+
+   #./configure --with-cygrunsrv --with-pbs[=DIR] 
--with-spooldir=/var/spool/maui/
+   #make
+   #make install
+
+Set additional privilege in order that user can log on as a service:
+   #editrights -a SeServiceLogonRight -u <UserAdmin>
+
+Use cygrunsrv.exe for install, start, stop and remove services.
+See more cygrunsrv.exe --help.
+
+For example:
+
+   #cygrunsrv.exe -I maui -p /usr/sbin/maui.exe –u <UserAdmin> -w <password>
+ 
+Services and privileges are managed via the Windows Control Panel or command 
line.
+
diff -Naur ./trunk/src/mcom/Makefile ./maui-3.3.1/src/mcom/Makefile
--- ./trunk/src/mcom/Makefile   2010-02-19 20:54:21.000000000 +0200
+++ ./maui-3.3.1/src/mcom/Makefile      2010-06-01 17:59:01.503186445 +0300
@@ -13,7 +13,7 @@
   LP   =-L$(LIB) $(SCHEDLP) $(MXLP) $(REGEXLP)
   IP   =$(SCHEDIP) $(REGEXIP) $(MXIP)
   INCS =$(INC)moab.h $(INC)moab-proto.h 
-  DEFS =-D$(OPSYS) $(OSDEF) $(MXDEF) $(REGEXDEF) $(SECDEF)
+  DEFS =-D$(OPSYS) $(OSDEF) $(MXDEF) $(REGEXDEF) $(SECDEF) $(DAEMONDEF)
 
 LIBMCOM  =libmcom.a
 LOBJECTS =MSU.o MSec.o MS3I.o MXML.o MConst.o MTComm.o MComm.o
diff -Naur ./trunk/src/moab/Makefile ./maui-3.3.1/src/moab/Makefile
--- ./trunk/src/moab/Makefile   2010-02-19 20:54:21.000000000 +0200
+++ ./maui-3.3.1/src/moab/Makefile      2010-06-01 17:59:01.503186445 +0300
@@ -18,7 +18,7 @@
   IP   =$(SCHEDIP) $(LLIP) $(REGEXIP) $(MXIP) $(PBSCFLAGS)
   INCS =$(INC)moab.h $(INC)msched.h
   DEFS =-D$(OPSYS) $(LLDEF) $(SDRDEF) $(PBSDEF) $(OSDEF) $(MXDEF) $(REGEXDEF) \
-        $(SECDEF) $(RMSDEF) $(THREADDEF)
+        $(SECDEF) $(RMSDEF) $(THREADDEF) $(DAEMONDEF)
 
 MOAB     =libmoab.a
 LOBJECTS =MFile.o MConfig.o MQOS.o MLog.o MCred.o MSched.o MAM.o MSR.o MRes.o \
diff -Naur ./trunk/src/moab/MFile.c ./maui-3.3.1/src/moab/MFile.c
--- ./trunk/src/moab/MFile.c    2005-09-06 22:32:22.000000000 +0300
+++ ./maui-3.3.1/src/moab/MFile.c       2010-06-01 17:59:01.503186445 +0300
@@ -1184,7 +1184,7 @@
   char *LockFile)   /* I */
 
   {
-#if !defined(__LINUX) && !defined(__HPUX) && !defined(__NT)
+#if !defined(__LINUX) && !defined(__CYGWIN) && !defined(__HPUX) && 
!defined(__NT)
   int          fd;
   struct flock lock;
   char         Name[MAX_MLINE];
@@ -1197,7 +1197,7 @@
     Directory,
     LockFile);
 
-#if !defined(__LINUX) && !defined(__HPUX) && !defined(__NT)
+#if !defined(__LINUX) && !defined(__CYGWIN) && !defined(__HPUX) && 
!defined(__NT)
 
   if (!strstr(LockFile,Directory))
     {
diff -Naur ./trunk/src/moab/MLog.c ./maui-3.3.1/src/moab/MLog.c
--- ./trunk/src/moab/MLog.c     2005-07-13 00:12:53.000000000 +0300
+++ ./maui-3.3.1/src/moab/MLog.c        2010-06-01 17:59:01.503186445 +0300
@@ -82,7 +82,7 @@
 
   if (SigSet == 0)
     {
-#   if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__IRIX) || defined(__LINUX) || defined(__HPUX) || defined(__SOLARIS)
+#   if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__IRIX) || defined(__LINUX) || defined(__CYGWIN) || defined(__HPUX) || 
defined(__SOLARIS)
       signal(SIGUSR1,(void(*)(int))MLogLevelAdjust);
       signal(SIGUSR2,(void(*)(int))MLogLevelAdjust);
 #   else 
@@ -414,7 +414,7 @@
         mlog.Threshold);
       }
 
-#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__IRIX) || defined(__LINUX) || defined(__HPUX) || defined(__SOLARIS)
+#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__IRIX) || defined(__LINUX) || defined(__CYGWIN) || defined(__HPUX) || 
defined(__SOLARIS)
 
     signal(SIGUSR1,(void(*)(int))MLogLevelAdjust);
 
@@ -441,7 +441,7 @@
         mlog.Threshold);
       }
 
-#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__IRIX) || defined(__LINUX) || defined(__HPUX) || defined(__SOLARIS) || 
defined(__OSF)
+#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__IRIX) || defined(__LINUX) || defined(__CYGWIN) || defined(__HPUX) || 
defined(__SOLARIS) || defined(__OSF)
 
     signal(SIGUSR2,(void(*)(int))MLogLevelAdjust);
 
diff -Naur ./trunk/src/moab/MPBSI.c ./maui-3.3.1/src/moab/MPBSI.c
--- ./trunk/src/moab/MPBSI.c    2010-04-30 17:59:45.000000000 +0300
+++ ./maui-3.3.1/src/moab/MPBSI.c       2010-06-01 17:59:01.504551888 +0300
@@ -2657,7 +2657,7 @@
     "arch",               /* the architecture of the machine */
     "physmem",            /* the amount of physical memory */
     "loadave",            /* the current load average */
-#if defined(__AIX43) || defined(__AIX51) || defined(__LINUX) || defined(__IRIX)
+#if defined(__AIX43) || defined(__AIX51) || defined(__LINUX)  || 
defined(__CYGWIN) || defined(__IRIX)
     "availmem",
     "totmem",
 #endif /* AIX43 || LINUX || IRIX */
diff -Naur ./trunk/src/server/Makefile ./maui-3.3.1/src/server/Makefile
--- ./trunk/src/server/Makefile 2010-02-19 21:48:13.000000000 +0200
+++ ./maui-3.3.1/src/server/Makefile    2010-06-01 17:59:01.504551888 +0300
@@ -18,7 +18,7 @@
   IP   =$(SCHEDIP) $(LLIP) $(SGEIP) $(REGEXIP) $(MXIP) $(PBSCFLAGS)
   INCS =$(INC)moab.h $(INC)msched-proto.h $(INC)msched-common.h
   DEFS =-D$(OPSYS) $(LLDEF) $(SDRDEF) $(PBSDEF) $(OSDEF) $(MXDEF) \
-        $(REGEXDEF) $(RMSDEF) $(SECDEF) $(THREADDEF)
+        $(REGEXDEF) $(RMSDEF) $(SECDEF) $(THREADDEF) $(DAEMONDEF)
 
 SERVER   =maui
 SCHEDLIB =moab
diff -Naur ./trunk/src/server/OServer.c ./maui-3.3.1/src/server/OServer.c
--- ./trunk/src/server/OServer.c        2007-08-14 00:38:31.000000000 +0300
+++ ./maui-3.3.1/src/server/OServer.c   2010-06-01 17:59:01.504551888 +0300
@@ -5,7 +5,7 @@
   {
   /* trap TERM(15) QUIT(3) INT(2) HUP(1) */
  
-#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__IRIX) || defined(__LINUX) || defined(__HPUX) || 
defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
+#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__IRIX) || defined(__LINUX) || defined(__CYGWIN) || 
defined(__HPUX) || defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
  
   signal(SIGINT,   SIG_IGN);
   signal(SIGTERM,  (void(*)(int))MSysShutdown);
@@ -120,7 +120,7 @@
     }
   }    /* END BLOCK */ 
 
-#elif defined(__LINUX) || defined(__IRIX) || defined(__HPUX) || 
defined(__SOLARIS) || defined(__OSF)
+#elif defined(__LINUX) || defined(__CYGWIN) || defined(__IRIX) || 
defined(__HPUX) || defined(__SOLARIS) || defined(__OSF)
 
   ServerLoadSignalConfig();
  
@@ -143,8 +143,9 @@
 
 
 int ServerDemonize()
+{
+#ifndef __CYGRUNSRV
 
-  {
 #ifndef __NT
   int   pid;
 #endif /* __NT */
@@ -235,6 +236,7 @@
       }
     }    /* END if (MSched.Mode != msmSim) */
 
+#endif /* __CYGRUNSRV */
   return(SUCCESS);
   }  /* END ServerDemonize() */
 
@@ -305,7 +307,7 @@
 
   if (signo == SIGSEGV)
     {
-#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__LINUX) || defined(__HPUX) || defined(__IRIX) || 
defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
+#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__LINUX) || defined(__CYGWIN) || defined(__CYGWIN) 
|| defined(__HPUX) || defined(__IRIX) || defined(__SOLARIS) || defined(__OSF) 
|| defined(__FREEBSD)
 
     signal(SIGSEGV,(void(*)(int))CrashMode);
 
@@ -317,7 +319,7 @@
     }
   else if (signo == SIGILL)
     {
-#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__LINUX) || defined(__HPUX) || defined(__IRIX) || 
defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
+#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__LINUX) || defined(__CYGWIN) || defined(__HPUX) || 
defined(__IRIX) || defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
 
     signal(SIGILL,(void(*)(int))CrashMode);
 
@@ -378,7 +380,7 @@
 
   MSched.Reload = TRUE;
 
-#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__LINUX) || defined(__HPUX) || defined(__IRIX) || 
defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
+#if defined(__AIX41) || defined(__AIX42) || defined(__AIX43) || 
defined(__AIX51) || defined(__LINUX) || defined(__CYGWIN) || defined(__HPUX) || 
defined(__IRIX) || defined(__SOLARIS) || defined(__OSF) || defined(__FREEBSD)
 
   signal(SIGHUP,(void(*)(int))ReloadConfig);
 
_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers

Reply via email to