Re: Compile fix for SCO OPenServer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Boyd Lynn Gerber <gerberb@xxxxxxxxx> [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@xxxxxxxxxxx                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux