git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Compile fix for SCO OpenServer
@ 2007-12-05 17:21 Aidan Van Dyk
  2008-07-30 18:49 ` Compile fix for SCO OPenServer Aidan Van Dyk
  0 siblings, 1 reply; 14+ messages in thread
From: Aidan Van Dyk @ 2007-12-05 17:21 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 742 bytes --]

SCO OpenServer hides the definitions of (at least) u_short and friends if
_XOPEN_SOURCE is defined.

Signed-off-by: Aidan Van Dyk <aidan@highrise.ca>
---

diff --git a/git-compat-util.h b/git-compat-util.h
index ca0a597..be8cbe8 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -24,7 +24,7 @@
 /* Approximation of the length of the decimal representation of this type. */
 #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)

-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined (__OPENSERVER__)
 #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
 #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
 #endif

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Compile fix for SCO OPenServer
  2007-12-05 17:21 [PATCH] Compile fix for SCO OpenServer Aidan Van Dyk
@ 2008-07-30 18:49 ` Aidan Van Dyk
  2008-07-30 20:01   ` Junio C Hamano
  0 siblings, 1 reply; 14+ messages in thread
From: Aidan Van Dyk @ 2008-07-30 18:49 UTC (permalink / raw)
  To: git

SCO OpenServer also hides the definitions of (at least) u_short and
friends if _XOPEN_SOURCE is defined.
---
Same patch as last time, updated for current master.

 git-compat-util.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/git-compat-util.h b/git-compat-util.h
index cf89cdf..42e3e0b 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -39,7 +39,7 @@
 /* Approximation of the length of the decimal representation of this type. */
 #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)

-#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)
+#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)
 #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
 #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
 #endif
--
1.6.0.rc1.dirty

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 18:49 ` Compile fix for SCO OPenServer Aidan Van Dyk
@ 2008-07-30 20:01   ` Junio C Hamano
  2008-07-30 20:09     ` Boyd Lynn Gerber
  2008-07-30 20:13     ` Boyd Lynn Gerber
  0 siblings, 2 replies; 14+ messages in thread
From: Junio C Hamano @ 2008-07-30 20:01 UTC (permalink / raw)
  To: Aidan Van Dyk; +Cc: git, Boyd Lynn Gerber

Aidan Van Dyk <aidan@highrise.ca> writes:

> SCO OpenServer also hides the definitions of (at least) u_short and
> friends if _XOPEN_SOURCE is defined.

I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).

> ---
> Same patch as last time, updated for current master.

Sign-off?

Boyd, does this make any of the earlier symbols you added redundant?

>
>  git-compat-util.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/git-compat-util.h b/git-compat-util.h
> index cf89cdf..42e3e0b 100644
> --- a/git-compat-util.h
> +++ b/git-compat-util.h
> @@ -39,7 +39,7 @@
>  /* Approximation of the length of the decimal representation of this type. */
>  #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)
>
> -#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)
> +#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)
>  #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
>  #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
>  #endif
> --
> 1.6.0.rc1.dirty

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 20:01   ` Junio C Hamano
@ 2008-07-30 20:09     ` Boyd Lynn Gerber
  2008-07-30 20:18       ` Junio C Hamano
  2008-07-30 20:43       ` Aidan Van Dyk
  2008-07-30 20:13     ` Boyd Lynn Gerber
  1 sibling, 2 replies; 14+ messages in thread
From: Boyd Lynn Gerber @ 2008-07-30 20:09 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Aidan Van Dyk, git

On Wed, 30 Jul 2008, Junio C Hamano wrote:
> Aidan Van Dyk <aidan@highrise.ca> writes:
> > SCO OpenServer also hides the definitions of (at least) u_short and
> > friends if _XOPEN_SOURCE is defined.
> 
> I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).

I thought it was covered as well.

> Sign-off?
> 
> Boyd, does this make any of the earlier symbols you added redundant?

I have just tried this on 4 OpenServer 6.0 machines fresh installed and I 
do not need this added.  I am trying to figure out what is different on 
his.  It appears he is using the exact same version of the compiler as 
well.

My uname -a gives me this...

SCO_SV tech0 5 6.0.0 i386

and the gcc -V gives me the exact same compiler.  So I do not know why he 
has to have the additional __OPENSERVER__.  This does break my OpenServer 
5.0.7 fresh install as well.  So I would not use it.  What I do not 
understand is why the !defined(__USLC__) does not catch it.  It should.

