Обсуждение: SCO Ports
Hi All,
any one have tried to compile a 7.0.2 with gcc for SCO 5.0.x provided by SCO ?
I've this version:
# gcc -v
Reading specs from /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/specs
gcc version 2.95.2 19991024 (release)
I've modified the makefiles/Makefile.sco into
CFLAGS += -march=i586 -fomit-frame-pointer -melf -O2
LDFLAGS+= -melf
MK_NO_LORDER= true
%.so: %.o
$(CC) -shared -o $@ $<
without success, because the postmaster go in coredump at the startup.
Best regards.
Roberto Fichera writes: > without success, because the postmaster go in coredump at the startup. Compile with -g, and generate a backtrace from the core dump. (gdb /some/where/postmaster /else/where/core.xxxx, then enter 'bt') -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
At 00.22 11/11/00 +0100, Peter Eisentraut wrote:
>Roberto Fichera writes:
>
> > without success, because the postmaster go in coredump at the startup.
>
>Compile with -g, and generate a backtrace from the core dump.
>
>(gdb /some/where/postmaster /else/where/core.xxxx, then enter 'bt')
Ok! I've solved the problem :-)!!! With the last gcc provided by SCO now
I can build the Postgres. Was a prototype problem.
# gcc -v
Reading specs from /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/specs
gcc version 2.95.2 19991024 (release)
Here what I do:
the makefiles/Makefile.sco
LDFLAGS += -Wl,-Bexport
CFLAGS += -O2 -march=i586 -fomit-frame-pointer -melf
MK_NO_LORDER= true
%.so: %.o
$(CC) -melf -shared -o $@ $<
in include/port/sco.h we must add this include
#include <stdarg.h>
#include <netinet/in.h>
the first because the compiler fail to expand the va_* macros, and the 2nd
because
we need to define/prototype some net's related macros (htons, ntohs and so on).
Currently I've only one problem with the ecpg, that I was unable to build.
With the standard compiler
I don't have any problem to build ecpg. Below there is a link error that
seem to be related
with pgc.c:include/access/heapam.h:fastgetattr() -> nocachegetattr() that I
was unable to fix.
gmake[3]: Entering directory
`/usr/src/postgresql-7.0.3/src/interfaces/ecpg/preproc'
gcc -o ecpg preproc.o pgc.o type.o ecpg.o ecpg_keywords.o output.o
keywords.o c_
keywords.o ../lib/typename.o descriptor.o variable.o -lPW -lgen -lcrypt
-lld -lnsl
-lsocket -ldl -lm -ltermcap -lcurses -Wl,-Bexport
Undefined first referenced
symbol in file
nocachegetattr pgc.o
ecpg: fatal error: Symbol referencing errors. No output written to ecpg
collect2: ld returned 1 exit status
gmake[3]: *** [ecpg] Error 1
gmake[3]: Leaving directory
`/usr/src/postgresql-7.0.3/src/interfaces/ecpg/prepr
oc'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/src/postgresql-7.0.3/src/interfaces/ecpg'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/src/postgresql-7.0.3/src/interfaces'
gmake: *** [all] Error 2
#
Roberto Fichera.
At 20.14 13/11/00 +0100, you wrote: Compiling Postgres with GCC on SCO 5.0.4 >gmake[3]: Entering directory >`/usr/src/postgresql-7.0.3/src/interfaces/ecpg/preproc' >gcc -o ecpg preproc.o pgc.o type.o ecpg.o ecpg_keywords.o output.o >keywords.o c_ >keywords.o ../lib/typename.o descriptor.o variable.o -lPW -lgen -lcrypt >-lld -lnsl >-lsocket -ldl -lm -ltermcap -lcurses -Wl,-Bexport >Undefined first referenced > symbol in file >nocachegetattr pgc.o >ecpg: fatal error: Symbol referencing errors. No output written to ecpg >collect2: ld returned 1 exit status >gmake[3]: *** [ecpg] Error 1 >gmake[3]: Leaving directory >`/usr/src/postgresql-7.0.3/src/interfaces/ecpg/prepr >oc' >gmake[2]: *** [all] Error 2 >gmake[2]: Leaving directory `/usr/src/postgresql-7.0.3/src/interfaces/ecpg' >gmake[1]: *** [all] Error 2 >gmake[1]: Leaving directory `/usr/src/postgresql-7.0.3/src/interfaces' >gmake: *** [all] Error 2 ># Ok! I've solved this problem too. I've modified the include/port/sco.h in #ifndef NOFILE #define NOFILE NOFILES_MIN #endif #ifndef __GNUC__ #define DISABLE_COMPLEX_MACRO #endif #define USE_POSIX_TIME #define NO_EMPTY_STMTS #define SYSV_DIRENT #define HAS_TEST_AND_SET #define NEED_I386_TAS_ASM #define USE_UNIVEL_CC typedef unsigned char slock_t; /*************************************************************** * The following include will get the needed prototype for the * strcasecmp() function. ***************************************************************/ #include <strings.h> #ifdef __GNUC__ #include <stdarg.h> #include <netinet/in.h> #endif #ifndef BIG_ENDIAN #define BIG_ENDIAN 4321 #endif #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN 1234 #endif #ifndef PDP_ENDIAN #define PDP_ENDIAN 3412 #endif #ifndef BYTE_ORDER #define BYTE_ORDER LITTLE_ENDIAN #endif Postgres compile clean with this. GCC is a very good compiler and generate a very fast code compared with the standard SCO compiler. If anyone is interested can get it at http://ww.tekno-soft.it/Files/PostgreSQL-7.0.3/SCO/postgresql-7.0.3-sco5.tgz it's ~1Mb. Roberto Fichera.
Helo *, Being new here, please forgive me if ... I've just got PostgreSQL 7.0.2 under MS W2000 (Pro or Server) working with the cygwin 1.1.4 package. I've restored a dump from our production database (running under Debian GNU/Linux) and began testing with a 60Mb database : Everything seems ok So ... I was wondering : Is an installation of PostgreSQL 7.0.2 under MS W2000 considered to be "production quality" ? pros & cons please tell why ;oD Thanx alot Best regards, -- Cordialement, ... and please vote for us at http://www.flashfilmfestival.com/ ;o) www.salomonski.com ( « Design » & « Business » ) www.salomoninline.com ( « Motion Graphics » ) Gérald de Roany MegaloStudio interactive - 04.50.08.08.80 - http://www.megalostudio.com