[gt-dev] patches for cygwin

Peter Li peterli at salk.edu
Wed Sep 29 16:34:20 CDT 2010


  I am just getting started with a TeraGrid allocation, mainly using 
myproxy, gsissh, and uberftp so that I can login and interact with 
queues, etc. from my local machines.  Patches pasted below in series; 
let me know if there is a preferred format.  I think I got all of them, 
but it's not completely organized and it takes me a while to test 
because building on Cygwin is pretty slow.

I am not too sophisticated with this kind of stuff, but I think this 
should allow Cygwin to at least compile (still with lots of warnings...) 
and shouldn't break builds on other arch.  I haven't run much testing on 
the build, just using it for myproxy and gsissh and that seems to work.  
uberftp built from this GT install also seems functional.

These are patches against the stable 5.0.2 release.  I had trouble 
getting any dev releases from CVS using the online guide (which is 
written for 4.0 era releases in any case).

Should also note that this allows only static linked builds on Cygwin.  
Trying to get dynamic build for the whole GT package is a big project, 
although some subparts may be DLL ready.  But there is not an easy way 
from within the GPT framework to do part static and part dynamic.

On a separate note, I was wondering if there is any client program for 
Condor-G.  It seems like if I have GT installed on my laptop, I should 
be able to submit jobs to Condor-G, but I don't see a way of getting 
condor_submit without installing the whole Condor package?

Best,
Peter





--- 
gt5.0.2-all-source-installer/source-trees/common/source/library/globus_common_include.h     
2008-03-12 12:01:04.000000000 -0700
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/common/source/library/globus_common_include.h    
2010-09-23 01:46:28.037560600 -0700
@@ -23,9 +23,11 @@

  #include "globus_config.h"
  #ifdef WIN32
+#ifndef __CYGWIN__
  #include <winsock2.h>
  #include <ws2tcpip.h>
  #endif
+#endif

  #ifdef __GNUC__
  #define GlobusFuncName(func) static const char * _globus_func_name \





--- 
gt5.0.2-all-source-installer/source-trees/common/source/library/globus_libc.h       
2010-02-08 12:20:18.000000000 -0800
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/common/source/library/globus_libc.h      
2010-09-22 00:21:51.508590600 -0700
@@ -28,8 +28,10 @@
  #include GLOBUS_THREAD_INCLUDE
  #ifdef WIN32
  /* For addrinfo struct */
+#ifndef __CYGWIN__
  #include <winsock2.h>
  #include <ws2tcpip.h>
+#endif
  #define EAI_SYSTEM 11
  #define snprintf _snprintf
  #endif





--- 
gt5.0.2-all-source-installer/source-trees/gsi/gssapi/source/library/gssapi.h
         2008-10-16 08:58:08.000000000 -0700
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/gsi/gssapi/source/library/gssapi.h       
2010-09-23 01:45:57.301802600 -0700
@@ -29,7 +29,7 @@
   */

  #ifndef GSS_CALLCONV
-#if defined(WIN32) || defined(_WIN32)
+#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
  #define GSS_CALLCONV __stdcall
  #define GSS_CALLCONV_C __cdecl
  #else





--- 
gt5.0.2-all-source-installer/source-trees/gass/cache/source/globus_gass_cache.c     
2009-05-08 10:49:18.000000000 -0700
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/gass/cache/source/globus_gass_cache.c    
2010-09-29 10:39:31.798147000 -0700
@@ -375,7 +375,15 @@
   * Have to do this check at runtime, as the same executable can run
   * on both Win9x and WinNT, and it seems like stat() -> st_nlink is
   * broken on only one of them.
+*/
+
+/*
+ * PHL: See note above by OLLE.  This block doesn't do anything other than
+ * set global globus_l_gass_cache_link_works, which doesn't appear to 
be used
+ * anywhere else.  GLOBUS_L_FILE_MODE is also not defined so this 
causes build
+ * fail on Cygwin.  Define the whole thing out.
   */
+#ifdef THIS_IS_NOT_DEFINED

      char         file1[PATH_MAX];
      char         file2[PATH_MAX];
@@ -414,6 +422,7 @@
      remove(file1);
   real_exit:
  #endif
+#endif
      globus_l_gass_cache_pid = globus_libc_getpid();
      globus_l_gass_cache_fn_fudge = 0;
      return GLOBUS_SUCCESS;





--- 
gt5.0.2-all-source-installer/source-trees/database/c/iodbc/libiodbc-3.52.6/iodbc/info.c     
2007-01-05 04:22:50.000000000 -0800
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/database/c/iodbc/libiodbc-3.52.6/iodbc/info.c    
2010-09-29 10:50:16.235278900 -0700
@@ -109,7 +109,7 @@


  static int
-stricmp (const char *s1, const char *s2)
+infocstricmp (const char *s1, const char *s2)
  {
    int cmp;

@@ -130,7 +130,7 @@
    const char **s1 = (const char **) p1;
    const char **s2 = (const char **) p2;

-  return stricmp (*s1, *s2);
+  return infocstricmp (*s1, *s2);
  }





--- 
gt5.0.2-all-source-installer/source-trees/database/c/sqlite/sqlite-3.3.17/Makefile.in       
2007-04-06 05:44:37.000000000 -0700
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/database/c/sqlite/sqlite-3.3.17/Makefile.in     
2010-09-29 00:52:03.230045600 -0700
@@ -664,7 +664,7 @@
         mkdir -p doc
         mv $(DOC) doc

-install:       sqlite3 libsqlite3.la sqlite3.h ${HAVE_TCL:1=tcl_install}
+install:       sqlite3$(TEXE) libsqlite3.la sqlite3.h 
${HAVE_TCL:1=tcl_install}
         $(INSTALL) -d $(DESTDIR)$(libdir)
         $(LTINSTALL) libsqlite3.la $(DESTDIR)$(libdir)
         $(INSTALL) -d $(DESTDIR)$(exec_prefix)/bin





--- 
gt5.0.2-all-source-installer/source-trees/xio/test/globus_utp_private.h    
2006-01-18 21:57:52.000000000 -0800
+++ 
gt5.0.2-all-source-installer-cygpatch/source-trees/xio/test/globus_utp_private.h    
2010-09-29 08:52:53.830121600 -0700
@@ -113,7 +113,7 @@
  **********************************************************************/

  extern int errno;              /* These are needed for all systems. */
-#if ! defined(TARGET_ARCH_LINUX) & ! defined(TARGET_ARCH_BSD)
+#if ! defined(TARGET_ARCH_LINUX) & ! defined(TARGET_ARCH_BSD) & ! 
defined(TARGET_ARCH_CYGWIN)
  extern char *sys_errlist[];
  #endif


More information about the gt-dev mailing list