> >  git-compat-util.h |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/git-compat-util.h b/git-compat-util.h
> > index cf89cdf..42e3e0b 100644
> > --- a/git-compat-util.h
> > +++ b/git-compat-util.h
> > @@ -39,7 +39,7 @@
> >  /* Approximation of the length of the decimal representation of this type. */
> >  #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)
> >
> > -#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)
> > +#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)
> >  #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
> >  #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
> >  #endif
> > --
> > 1.6.0.rc1.dirty
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
Boyd Gerber <gerberb@zenez.com>
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 20:01   ` Junio C Hamano
  2008-07-30 20:09     ` Boyd Lynn Gerber
@ 2008-07-30 20:13     ` Boyd Lynn Gerber
  1 sibling, 0 replies; 14+ messages in thread
From: Boyd Lynn Gerber @ 2008-07-30 20:13 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Aidan Van Dyk, git

On Wed, 30 Jul 2008, Junio C Hamano wrote:
> Aidan Van Dyk <aidan@highrise.ca> writes:
> 
> > SCO OpenServer also hides the definitions of (at least) u_short and
> > friends if _XOPEN_SOURCE is defined.
> 
> I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).
> 
> Boyd, does this make any of the earlier symbols you added redundant?

On my machine !defined(__USLC__) covers both UnixWare 7.1.4 and OpenServer 
6.0.0.  !defined(_M_UNIX) covers my OpenServer 5.0.7 machine.  The 
!defined(__USLC__) also covers my Novell OS's and others that use the 
USLC (Unix System Labotories Compiler).

> >  git-compat-util.h |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/git-compat-util.h b/git-compat-util.h
> > index cf89cdf..42e3e0b 100644
> > --- a/git-compat-util.h
> > +++ b/git-compat-util.h
> > @@ -39,7 +39,7 @@
> >  /* Approximation of the length of the decimal representation of this type. */
> >  #define decimal_length(x)      ((int)(sizeof(x) * 2.56 + 0.5) + 1)
> >
> > -#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX)
> > +#if !defined(__APPLE__) && !defined(__FreeBSD__)  && !defined(__USLC__) && !defined(_M_UNIX) && !defined(__OPENSERVER__)
> >  #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
> >  #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
> >  #endif
> > --
> > 1.6.0.rc1.dirty
> 

--
Boyd Gerber <gerberb@zenez.com>
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 20:09     ` Boyd Lynn Gerber
@ 2008-07-30 20:18       ` Junio C Hamano
  2008-07-30 20:43       ` Aidan Van Dyk
  1 sibling, 0 replies; 14+ messages in thread
From: Junio C Hamano @ 2008-07-30 20:18 UTC (permalink / raw)
  To: Boyd Lynn Gerber; +Cc: Aidan Van Dyk, git

Boyd Lynn Gerber <gerberb@zenez.com> writes:

> On Wed, 30 Jul 2008, Junio C Hamano wrote:
>> Aidan Van Dyk <aidan@highrise.ca> writes:
>> > SCO OpenServer also hides the definitions of (at least) u_short and
>> > friends if _XOPEN_SOURCE is defined.
>> 
>> I thought that was covered by 457bb45 (Port to 12 other Platforms., 2008-06-08).
>
> I thought it was covered as well.
>
>> Sign-off?
>> 
>> Boyd, does this make any of the earlier symbols you added redundant?
>
> I have just tried this on 4 OpenServer 6.0 machines fresh installed and I 
> do not need this added.  I am trying to figure out what is different on 
> his.  It appears he is using the exact same version of the compiler as 
> well.
>
> My uname -a gives me this...
>
> SCO_SV tech0 5 6.0.0 i386
>
> and the gcc -V gives me the exact same compiler.  So I do not know why he 
> has to have the additional __OPENSERVER__.  This does break my OpenServer 
> 5.0.7 fresh install as well.  So I would not use it.  What I do not 
> understand is why the !defined(__USLC__) does not catch it.  It should.

Thanks for a prompt response.

Could you work with Aidan to come up with the optimal solution that does
not break anybody?  I won't queue this patch until the issue is sorted
out.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 20:09     ` Boyd Lynn Gerber
  2008-07-30 20:18       ` Junio C Hamano
@ 2008-07-30 20:43       ` Aidan Van Dyk
  2008-07-30 21:28         ` Boyd Lynn Gerber
  1 sibling, 1 reply; 14+ messages in thread
