{"thread":{"id":"11149","subject":"[PATCH] Compile fix for SCO OpenServer","startedAt":"2007-12-05T17:21:25Z","lastAt":"2008-07-31T00:32:12Z","messageCount":14,"participants":["Aidan Van Dyk","Junio C Hamano","Boyd Lynn Gerber"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"62031","messageId":"20071205172125.GF12636@yugib.highrise.ca","threadId":"11149","inReplyTo":null,"subject":"[PATCH] Compile fix for SCO OpenServer","fromName":"Aidan Van Dyk","fromEmail":"aidan@highrise.ca","sentAt":"2007-12-05T17:21:25Z","receivedAt":"2007-12-05T17:21:25Z","isPatch":true,"sender":{"key":"aidan@highrise.ca","avatar":"https://gravatar.com/avatar/853c50d90cce753dc1c390fdc6cbed558f5f969bd43fa4f5cb0118d8f71316f6?d=mp&s=160"},"body":"SCO OpenServer hides the definitions of (at least) u_short and friends if\n_XOPEN_SOURCE is defined.\n\nSigned-off-by: Aidan Van Dyk <aidan@highrise.ca>\n---\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex ca0a597..be8cbe8 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -24,7 +24,7 @@\n /* Approximation of the length of the decimal representation of this type. */\n #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)\n\n-#if !defined(__APPLE__) && !defined(__FreeBSD__)\n+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined (__OPENSERVER__)\n #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */\n #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */\n #endif\n"},{"id":"85671","messageId":"20080730184956.GF10399@yugib.highrise.ca","threadId":"11149","inReplyTo":"20071205172125.GF12636@yugib.highrise.ca","subject":"Compile fix for SCO OPenServer","fromName":"Aidan Van Dyk","fromEmail":"aidan@highrise.ca","sentAt":"2008-07-30T18:49:56Z","receivedAt":"2008-07-30T18:49:56Z","isPatch":false,"sender":{"key":"aidan@highrise.ca","avatar":"https://gravatar.com/avatar/853c50d90cce753dc1c390fdc6cbed558f5f969bd43fa4f5cb0118d8f71316f6?d=mp&s=160"},"body":"SCO OpenServer also hides the definitions of (at least) u_short and\nfriends if _XOPEN_SOURCE is defined.\n---\nSame patch as last time, updated for current master.\n\n git-compat-util.h |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex cf89cdf..42e3e0b 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -39,7 +39,7 @@\n /* Approximation of the length of the decimal representation of this type. */\n #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)\n\n-#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)\n+#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)\n #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */\n #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */\n #endif\n--\n1.6.0.rc1.dirty\n"},{"id":"85678","messageId":"7vtze73zwg.fsf@gitster.siamese.dyndns.org","threadId":"11149","inReplyTo":"20080730184956.GF10399@yugib.highrise.ca","subject":"Re: Compile fix for SCO OPenServer","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-07-30T20:01:03Z","receivedAt":"2008-07-30T20:01:03Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Aidan Van Dyk <aidan@highrise.ca> writes:\n\n> SCO OpenServer also hides the definitions of (at least) u_short and\n> friends if _XOPEN_SOURCE is defined.\n\nI thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).\n\n> ---\n> Same patch as last time, updated for current master.\n\nSign-off?\n\nBoyd, does this make any of the earlier symbols you added redundant?\n\n>\n>  git-compat-util.h |    2 +-\n>  1 files changed, 1 insertions(+), 1 deletions(-)\n>\n> diff --git a/git-compat-util.h b/git-compat-util.h\n> index cf89cdf..42e3e0b 100644\n> --- a/git-compat-util.h\n> +++ b/git-compat-util.h\n> @@ -39,7 +39,7 @@\n>  /* Approximation of the length of the decimal representation of this type. */\n>  #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)\n>\n> -#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)\n> +#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)\n>  #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */\n>  #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */\n>  #endif\n> --\n> 1.6.0.rc1.dirty\n"},{"id":"85679","messageId":"alpine.LNX.1.10.0807301403360.13032@xenau.zenez.com","threadId":"11149","inReplyTo":"7vtze73zwg.fsf@gitster.siamese.dyndns.org","subject":"Re: Compile fix for SCO OPenServer","fromName":"Boyd Lynn Gerber","fromEmail":"gerberb@zenez.com","sentAt":"2008-07-30T20:09:03Z","receivedAt":"2008-07-30T20:09:03Z","isPatch":false,"sender":{"key":"gerberb@zenez.com","avatar":null},"body":"On Wed, 30 Jul 2008, Junio C Hamano wrote:\n> Aidan Van Dyk <aidan@highrise.ca> writes:\n> > SCO OpenServer also hides the definitions of (at least) u_short and\n> > friends if _XOPEN_SOURCE is defined.\n> \n> I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).\n\nI thought it was covered as well.\n\n> Sign-off?\n> \n> Boyd, does this make any of the earlier symbols you added redundant?\n\nI have just tried this on 4 OpenServer 6.0 machines fresh installed and I \ndo not need this added.  I am trying to figure out what is different on \nhis.  It appears he is using the exact same version of the compiler as \nwell.\n\nMy uname -a gives me this...\n\nSCO_SV tech0 5 6.0.0 i386\n\nand the gcc -V gives me the exact same compiler.  So I do not know why he \nhas to have the additional __OPENSERVER__.  This does break my OpenServer \n5.0.7 fresh install as well.  So I would not use it.  What I do not \nunderstand is why the !defined(__USLC__) does not catch it.  It should.\n\n> >  git-compat-util.h |    2 +-\n> >  1 files changed, 1 insertions(+), 1 deletions(-)\n> >\n> > diff --git a/git-compat-util.h b/git-compat-util.h\n> > index cf89cdf..42e3e0b 100644\n> > --- a/git-compat-util.h\n> > +++ b/git-compat-util.h\n> > @@ -39,7 +39,7 @@\n> >  /* Approximation of the length of the decimal representation of this type. */\n> >  #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)\n> >\n> > -#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)\n> > +#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)\n> >  #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */\n> >  #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */\n> >  #endif\n> > --\n> > 1.6.0.rc1.dirty\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n> \n\n--\nBoyd Gerber <gerberb@zenez.com>\nZENEZ\t1042 East Fort Union #135, Midvale Utah  84047\n"},{"id":"85681","messageId":"alpine.LNX.1.10.0807301410220.13032@xenau.zenez.com","threadId":"11149","inReplyTo":"7vtze73zwg.fsf@gitster.siamese.dyndns.org","subject":"Re: Compile fix for SCO OPenServer","fromName":"Boyd Lynn Gerber","fromEmail":"gerberb@zenez.com","sentAt":"2008-07-30T20:13:49Z","receivedAt":"2008-07-30T20:13:49Z","isPatch":false,"sender":{"key":"gerberb@zenez.com","avatar":null},"body":"On Wed, 30 Jul 2008, Junio C Hamano wrote:\n> Aidan Van Dyk <aidan@highrise.ca> writes:\n> \n> > SCO OpenServer also hides the definitions of (at least) u_short and\n> > friends if _XOPEN_SOURCE is defined.\n> \n> I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).\n> \n> Boyd, does this make any of the earlier symbols you added redundant?\n\nOn my machine !defined(__USLC__) covers both UnixWare 7.1.4 and OpenServer \n6.0.0.  !defined(_M_UNIX) covers my OpenServer 5.0.7 machine.  The \n!defined(__USLC__) also covers my Novell OS's and others that use the \nUSLC (Unix System Labotories Compiler).\n\n> >  git-compat-util.h |    2 +-\n> >  1 files changed, 1 insertions(+), 1 deletions(-)\n> >\n> > diff --git a/git-compat-util.h b/git-compat-util.h\n> > index cf89cdf..42e3e0b 100644\n> > --- a/git-compat-util.h\n> > +++ b/git-compat-util.h\n> > @@ -39,7 +39,7 @@\n> >  /* Approximation of the length of the decimal representation of this type. */\n> >  #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)\n> >\n> > -#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)\n> > +#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)\n> >  #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */\n> >  #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */\n> >  #endif\n> > --\n> > 1.6.0.rc1.dirty\n> \n\n--\nBoyd Gerber <gerberb@zenez.com>\nZENEZ\t1042 East Fort Union #135, Midvale Utah  84047\n"},{"id":"85682","messageId":"7vk5f33z2k.fsf@gitster.siamese.dyndns.org","threadId":"11149","inReplyTo":"alpine.LNX.1.10.0807301403360.13032@xenau.zenez.com","subject":"Re: Compile fix for SCO OPenServer","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-07-30T20:18:59Z","receivedAt":"2008-07-30T20:18:59Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Boyd Lynn Gerber <gerberb@zenez.com> writes:\n\n> On Wed, 30 Jul 2008, Junio C Hamano wrote:\n>> Aidan Van Dyk <aidan@highrise.ca> writes:\n>> > SCO OpenServer also hides the definitions of (at least) u_short and\n>> > friends if _XOPEN_SOURCE is defined.\n>> \n>> I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).\n>\n> I thought it was covered as well.\n>\n>> Sign-off?\n>> \n>> Boyd, does this make any of the earlier symbols you added redundant?\n>\n> I have just tried this on 4 OpenServer 6.0 machines fresh installed and I \n> do not need this added.  I am trying to figure out what is different on \n> his.  It appears he is using the exact same version of the compiler as \n> well.\n>\n> My uname -a gives me this...\n>\n> SCO_SV tech0 5 6.0.0 i386\n>\n> and the gcc -V gives me the exact same compiler.  So I do not know why he \n> has to have the additional __OPENSERVER__.  This does break my OpenServer \n> 5.0.7 fresh install as well.  So I would not use it.  What I do not \n> understand is why the !defined(__USLC__) does not catch it.  It should.\n\nThanks for a prompt response.\n\nCould you work with Aidan to come up with the optimal solution that does\nnot break anybody?  I won't queue this patch until the issue is sorted\nout.\n"},{"id":"85683","messageId":"20080730204339.GJ10399@yugib.highrise.ca","threadId":"11149","inReplyTo":"alpine.LNX.1.10.0807301403360.13032@xenau.zenez.com","subject":"Re: Compile fix for SCO OPenServer","fromName":"Aidan Van Dyk","fromEmail":"aidan@highrise.ca","sentAt":"2008-07-30T20:43:39Z","receivedAt":"2008-07-30T20:43:39Z","isPatch":false,"sender":{"key":"aidan@highrise.ca","avatar":"https://gravatar.com/avatar/853c50d90cce753dc1c390fdc6cbed558f5f969bd43fa4f5cb0118d8f71316f6?d=mp&s=160"},"body":"* Boyd Lynn Gerber <gerberb@zenez.com> [080730 16:09]:\n\n> I have just tried this on 4 OpenServer 6.0 machines fresh installed and I \n> do not need this added.  I am trying to figure out what is different on \n> his.  It appears he is using the exact same version of the compiler as \n> well.\n> \n> My uname -a gives me this...\n> \n> SCO_SV tech0 5 6.0.0 i386\n> \n> and the gcc -V gives me the exact same compiler.  So I do not know why he \n> has to have the additional __OPENSERVER__.  This does break my OpenServer \n> 5.0.7 fresh install as well.  So I would not use it.  What I do not \n> understand is why the !defined(__USLC__) does not catch it.  It should.\n\nSorry, a bit premature on my end...\n\nI tried a \"default\" gmake, and hit an error right away:\n\tUX:cc: ERROR: Invalid subargument: -Wall\nAnd immediately pulled my changes from last january into the fix it.  My\nchanges included a local config.mak CFLAGS override which was the real\nfix.\n\nTo build with no source changes, I need:\nNO_MKDTEMP=1 SNPRINTF_RETURNS_BOGUS=1 CFLAGS=-g NO_POSIX_ONLY_PROGRAMS=1\n\nHow about something like this:\n\tdiff --git a/Makefile b/Makefile\n\tindex 798a2f2..c42040f 100644\n\t--- a/Makefile\n\t+++ b/Makefile\n\t@@ -602,6 +602,7 @@ ifeq ($(uname_S),SCO_SV)\n\t\tendif\n\t\tifeq ($(uname_R),5)\n\t\t\tCC = cc\n\t+               CFLAGS = -g\n\t\t\tBASIC_CFLAGS += -Kthread\n\t\tendif\n\t\tNEEDS_SOCKET = YesPlease\n\t@@ -615,6 +616,8 @@ ifeq ($(uname_S),SCO_SV)\n\t\tBASIC_LDFLAGS += -L/usr/local/lib\n\t\tNO_STRCASESTR = YesPlease\n\t\tNO_MEMMEM = YesPlease\n\t+       NO_MKDTEMP = YesPlease\n\t+       SNPRINTF_RETURNS_BOGUS = YesPlease\n\t\tINSTALL = ginstall\n\t\tTAR = gtar\n\t endif\n\nUnfortunately, I have access to only that one SCO box, so I have no idea\nof mkdtemp and sprintf problems are on all SCO, or just R=5 ones.\n\nThat allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the\nlinker complains on linking git-shell:\n\tUndefined                       first referenced\n\tsymbol                              in file\n\thexval_table                        abspath.o\n\tnull_sha1                           abspath.o\n\ttrust_executable_bit                abspath.o\n\thas_symlinks                        abspath.o\n\tUX:ld: ERROR: Symbol referencing errors. No output written to git-shell\n\nThese are all extern varualbes declared in cache.h, but no defined in\nany of the objects git-shell links, normally not a problem, but this is SCO.\n\n-- \nAidan Van Dyk                                             Create like a god,\naidan@highrise.ca                                       command like a king,\nhttp://www.highrise.ca/                                   work like a slave.\n"},{"id":"85691","messageId":"alpine.LNX.1.10.0807301522140.13032@xenau.zenez.com","threadId":"11149","inReplyTo":"20080730204339.GJ10399@yugib.highrise.ca","subject":"Re: Compile fix for SCO OPenServer","fromName":"Boyd Lynn Gerber","fromEmail":"gerberb@zenez.com","sentAt":"2008-07-30T21:28:35Z","receivedAt":"2008-07-30T21:28:35Z","isPatch":false,"sender":{"key":"gerberb@zenez.com","avatar":null},"body":"On Wed, 30 Jul 2008, Aidan Van Dyk wrote:\n> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 16:09]:\n> > I have just tried this on 4 OpenServer 6.0 machines fresh installed and I \n> > do not need this added.  I am trying to figure out what is different on \n> > his.  It appears he is using the exact same version of the compiler as \n> > well.\n> > \n> > My uname -a gives me this...\n> > \n> > SCO_SV tech0 5 6.0.0 i386\n> > \n> > and the gcc -V gives me the exact same compiler.  So I do not know why he \n> > has to have the additional __OPENSERVER__.  This does break my OpenServer \n> > 5.0.7 fresh install as well.  So I would not use it.  What I do not \n> > understand is why the !defined(__USLC__) does not catch it.  It should.\n> \n> Sorry, a bit premature on my end...\n> \n> I tried a \"default\" gmake, and hit an error right away:\n> \tUX:cc: ERROR: Invalid subargument: -Wall\n> And immediately pulled my changes from last january into the fix it.  My\n> changes included a local config.mak CFLAGS override which was the real\n> fix.\n> \n> To build with no source changes, I need:\n> NO_MKDTEMP=1 SNPRINTF_RETURNS_BOGUS=1 CFLAGS=-g NO_POSIX_ONLY_PROGRAMS=1\n\nHow about doing a fresh \n\nworking directory.  And just for the fun of it try...\n\nThis\n\ntech0 > CC=cc CXX=CC CFLAGS=\"-Kalloca -Kthread\" CPPFLAGS=\"-Kalloca \n-Kthread\" ./configure\ntech0 > gmake\n\nand\n\ntech0 > CC=cc CXX=CC ./configure \ntech0 > gmake\n\nworked without any issues for me.\n \n> How about something like this:\n> \tdiff --git a/Makefile b/Makefile\n> \tindex 798a2f2..c42040f 100644\n> \t--- a/Makefile\n> \t+++ b/Makefile\n> \t@@ -602,6 +602,7 @@ ifeq ($(uname_S),SCO_SV)\n> \t\tendif\n> \t\tifeq ($(uname_R),5)\n> \t\t\tCC = cc\n> \t+               CFLAGS = -g\n> \t\t\tBASIC_CFLAGS += -Kthread\n> \t\tendif\n> \t\tNEEDS_SOCKET = YesPlease\n> \t@@ -615,6 +616,8 @@ ifeq ($(uname_S),SCO_SV)\n> \t\tBASIC_LDFLAGS += -L/usr/local/lib\n> \t\tNO_STRCASESTR = YesPlease\n> \t\tNO_MEMMEM = YesPlease\n> \t+       NO_MKDTEMP = YesPlease\n> \t+       SNPRINTF_RETURNS_BOGUS = YesPlease\n> \t\tINSTALL = ginstall\n> \t\tTAR = gtar\n> \t endif\n\nThe above does work on OpenServer 6, UnixWare 7.1.4 and OpenServer 5.0.7\n \n> Unfortunately, I have access to only that one SCO box, so I have no idea\n> of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.\n> \n> That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the\n> linker complains on linking git-shell:\n> \tUndefined                       first referenced\n> \tsymbol                              in file\n> \thexval_table                        abspath.o\n> \tnull_sha1                           abspath.o\n> \ttrust_executable_bit                abspath.o\n> \thas_symlinks                        abspath.o\n> \tUX:ld: ERROR: Symbol referencing errors. No output written to git-shell\n> \n> These are all extern varualbes declared in cache.h, but no defined in\n> any of the objects git-shell links, normally not a problem, but this is SCO.\n\nI do not see the problem on my systems.\n\n\n--\nBoyd Gerber <gerberb@zenez.com>\nZENEZ\t1042 East Fort Union #135, Midvale Utah  84047\n"},{"id":"85702","messageId":"20080730225635.GM10399@yugib.highrise.ca","threadId":"11149","inReplyTo":"alpine.LNX.1.10.0807301522140.13032@xenau.zenez.com","subject":"Re: Compile fix for SCO OPenServer","fromName":"Aidan Van Dyk","fromEmail":"aidan@highrise.ca","sentAt":"2008-07-30T22:56:35Z","receivedAt":"2008-07-30T22:56:35Z","isPatch":false,"sender":{"key":"aidan@highrise.ca","avatar":"https://gravatar.com/avatar/853c50d90cce753dc1c390fdc6cbed558f5f969bd43fa4f5cb0118d8f71316f6?d=mp&s=160"},"body":"* Boyd Lynn Gerber <gerberb@zenez.com> [080730 17:28]:\n \n> How about doing a fresh \n> \n> working directory.  And just for the fun of it try...\n\nUnfortunately, I can't use configure, apparently that SCO box does'nt\nhave a new enough toolc change for M4/autoconf/etc...\n\nBut I've never had to use configure before, I've always just built with\nmake (gmake on boxes with borked make)\n\n> tech0 > CC=cc CXX=CC CFLAGS=\"-Kalloca -Kthread\" CPPFLAGS=\"-Kalloca \n> -Kthread\" ./configure\n> tech0 > gmake\n\nSo, with gmake, that \"generally\" works.  I still need to add:\n\tSNPRINTF_RETURNS_BOGUS=1 NO_MKDTEMP=1\n\n> tech0 > CC=cc CXX=CC ./configure \n> tech0 > gmake\n\nAnd here, until I rid CFLAGS of -Wall, it fails.\n  \n> > Unfortunately, I have access to only that one SCO box, so I have no idea\n> > of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.\n> > \n> > That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the\n> > linker complains on linking git-shell:\n> > \tUndefined                       first referenced\n> > \tsymbol                              in file\n> > \thexval_table                        abspath.o\n> > \tnull_sha1                           abspath.o\n> > \ttrust_executable_bit                abspath.o\n> > \thas_symlinks                        abspath.o\n> > \tUX:ld: ERROR: Symbol referencing errors. No output written to git-shell\n> > \n> > These are all extern varualbes declared in cache.h, but no defined in\n> > any of the objects git-shell links, normally not a problem, but this is SCO.\n> \n> I do not see the problem on my systems.\n\n\taidan@jpradley:~/git$ touch abspath.c\n\taidan@jpradley:~/git$ gmake V=1 git-shell\n\tcc -o abspath.o -c -Kalloca  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM abspath.c\n\tcc -g -Kalloca  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM -o git-shell   -L/usr/local/lib abspath.o ctype.o exec_cmd.o quote.o strbuf.o usage.o wrapper.o shell.o compat/lib.a\n\tUndefined                       first referenced\n\tsymbol                              in file\n\thexval_table                        abspath.o\n\tnull_sha1                           abspath.o\n\ttrust_executable_bit                abspath.o\n\thas_symlinks                        abspath.o\n\tUX:ld: ERROR: Symbol referencing errors. No output written to git-shell\n\tgmake: *** [git-shell] Error 1\n\taidan@jpradley:~/git$ cat config.mak\n\tNO_OENSSL=1\n\tNO_MKDTEMP=1\n\tSHELL=/bin/bash\n\tSNPRINTF_RETURNS_BOGUS=1\n\tCFLAGS=-Kalloca\n\tCPPFLAGS=-Kalloca\n\nI've found that if I set CFLAGS to -O2, it links properly:\n\taidan@jpradley:~/git$ touch abspath.c\n\taidan@jpradley:~/git$ gmake V=1 git-shell\n\tcc -o abspath.o -c -Kalloca -O2  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM abspath.c\n\tcc -Kalloca -O2  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM -o git-shell   -L/usr/local/lib abspath.o ctype.o exec_cmd.o quote.o strbuf.o usage.o wrapper.o shell.o compat/lib.a\n\nSo I think it's \"not inlining\" stuff like:\n\tstatic inline unsigned int hexval(unsigned char c)\n\t{\n\t\treturn hexval_table[c];\n\t}\n \nSo, finally, it pretty much works on SCO out of the box - here's my\nsettings, which which the test suite passed (well, is passing, I'm at\nt5400, but I expect it to all pass again with these settings):\n\n\taidan@jpradley:~/git$ cat config.mak\n\tNO_TCLTK=1\n\tNO_MKDTEMP=1\n\tSHELL=/bin/bash\n\tSNPRINTF_RETURNS_BOGUS=1\n\tCFLAGS=-O2\n\n-- \nAidan Van Dyk                                             Create like a god,\naidan@highrise.ca                                       command like a king,\nhttp://www.highrise.ca/                                   work like a slave.\n"},{"id":"85706","messageId":"alpine.LNX.1.10.0807301700500.13032@xenau.zenez.com","threadId":"11149","inReplyTo":"20080730225635.GM10399@yugib.highrise.ca","subject":"Re: Compile fix for SCO OPenServer","fromName":"Boyd Lynn Gerber","fromEmail":"gerberb@zenez.com","sentAt":"2008-07-30T23:30:49Z","receivedAt":"2008-07-30T23:30:49Z","isPatch":false,"sender":{"key":"gerberb@zenez.com","avatar":null},"body":"On Wed, 30 Jul 2008, Aidan Van Dyk wrote:\n> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 17:28]:\n> > How about doing a fresh \n> > \n> > working directory.  And just for the fun of it try...\n> \n> Unfortunately, I can't use configure, apparently that SCO box does'nt\n> have a new enough toolc change for M4/autoconf/etc...\n> \n> But I've never had to use configure before, I've always just built with\n> make (gmake on boxes with borked make)\n\nI did have to install m4 and have /usr/local/bin before /usr/bin and /bin \nso it uses the gnu m4.\n\nI have m4-1.4.3 at \n\nftp://ftp.zenez.com/pub/zenez/prgms/m4-1.4.3-osr6-all.tar.gz\n\nI really have to be able to use configure for most of my OpenSource \nProjects for SCO OS's.\n\nI made the changes so that most things work with the auto tools.  \n \n> > tech0 > CC=cc CXX=CC CFLAGS=\"-Kalloca -Kthread\" CPPFLAGS=\"-Kalloca \n> > -Kthread\" ./configure\n> > tech0 > gmake\n> \n> So, with gmake, that \"generally\" works.  I still need to add:\n> \tSNPRINTF_RETURNS_BOGUS=1 NO_MKDTEMP=1\n> \n> > tech0 > CC=cc CXX=CC ./configure \n> > tech0 > gmake\n> \n> And here, until I rid CFLAGS of -Wall, it fails.\n\nI did a VM install of OpenServer 6 to try things out.  I was able to get \nyour -Wall failure, but once I ran the CC=cc CXX=CC ./configure I was able \nto run gmake without any errors. I did have to install the M4 from above \nto get configure to work.  So, the straight out of the box install has to \nhave gnu m4 to run configure. \n   \n> > > Unfortunately, I have access to only that one SCO box, so I have no idea\n> > > of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.\n> > > \n> > > That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the\n> > > linker complains on linking git-shell:\n> > > \tUndefined                       first referenced\n> > > \tsymbol                              in file\n> > > \thexval_table                        abspath.o\n> > > \tnull_sha1                           abspath.o\n> > > \ttrust_executable_bit                abspath.o\n> > > \thas_symlinks                        abspath.o\n> > > \tUX:ld: ERROR: Symbol referencing errors. No output written to git-shell\n> > > \n> > > These are all extern varualbes declared in cache.h, but no defined in\n> > > any of the objects git-shell links, normally not a problem, but this is SCO.\n> > \n> > I do not see the problem on my systems.\n> \n> \taidan@jpradley:~/git$ touch abspath.c\n> \taidan@jpradley:~/git$ gmake V=1 git-shell\n> \tcc -o abspath.o -c -Kalloca  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM abspath.c\n> \tcc -g -Kalloca  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM -o git-shell   -L/usr/local/lib abspath.o ctype.o exec_cmd.o quote.o strbuf.o usage.o wrapper.o shell.o compat/lib.a\n> \tUndefined                       first referenced\n> \tsymbol                              in file\n> \thexval_table                        abspath.o\n> \tnull_sha1                           abspath.o\n> \ttrust_executable_bit                abspath.o\n> \thas_symlinks                        abspath.o\n> \tUX:ld: ERROR: Symbol referencing errors. No output written to git-shell\n> \tgmake: *** [git-shell] Error 1\n> \taidan@jpradley:~/git$ cat config.mak\n> \tNO_OENSSL=1\n> \tNO_MKDTEMP=1\n> \tSHELL=/bin/bash\n> \tSNPRINTF_RETURNS_BOGUS=1\n> \tCFLAGS=-Kalloca\n> \tCPPFLAGS=-Kalloca\n> \n> I've found that if I set CFLAGS to -O2, it links properly:\n> \taidan@jpradley:~/git$ touch abspath.c\n> \taidan@jpradley:~/git$ gmake V=1 git-shell\n> \tcc -o abspath.o -c -Kalloca -O2  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM abspath.c\n> \tcc -Kalloca -O2  -Kthread -I/usr/local/include -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DSNPRINTF_RETURNS_BOGUS -DNO_STRCASESTR -DNO_MKDTEMP -DNO_HSTRERROR -DNO_MEMMEM -o git-shell   -L/usr/local/lib abspath.o ctype.o exec_cmd.o quote.o strbuf.o usage.o wrapper.o shell.o compat/lib.a\n> \n> So I think it's \"not inlining\" stuff like:\n> \tstatic inline unsigned int hexval(unsigned char c)\n> \t{\n> \t\treturn hexval_table[c];\n> \t}\n>  \n> So, finally, it pretty much works on SCO out of the box - here's my\n> settings, which which the test suite passed (well, is passing, I'm at\n> t5400, but I expect it to all pass again with these settings):\n> \n> \taidan@jpradley:~/git$ cat config.mak\n> \tNO_TCLTK=1\n> \tNO_MKDTEMP=1\n> \tSHELL=/bin/bash\n> \tSNPRINTF_RETURNS_BOGUS=1\n> \tCFLAGS=-O2\n\n\n-g and -O2 are mutually exclusive.  You can have either one but not both.\n\nI do have tcl and tk\n\ndrwxr-xr-x   12 gerberb  zenez       2048 Jun 10 17:30 tcl8.5.2\ndrwxr-xr-x   12 gerberb  zenez       2048 Jun 10 17:30 tk8.5.2\n\nSo I am not sure what the best option should be.  There is a patch for \nUnixWare 7 MP4 that has to be installed to MP4 for so failures, but it \nworks even with ksh with it.\n\nAlso on UnixWare 7.1.4 I could not get any m4 greater than 1.4.9 to \ncompile and work.  I finally just used \n\ndrwxr-xr-x    8 gerberb  zenez          2048 May 19 03:05 m4-1.4.9\ndrwxrwxrwx    9 gerberb  zenez          4096 Apr  3 00:11 make-3.81\ndrwxr-xr-x   12 gerberb  zenez          2048 Jun 10 16:43 tcl8.5.2\ndrwxr-xr-x   12 gerberb  zenez          2048 Jun 10 16:44 tk8.5.2\ndrwxr-xr-x    9 gerberb  zenez          4096 May 19 03:18 sed-4.1.4\n\nOn UnixWare 7.1.4 MP4 with ptf9055a.\n\n--\nBoyd Gerber <gerberb@zenez.com>\nZENEZ\t1042 East Fort Union #135, Midvale Utah  84047\n"},{"id":"85708","messageId":"20080730234455.GN10399@yugib.highrise.ca","threadId":"11149","inReplyTo":"alpine.LNX.1.10.0807301700500.13032@xenau.zenez.com","subject":"Re: Compile fix for SCO OPenServer","fromName":"Aidan Van Dyk","fromEmail":"aidan@highrise.ca","sentAt":"2008-07-30T23:44:55Z","receivedAt":"2008-07-30T23:44:55Z","isPatch":false,"sender":{"key":"aidan@highrise.ca","avatar":"https://gravatar.com/avatar/853c50d90cce753dc1c390fdc6cbed558f5f969bd43fa4f5cb0118d8f71316f6?d=mp&s=160"},"body":"* Boyd Lynn Gerber <gerberb@zenez.com> [080730 19:30]:\n \n> I have m4-1.4.3 at \n> \n> ftp://ftp.zenez.com/pub/zenez/prgms/m4-1.4.3-osr6-all.tar.gz\n> \n> I really have to be able to use configure for most of my OpenSource \n> Projects for SCO OS's.\n> \n> I made the changes so that most things work with the auto tools.  \n\nI'm not a SCO guru by any means...\n\nI'm just a user on someone else's SCO machine, just trying to make sure\nthat the software I write is \"fairly portable\"...\n\nI'm willing to carry a good and useful tool (like git) in my home\ndirectory in that endeavour, but I'm not carrying all of the GNU stack\nin my home directory so I can run configure git is a bit much ;-)\n\n> I did a VM install of OpenServer 6 to try things out.  I was able to get \n> your -Wall failure, but once I ran the CC=cc CXX=CC ./configure I was able \n> to run gmake without any errors. I did have to install the M4 from above \n> to get configure to work.  So, the straight out of the box install has to \n> have gnu m4 to run configure. \n\nSo configure.ac must have some magic in it that allows configure to\nnotice -Wall doesn't work.  You can see what it choose in\nconfig.mak.autogen I think.  But I'm pretty glad for the kbuild style\nMakefile in git not requiring autoconf/automake/etc.\n \n> -g and -O2 are mutually exclusive.  You can have either one but not both.\n\nYes, and I think the default to cc matches -g, not -O2, hence my\nfailures unless setting -O2.\n\n> I do have tcl and tk\n\nI'm sure... I might even find it burried somewhere on this machine too,\nbut I have no real need for it.\n\na.\n\n-- \nAidan Van Dyk                                             Create like a god,\naidan@highrise.ca                                       command like a king,\nhttp://www.highrise.ca/                                   work like a slave.\n"},{"id":"85713","messageId":"alpine.LNX.1.10.0807301747160.13032@xenau.zenez.com","threadId":"11149","inReplyTo":"20080730234455.GN10399@yugib.highrise.ca","subject":"Re: Compile fix for SCO OPenServer","fromName":"Boyd Lynn Gerber","fromEmail":"gerberb@zenez.com","sentAt":"2008-07-31T00:00:23Z","receivedAt":"2008-07-31T00:00:23Z","isPatch":false,"sender":{"key":"gerberb@zenez.com","avatar":null},"body":"On Wed, 30 Jul 2008, Aidan Van Dyk wrote:\n> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 19:30]:\n> > I have m4-1.4.3 at \n> > \n> > ftp://ftp.zenez.com/pub/zenez/prgms/m4-1.4.3-osr6-all.tar.gz\n> > \n> > I really have to be able to use configure for most of my OpenSource \n> > Projects for SCO OS's.\n> > \n> > I made the changes so that most things work with the auto tools.  \n> \n> I'm not a SCO guru by any means...\n> \n> I'm just a user on someone else's SCO machine, just trying to make sure\n> that the software I write is \"fairly portable\"...\n> \n> I'm willing to carry a good and useful tool (like git) in my home\n> directory in that endeavour, but I'm not carrying all of the GNU stack\n> in my home directory so I can run configure git is a bit much ;-)\n\nThat make sense.  All though m4 is\n\ntest5 > l /usr/local/bin/m4\n-rwxr-xr-x    1 gerberb  zenez    280524 Jul 23  2005 /usr/local/bin/m4\n\nWhich is not that big.  I have it in my ~/.bin/ on my clients machines.  \nYou really need a good m4 for most things.  Sendmail expecially.  Also for \nthe latest bind with the DNS security fix.  I some times need bc as well.\n\ntest5 > l /usr/local/bin/bc\n-rwxr-xr-x    1 bin      bin      85088 May 19 17:20 /usr/local/bin/bc\n\n> > I did a VM install of OpenServer 6 to try things out.  I was able to get \n> > your -Wall failure, but once I ran the CC=cc CXX=CC ./configure I was able \n> > to run gmake without any errors. I did have to install the M4 from above \n> > to get configure to work.  So, the straight out of the box install has to \n> > have gnu m4 to run configure. \n> \n> So configure.ac must have some magic in it that allows configure to\n> notice -Wall doesn't work.  You can see what it choose in\n> config.mak.autogen I think.  But I'm pretty glad for the kbuild style\n> Makefile in git not requiring autoconf/automake/etc.\n\nI do not see anything really obvious, but below is config.mak.autogen\n\ntest5 > cat config.mak.autogen\n# git Makefile configuration, included in main Makefile\n# config.mak.autogen.  Generated from config.mak.in:config.mak.append by \nconfigure.\n\nCC = cc\nCFLAGS = -Kalloca -Kthread\nAR = gar\nTAR = gtar\n#INSTALL = @INSTALL@            # needs install-sh or install.sh in \nsources\nTCLTK_PATH = wish\n\nprefix = /usr/local\nexec_prefix = ${prefix}\nbindir = ${exec_prefix}/bin\n#gitexecdir = ${exec_prefix}/libexec/git-core/\ndatarootdir = @datarootdir@\ntemplate_dir = ${prefix}/share/git-core/templates/\n\nmandir=${prefix}/man\n\nsrcdir = .\n\n\nexport exec_prefix mandir\nexport srcdir VPATH\n\nASCIIDOC8=\nNEEDS_SSL_WITH_CRYPTO=\nNO_OPENSSL=\nNO_CURL=\nNO_EXPAT=\nNEEDS_LIBICONV=\nNEEDS_SOCKET=YesPlease\nNO_SYS_SELECT_H=\nNO_D_INO_IN_DIRENT=\nNO_D_TYPE_IN_DIRENT=YesPlease\nNO_SOCKADDR_STORAGE=\nNO_IPV6=\nNO_C99_FORMAT=\nNO_STRCASESTR=YesPlease\nNO_MEMMEM=YesPlease\nNO_STRLCPY=\nNO_STRTOUMAX=\nNO_SETENV=\nNO_UNSETENV=\nNO_MKDTEMP=YesPlease\nNO_ICONV=\nOLD_ICONV=\nNO_DEFLATE_BOUND=\nFREAD_READS_DIRECTORIES=UnfortunatelyYes\nSNPRINTF_RETURNS_BOGUS=UnfortunatelyYes\n# config.mak.append.  Generated by configure.\n\n\n> > -g and -O2 are mutually exclusive.  You can have either one but not both.\n> \n> Yes, and I think the default to cc matches -g, not -O2, hence my\n> failures unless setting -O2.\n> \n> > I do have tcl and tk\n> \n> I'm sure... I might even find it burried somewhere on this machine too,\n> but I have no real need for it.\n\nOK.\n\nSo what do you think we need to have.  I really do not see the need for \n__OPENSERVER__.  Do you?\n\n--\nBoyd Gerber <gerberb@zenez.com>\nZENEZ\t1042 East Fort Union #135, Midvale Utah  84047\n"},{"id":"85715","messageId":"20080731001112.GP10399@yugib.highrise.ca","threadId":"11149","inReplyTo":"alpine.LNX.1.10.0807301747160.13032@xenau.zenez.com","subject":"Re: Compile fix for SCO OPenServer","fromName":"Aidan Van Dyk","fromEmail":"aidan@highrise.ca","sentAt":"2008-07-31T00:11:12Z","receivedAt":"2008-07-31T00:11:12Z","isPatch":false,"sender":{"key":"aidan@highrise.ca","avatar":"https://gravatar.com/avatar/853c50d90cce753dc1c390fdc6cbed558f5f969bd43fa4f5cb0118d8f71316f6?d=mp&s=160"},"body":"* Boyd Lynn Gerber <gerberb@zenez.com> [080730 20:00]:\n \n> So what do you think we need to have.  I really do not see the need for \n> __OPENSERVER__.  Do you?\n\nNo, I think I saw that long ago, when I said:\n> Sorry, a bit premature on my end...    \n\nWith SNPRINTF_RETURNS_BOGUS and NO_MKDTEMP and CFLAGS set for make, I\ndon't need any source code changes to compile on SCO.\n\nAnd as long as I have GNU bash and diff available, the test suite passes\nas well.  Well, all except for t9500-gitweb-standalone-no-errors.sh:\n\t[Thu Jul 31 00:08:46 2008] gitweb.perl: -T and -B not implemented on filehandles at /u/aidan/git/t/trash directory/../../gitweb/gitweb.perl line 2444.\n\nPerl claims:\n\tThis is perl, v5.8.8 built for i586-pc-sysv5\n\nBut again, I don't plan on running gitweb on this SCO box either...\n\n\na.\n-- \nAidan Van Dyk                                             Create like a god,\naidan@highrise.ca                                       command like a king,\nhttp://www.highrise.ca/                                   work like a slave.\n"},{"id":"85719","messageId":"alpine.LNX.1.10.0807301831320.13032@xenau.zenez.com","threadId":"11149","inReplyTo":"20080731001112.GP10399@yugib.highrise.ca","subject":"Re: Compile fix for SCO OPenServer","fromName":"Boyd Lynn Gerber","fromEmail":"gerberb@zenez.com","sentAt":"2008-07-31T00:32:12Z","receivedAt":"2008-07-31T00:32:12Z","isPatch":false,"sender":{"key":"gerberb@zenez.com","avatar":null},"body":"On Wed, 30 Jul 2008, Aidan Van Dyk wrote:\n> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 20:00]:\n> > So what do you think we need to have.  I really do not see the need for \n> > __OPENSERVER__.  Do you?\n> \n> No, I think I saw that long ago, when I said:\n> > Sorry, a bit premature on my end...    \n> \n> With SNPRINTF_RETURNS_BOGUS and NO_MKDTEMP and CFLAGS set for make, I\n> don't need any source code changes to compile on SCO.\n> \n> And as long as I have GNU bash and diff available, the test suite passes\n> as well.  Well, all except for t9500-gitweb-standalone-no-errors.sh:\n> \t[Thu Jul 31 00:08:46 2008] gitweb.perl: -T and -B not implemented on filehandles at /u/aidan/git/t/trash directory/../../gitweb/gitweb.perl line 2444.\n> \n> Perl claims:\n> \tThis is perl, v5.8.8 built for i586-pc-sysv5\n> \n> But again, I don't plan on running gitweb on this SCO box either...\n\nOK, thanks, I did not want to not respond if things were needed.\n\nThanks,\n\n--\nBoyd Gerber <gerberb@zenez.com>\nZENEZ\t1042 East Fort Union #135, Midvale Utah  84047\n"}]}