From: Aidan Van Dyk @ 2008-07-30 20:43 UTC (permalink / raw)
  To: Boyd Lynn Gerber; +Cc: Junio C Hamano, git

[-- Attachment #1: Type: text/plain, Size: 2621 bytes --]

* Boyd Lynn Gerber <gerberb@zenez.com> [080730 16:09]:

> I have just tried this on 4 OpenServer 6.0 machines fresh installed and I 
> do not need this added.  I am trying to figure out what is different on 
> his.  It appears he is using the exact same version of the compiler as 
> well.
> 
> My uname -a gives me this...
> 
> SCO_SV tech0 5 6.0.0 i386
> 
> and the gcc -V gives me the exact same compiler.  So I do not know why he 
> has to have the additional __OPENSERVER__.  This does break my OpenServer 
> 5.0.7 fresh install as well.  So I would not use it.  What I do not 
> understand is why the !defined(__USLC__) does not catch it.  It should.

Sorry, a bit premature on my end...

I tried a "default" gmake, and hit an error right away:
	UX:cc: ERROR: Invalid subargument: -Wall
And immediately pulled my changes from last january into the fix it.  My
changes included a local config.mak CFLAGS override which was the real
fix.

To build with no source changes, I need:
NO_MKDTEMP=1 SNPRINTF_RETURNS_BOGUS=1 CFLAGS=-g NO_POSIX_ONLY_PROGRAMS=1

How about something like this:
	diff --git a/Makefile b/Makefile
	index 798a2f2..c42040f 100644
	--- a/Makefile
	+++ b/Makefile
	@@ -602,6 +602,7 @@ ifeq ($(uname_S),SCO_SV)
		endif
		ifeq ($(uname_R),5)
			CC = cc
	+               CFLAGS = -g
			BASIC_CFLAGS += -Kthread
		endif
		NEEDS_SOCKET = YesPlease
	@@ -615,6 +616,8 @@ ifeq ($(uname_S),SCO_SV)
		BASIC_LDFLAGS += -L/usr/local/lib
		NO_STRCASESTR = YesPlease
		NO_MEMMEM = YesPlease
	+       NO_MKDTEMP = YesPlease
	+       SNPRINTF_RETURNS_BOGUS = YesPlease
		INSTALL = ginstall
		TAR = gtar
	 endif

Unfortunately, I have access to only that one SCO box, so I have no idea
of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.

That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the
linker complains on linking git-shell:
	Undefined                       first referenced
	symbol                              in file
	hexval_table                        abspath.o
	null_sha1                           abspath.o
	trust_executable_bit                abspath.o
	has_symlinks                        abspath.o
	UX:ld: ERROR: Symbol referencing errors. No output written to git-shell

These are all extern varualbes declared in cache.h, but no defined in
any of the objects git-shell links, normally not a problem, but this is SCO.

-- 
Aidan Van Dyk                                             Create like a god,
aidan@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 20:43       ` Aidan Van Dyk
@ 2008-07-30 21:28         ` Boyd Lynn Gerber
  2008-07-30 22:56           ` Aidan Van Dyk
  0 siblings, 1 reply; 14+ messages in thread
From: Boyd Lynn Gerber @ 2008-07-30 21:28 UTC (permalink / raw)
  To: Aidan Van Dyk; +Cc: Junio C Hamano, git

On Wed, 30 Jul 2008, Aidan Van Dyk wrote:
> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 16:09]:
> > I have just tried this on 4 OpenServer 6.0 machines fresh installed and I 
> > do not need this added.  I am trying to figure out what is different on 
> > his.  It appears he is using the exact same version of the compiler as 
> > well.
> > 
> > My uname -a gives me this...
> > 
> > SCO_SV tech0 5 6.0.0 i386
> > 
> > and the gcc -V gives me the exact same compiler.  So I do not know why he 
> > has to have the additional __OPENSERVER__.  This does break my OpenServer 
> > 5.0.7 fresh install as well.  So I would not use it.  What I do not 
> > understand is why the !defined(__USLC__) does not catch it.  It should.
> 
> Sorry, a bit premature on my end...
> 
> I tried a "default" gmake, and hit an error right away:
> 	UX:cc: ERROR: Invalid subargument: -Wall
> And immediately pulled my changes from last january into the fix it.  My
> changes included a local config.mak CFLAGS override which was the real
> fix.
> 
> To build with no source changes, I need:
> NO_MKDTEMP=1 SNPRINTF_RETURNS_BOGUS=1 CFLAGS=-g NO_POSIX_ONLY_PROGRAMS=1

How about doing a fresh 

working directory.  And just for the fun of it try...

This

tech0 > CC=cc CXX=CC CFLAGS="-Kalloca -Kthread" CPPFLAGS="-Kalloca 
-Kthread" ./configure
tech0 > gmake

and

tech0 > CC=cc CXX=CC ./configure 
tech0 > gmake

worked without any issues for me.
 
> How about something like this:
> 	diff --git a/Makefile b/Makefile
> 	index 798a2f2..c42040f 100644
> 	--- a/Makefile
> 	+++ b/Makefile
> 	@@ -602,6 +602,7 @@ ifeq ($(uname_S),SCO_SV)
> 		endif
> 		ifeq ($(uname_R),5)
> 			CC = cc
> 	+               CFLAGS = -g
> 			BASIC_CFLAGS += -Kthread
> 		endif
> 		NEEDS_SOCKET = YesPlease
> 	@@ -615,6 +616,8 @@ ifeq ($(uname_S),SCO_SV)
> 		BASIC_LDFLAGS += -L/usr/local/lib
> 		NO_STRCASESTR = YesPlease
> 		NO_MEMMEM = YesPlease
> 	+       NO_MKDTEMP = YesPlease
> 	+       SNPRINTF_RETURNS_BOGUS = YesPlease
> 		INSTALL = ginstall
> 		TAR = gtar
> 	 endif

The above does work on OpenServer 6, UnixWare 7.1.4 and OpenServer 5.0.7
 
> Unfortunately, I have access to only that one SCO box, so I have no idea
> of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.
> 
> That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the
> linker complains on linking git-shell:
> 	Undefined                       first referenced
> 	symbol                              in file
> 	hexval_table                        abspath.o
> 	null_sha1                           abspath.o
> 	trust_executable_bit                abspath.o
> 	has_symlinks                        abspath.o
> 	UX:ld: ERROR: Symbol referencing errors. No output written to git-shell
> 
> These are all extern varualbes declared in cache.h, but no defined in
> any of the objects git-shell links, normally not a problem, but this is SCO.

I do not see the problem on my systems.


--
Boyd Gerber <gerberb@zenez.com>
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 21:28         ` Boyd Lynn Gerber
@ 2008-07-30 22:56           ` Aidan Van Dyk
  2008-07-30 23:30             ` Boyd Lynn Gerber
  0 siblings, 1 reply; 14+ messages in thread
From: Aidan Van Dyk @ 2008-07-30 22:56 UTC (permalink / raw)
  To: Boyd Lynn Gerber; +Cc: Junio C Hamano, git

[-- Attachment #1: Type: text/plain, Size: 3980 bytes --]

* Boyd Lynn Gerber <gerberb@zenez.com> [080730 17:28]:
 
> How about doing a fresh 
> 
> working directory.  And just for the fun of it try...

Unfortunately, I can't use configure, apparently that SCO box does'nt
have a new enough toolc change for M4/autoconf/etc...

But I've never had to use configure before, I've always just built with
make (gmake on boxes with borked make)

> tech0 > CC=cc CXX=CC CFLAGS="-Kalloca -Kthread" CPPFLAGS="-Kalloca 
> -Kthread" ./configure
> tech0 > gmake

So, with gmake, that "generally" works.  I still need to add:
	SNPRINTF_RETURNS_BOGUS=1 NO_MKDTEMP=1

> tech0 > CC=cc CXX=CC ./configure 
> tech0 > gmake

And here, until I rid CFLAGS of -Wall, it fails.
  
> > Unfortunately, I have access to only that one SCO box, so I have no idea
> > of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.
> > 
> > That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the
> > linker complains on linking git-shell:
> > 	Undefined                       first referenced
> > 	symbol                              in file
> > 	hexval_table                        abspath.o
> > 	null_sha1                           abspath.o
> > 	trust_executable_bit                abspath.o
> > 	has_symlinks                        abspath.o
> > 	UX:ld: ERROR: Symbol referencing errors. No output written to git-shell
> > 
> > These are all extern varualbes declared in cache.h, but no defined in
> > any of the objects git-shell links, normally not a problem, but this is SCO.
> 
> I do not see the problem on my systems.

	aidan@jpradley:~/git$ touch abspath.c
	aidan@jpradley:~/git$ gmake V=1 git-shell
	cc -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
	cc -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
	Undefined                       first referenced
	symbol                              in file
	hexval_table                        abspath.o
	null_sha1                           abspath.o
	trust_executable_bit                abspath.o
	has_symlinks                        abspath.o
	UX:ld: ERROR: Symbol referencing errors. No output written to git-shell
	gmake: *** [git-shell] Error 1
	aidan@jpradley:~/git$ cat config.mak
	NO_OENSSL=1
	NO_MKDTEMP=1
	SHELL=/bin/bash
	SNPRINTF_RETURNS_BOGUS=1
	CFLAGS=-Kalloca
	CPPFLAGS=-Kalloca

I've found that if I set CFLAGS to -O2, it links properly:
	aidan@jpradley:~/git$ touch abspath.c
	aidan@jpradley:~/git$ gmake V=1 git-shell
	cc -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
	cc -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

So I think it's "not inlining" stuff like:
	static inline unsigned int hexval(unsigned char c)
	{
		return hexval_table[c];
	}
 
So, finally, it pretty much works on SCO out of the box - here's my
settings, which which the test suite passed (well, is passing, I'm at
t5400, but I expect it to all pass again with these settings):

	aidan@jpradley:~/git$ cat config.mak
	NO_TCLTK=1
	NO_MKDTEMP=1
	SHELL=/bin/bash
	SNPRINTF_RETURNS_BOGUS=1
	CFLAGS=-O2

-- 
Aidan Van Dyk                                             Create like a god,
aidan@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 22:56           ` Aidan Van Dyk
@ 2008-07-30 23:30             ` Boyd Lynn Gerber
  2008-07-30 23:44               ` Aidan Van Dyk
  0 siblings, 1 reply; 14+ messages in thread
From: Boyd Lynn Gerber @ 2008-07-30 23:30 UTC (permalink / raw)
  To: Aidan Van Dyk; +Cc: Junio C Hamano, git

On Wed, 30 Jul 2008, Aidan Van Dyk wrote:
> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 17:28]:
> > How about doing a fresh 
> > 
> > working directory.  And just for the fun of it try...
> 
> Unfortunately, I can't use configure, apparently that SCO box does'nt
> have a new enough toolc change for M4/autoconf/etc...
> 
> But I've never had to use configure before, I've always just built with
> make (gmake on boxes with borked make)

I did have to install m4 and have /usr/local/bin before /usr/bin and /bin 
so it uses the gnu m4.

I have m4-1.4.3 at 

ftp://ftp.zenez.com/pub/zenez/prgms/m4-1.4.3-osr6-all.tar.gz

I really have to be able to use configure for most of my OpenSource 
Projects for SCO OS's.

I made the changes so that most things work with the auto tools.  
 
> > tech0 > CC=cc CXX=CC CFLAGS="-Kalloca -Kthread" CPPFLAGS="-Kalloca 
> > -Kthread" ./configure
> > tech0 > gmake
> 
> So, with gmake, that "generally" works.  I still need to add:
> 	SNPRINTF_RETURNS_BOGUS=1 NO_MKDTEMP=1
> 
> > tech0 > CC=cc CXX=CC ./configure 
> > tech0 > gmake
> 
> And here, until I rid CFLAGS of -Wall, it fails.

I did a VM install of OpenServer 6 to try things out.  I was able to get 
your -Wall failure, but once I ran the CC=cc CXX=CC ./configure I was able 
to run gmake without any errors. I did have to install the M4 from above 
to get configure to work.  So, the straight out of the box install has to 
have gnu m4 to run configure. 
   
> > > Unfortunately, I have access to only that one SCO box, so I have no idea
> > > of mkdtemp and sprintf problems are on all SCO, or just R=5 ones.
> > > 
> > > That allows me to build with NO_POSIX_ONLY_PROGRAMS=1, because for some reason, the
> > > linker complains on linking git-shell:
> > > 	Undefined                       first referenced
> > > 	symbol                              in file
> > > 	hexval_table                        abspath.o
> > > 	null_sha1                           abspath.o
> > > 	trust_executable_bit                abspath.o
> > > 	has_symlinks                        abspath.o
> > > 	UX:ld: ERROR: Symbol referencing errors. No output written to git-shell
> > > 
> > > These are all extern varualbes declared in cache.h, but no defined in
> > > any of the objects git-shell links, normally not a problem, but this is SCO.
> > 
> > I do not see the problem on my systems.
> 
> 	aidan@jpradley:~/git$ touch abspath.c
> 	aidan@jpradley:~/git$ gmake V=1 git-shell
> 	cc -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
> 	cc -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
> 	Undefined                       first referenced
> 	symbol                              in file
> 	hexval_table                        abspath.o
> 	null_sha1                           abspath.o
> 	trust_executable_bit                abspath.o
> 	has_symlinks                        abspath.o
> 	UX:ld: ERROR: Symbol referencing errors. No output written to git-shell
> 	gmake: *** [git-shell] Error 1
> 	aidan@jpradley:~/git$ cat config.mak
> 	NO_OENSSL=1
> 	NO_MKDTEMP=1
> 	SHELL=/bin/bash
> 	SNPRINTF_RETURNS_BOGUS=1
> 	CFLAGS=-Kalloca
> 	CPPFLAGS=-Kalloca
> 
> I've found that if I set CFLAGS to -O2, it links properly:
> 	aidan@jpradley:~/git$ touch abspath.c
> 	aidan@jpradley:~/git$ gmake V=1 git-shell
> 	cc -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
> 	cc -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
> 
> So I think it's "not inlining" stuff like:
> 	static inline unsigned int hexval(unsigned char c)
> 	{
> 		return hexval_table[c];
> 	}
>  
> So, finally, it pretty much works on SCO out of the box - here's my
> settings, which which the test suite passed (well, is passing, I'm at
> t5400, but I expect it to all pass again with these settings):
> 
> 	aidan@jpradley:~/git$ cat config.mak
> 	NO_TCLTK=1
> 	NO_MKDTEMP=1
> 	SHELL=/bin/bash
> 	SNPRINTF_RETURNS_BOGUS=1
> 	CFLAGS=-O2


-g and -O2 are mutually exclusive.  You can have either one but not both.

I do have tcl and tk

drwxr-xr-x   12 gerberb  zenez       2048 Jun 10 17:30 tcl8.5.2
drwxr-xr-x   12 gerberb  zenez       2048 Jun 10 17:30 tk8.5.2

So I am not sure what the best option should be.  There is a patch for 
UnixWare 7 MP4 that has to be installed to MP4 for so failures, but it 
works even with ksh with it.

Also on UnixWare 7.1.4 I could not get any m4 greater than 1.4.9 to 
compile and work.  I finally just used 

drwxr-xr-x    8 gerberb  zenez          2048 May 19 03:05 m4-1.4.9
drwxrwxrwx    9 gerberb  zenez          4096 Apr  3 00:11 make-3.81
drwxr-xr-x   12 gerberb  zenez          2048 Jun 10 16:43 tcl8.5.2
drwxr-xr-x   12 gerberb  zenez          2048 Jun 10 16:44 tk8.5.2
drwxr-xr-x    9 gerberb  zenez          4096 May 19 03:18 sed-4.1.4

On UnixWare 7.1.4 MP4 with ptf9055a.

--
Boyd Gerber <gerberb@zenez.com>
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 23:30             ` Boyd Lynn Gerber
@ 2008-07-30 23:44               ` Aidan Van Dyk
  2008-07-31  0:00                 ` Boyd Lynn Gerber
  0 siblings, 1 reply; 14+ messages in thread
From: Aidan Van Dyk @ 2008-07-30 23:44 UTC (permalink / raw)
  To: Boyd Lynn Gerber; +Cc: Junio C Hamano, git

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

* Boyd Lynn Gerber <gerberb@zenez.com> [080730 19:30]:
 
> I have m4-1.4.3 at 
> 
> ftp://ftp.zenez.com/pub/zenez/prgms/m4-1.4.3-osr6-all.tar.gz
> 
> I really have to be able to use configure for most of my OpenSource 
> Projects for SCO OS's.
> 
> I made the changes so that most things work with the auto tools.  

I'm not a SCO guru by any means...

I'm just a user on someone else's SCO machine, just trying to make sure
that the software I write is "fairly portable"...

I'm willing to carry a good and useful tool (like git) in my home
directory in that endeavour, but I'm not carrying all of the GNU stack
in my home directory so I can run configure git is a bit much ;-)

> I did a VM install of OpenServer 6 to try things out.  I was able to get 
> your -Wall failure, but once I ran the CC=cc CXX=CC ./configure I was able 
> to run gmake without any errors. I did have to install the M4 from above 
> to get configure to work.  So, the straight out of the box install has to 
> have gnu m4 to run configure. 

So configure.ac must have some magic in it that allows configure to
notice -Wall doesn't work.  You can see what it choose in
config.mak.autogen I think.  But I'm pretty glad for the kbuild style
Makefile in git not requiring autoconf/automake/etc.
 
> -g and -O2 are mutually exclusive.  You can have either one but not both.

Yes, and I think the default to cc matches -g, not -O2, hence my
failures unless setting -O2.

> I do have tcl and tk

I'm sure... I might even find it burried somewhere on this machine too,
but I have no real need for it.

a.

-- 
Aidan Van Dyk                                             Create like a god,
aidan@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-30 23:44               ` Aidan Van Dyk
@ 2008-07-31  0:00                 ` Boyd Lynn Gerber
  2008-07-31  0:11                   ` Aidan Van Dyk
  0 siblings, 1 reply; 14+ messages in thread
From: Boyd Lynn Gerber @ 2008-07-31  0:00 UTC (permalink / raw)
  To: Aidan Van Dyk; +Cc: Junio C Hamano, git

On Wed, 30 Jul 2008, Aidan Van Dyk wrote:
> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 19:30]:
> > I have m4-1.4.3 at 
> > 
> > ftp://ftp.zenez.com/pub/zenez/prgms/m4-1.4.3-osr6-all.tar.gz
> > 
> > I really have to be able to use configure for most of my OpenSource 
> > Projects for SCO OS's.
> > 
> > I made the changes so that most things work with the auto tools.  
> 
> I'm not a SCO guru by any means...
> 
> I'm just a user on someone else's SCO machine, just trying to make sure
> that the software I write is "fairly portable"...
> 
> I'm willing to carry a good and useful tool (like git) in my home
> directory in that endeavour, but I'm not carrying all of the GNU stack
> in my home directory so I can run configure git is a bit much ;-)

That make sense.  All though m4 is

test5 > l /usr/local/bin/m4
-rwxr-xr-x    1 gerberb  zenez    280524 Jul 23  2005 /usr/local/bin/m4

Which is not that big.  I have it in my ~/.bin/ on my clients machines.  
You really need a good m4 for most things.  Sendmail expecially.  Also for 
the latest bind with the DNS security fix.  I some times need bc as well.

test5 > l /usr/local/bin/bc
-rwxr-xr-x    1 bin      bin      85088 May 19 17:20 /usr/local/bin/bc

> > I did a VM install of OpenServer 6 to try things out.  I was able to get 
> > your -Wall failure, but once I ran the CC=cc CXX=CC ./configure I was able 
> > to run gmake without any errors. I did have to install the M4 from above 
> > to get configure to work.  So, the straight out of the box install has to 
> > have gnu m4 to run configure. 
> 
> So configure.ac must have some magic in it that allows configure to
> notice -Wall doesn't work.  You can see what it choose in
> config.mak.autogen I think.  But I'm pretty glad for the kbuild style
> Makefile in git not requiring autoconf/automake/etc.

I do not see anything really obvious, but below is config.mak.autogen

test5 > cat config.mak.autogen
# git Makefile configuration, included in main Makefile
# config.mak.autogen.  Generated from config.mak.in:config.mak.append by 
configure.

CC = cc
CFLAGS = -Kalloca -Kthread
AR = gar
TAR = gtar
#INSTALL = @INSTALL@            # needs install-sh or install.sh in 
sources
TCLTK_PATH = wish

prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
#gitexecdir = ${exec_prefix}/libexec/git-core/
datarootdir = @datarootdir@
template_dir = ${prefix}/share/git-core/templates/

mandir=${prefix}/man

srcdir = .


export exec_prefix mandir
export srcdir VPATH

ASCIIDOC8=
NEEDS_SSL_WITH_CRYPTO=
NO_OPENSSL=
NO_CURL=
NO_EXPAT=
NEEDS_LIBICONV=
NEEDS_SOCKET=YesPlease
NO_SYS_SELECT_H=
NO_D_INO_IN_DIRENT=
NO_D_TYPE_IN_DIRENT=YesPlease
NO_SOCKADDR_STORAGE=
NO_IPV6=
NO_C99_FORMAT=
NO_STRCASESTR=YesPlease
NO_MEMMEM=YesPlease
NO_STRLCPY=
NO_STRTOUMAX=
NO_SETENV=
NO_UNSETENV=
NO_MKDTEMP=YesPlease
NO_ICONV=
OLD_ICONV=
NO_DEFLATE_BOUND=
FREAD_READS_DIRECTORIES=UnfortunatelyYes
SNPRINTF_RETURNS_BOGUS=UnfortunatelyYes
# config.mak.append.  Generated by configure.


> > -g and -O2 are mutually exclusive.  You can have either one but not both.
> 
> Yes, and I think the default to cc matches -g, not -O2, hence my
> failures unless setting -O2.
> 
> > I do have tcl and tk
> 
> I'm sure... I might even find it burried somewhere on this machine too,
> but I have no real need for it.

OK.

So what do you think we need to have.  I really do not see the need for 
__OPENSERVER__.  Do you?

--
Boyd Gerber <gerberb@zenez.com>
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-31  0:00                 ` Boyd Lynn Gerber
@ 2008-07-31  0:11                   ` Aidan Van Dyk
  2008-07-31  0:32                     ` Boyd Lynn Gerber
  0 siblings, 1 reply; 14+ messages in thread
From: Aidan Van Dyk @ 2008-07-31  0:11 UTC (permalink / raw)
  To: Boyd Lynn Gerber; +Cc: Junio C Hamano, git

[-- Attachment #1: Type: text/plain, Size: 1037 bytes --]

* Boyd Lynn Gerber <gerberb@zenez.com> [080730 20:00]:
 
> So what do you think we need to have.  I really do not see the need for 
> __OPENSERVER__.  Do you?

No, I think I saw that long ago, when I said:
> Sorry, a bit premature on my end...    

With SNPRINTF_RETURNS_BOGUS and NO_MKDTEMP and CFLAGS set for make, I
don't need any source code changes to compile on SCO.

And as long as I have GNU bash and diff available, the test suite passes
as well.  Well, all except for t9500-gitweb-standalone-no-errors.sh:
	[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.

Perl claims:
	This is perl, v5.8.8 built for i586-pc-sysv5

But again, I don't plan on running gitweb on this SCO box either...


a.
-- 
Aidan Van Dyk                                             Create like a god,
aidan@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Compile fix for SCO OPenServer
  2008-07-31  0:11                   ` Aidan Van Dyk
@ 2008-07-31  0:32                     ` Boyd Lynn Gerber
  0 siblings, 0 replies; 14+ messages in thread
From: Boyd Lynn Gerber @ 2008-07-31  0:32 UTC (permalink / raw)
  To: Aidan Van Dyk; +Cc: Junio C Hamano, git

On Wed, 30 Jul 2008, Aidan Van Dyk wrote:
> * Boyd Lynn Gerber <gerberb@zenez.com> [080730 20:00]:
> > So what do you think we need to have.  I really do not see the need for 
> > __OPENSERVER__.  Do you?
> 
> No, I think I saw that long ago, when I said:
> > Sorry, a bit premature on my end...    
> 
> With SNPRINTF_RETURNS_BOGUS and NO_MKDTEMP and CFLAGS set for make, I
> don't need any source code changes to compile on SCO.
> 
> And as long as I have GNU bash and diff available, the test suite passes
> as well.  Well, all except for t9500-gitweb-standalone-no-errors.sh:
> 	[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.
> 
> Perl claims:
> 	This is perl, v5.8.8 built for i586-pc-sysv5
> 
> But again, I don't plan on running gitweb on this SCO box either...

OK, thanks, I did not want to not respond if things were needed.

Thanks,

--
Boyd Gerber <gerberb@zenez.com>
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-07-31  0:33 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-05 17:21 [PATCH] Compile fix for SCO OpenServer Aidan Van Dyk
2008-07-30 18:49 ` Compile fix for SCO OPenServer Aidan Van Dyk
2008-07-30 20:01   ` Junio C Hamano
2008-07-30 20:09     ` Boyd Lynn Gerber
2008-07-30 20:18       ` Junio C Hamano
2008-07-30 20:43       ` Aidan Van Dyk
2008-07-30 21:28         ` Boyd Lynn Gerber
2008-07-30 22:56           ` Aidan Van Dyk
2008-07-30 23:30             ` Boyd Lynn Gerber
2008-07-30 23:44               ` Aidan Van Dyk
2008-07-31  0:00                 ` Boyd Lynn Gerber
2008-07-31  0:11                   ` Aidan Van Dyk
2008-07-31  0:32                     ` Boyd Lynn Gerber
2008-07-30 20:13     ` Boyd Lynn Gerber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).