Обсуждение: GNUmakefile size 0

Поиск
Список
Период
Сортировка

GNUmakefile size 0

От
Laurens Wagemakers
Дата:
Hello all,

Rather new on Postgresql so maybe it's simple to solve this:

Machine: Solaris 9 32 bits
Gnumake: 3.80
Gcc: 3.3.2
Postgresql: 7.0.1 (need old version for compatibility)

Downloaded and extracted it.
in src directory
./configure
gmake

Then nothing happens GNUmakefile size is 0

Did I forget something, a path, library path ?

More info below,

Regards,

Laurens Wagemakers
Sys Admin Truston


./configure delivered following error signals:
configure: warning: TCL/TK support disabled; tcl shell is not in your path
sed: command garbled: s%@CC_VERSION@%gcc (GCC) 3.3.2 (several times)

The following lines returned no:
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether gcc needs -traditional... no
checking for etags... no
checking for bison... no
checking for main in -lsfio... no
checking for main in -lncurses... no
checking for main in -lreadline... no
checking for using_history in -lreadline... no
checking for main in -lhistory... no
checking for main in -lbsd... no
checking for main in -lutil... no
checking for main in -lipc... no
checking for main in -lIPC... no
checking for main in -llc... no
checking for main in -ldld... no
checking for main in -lln... no
checking for main in -lld... no
checking for main in -lcompat... no
checking for main in -lBSD... no
checking for main in -lPW... no
checking for dld.h... no
checking for endian.h... no
checking for fp_class.h... no
checking for getopt.h... no
checking for history.h... no
checking for readline.h... no
checking for readline/history.h... no
checking for readline/readline.h... no
checking for tm_zone in struct tm... no
checking for union semun... no
checking for fcntl(F_SETLK)... no
checking for fp_class... no
checking for fp_class_d... no
checking for class... no
checking for isinf... no
checking for inet_aton... no
checking for filename_completion_function... no
checking for getopt_long... no
checking whether 'long int' is 64 bits... no
checking for tclsh... no
checking for tcl... no

At the end the following new files were generated:
-rw-r--r--   1 oracle   oinstall   29956 May 13 09:03 config.log
-rw-r--r--   1 oracle   oinstall    6581 May 13 09:03 config.cache
-rwxr-xr-x   1 oracle   oinstall   26446 May 13 09:03 config.status
-rw-r--r--   1 oracle   oinstall       0 May 13 09:03 GNUmakefile
-rw-r--r--   1 oracle   oinstall       0 May 13 09:03 Makefile.global
drwxr-xr-x  19 oracle   oinstall    1286 May 13 09:03 include
lrwxrwxrwx   1 oracle   oinstall      34 May 13 09:03 Makefile.port ->
./makefil
es/Makefile.solaris_sparc
-rw-r--r--   1 oracle   oinstall    6918 May 13 09:03 configure.log

Re: GNUmakefile size 0

От
Tom Lane
Дата:
Laurens Wagemakers <l.wagemakers@truston.com> writes:
> [ configure generated a zero-size GNUmakefile ]

> ./configure delivered following error signals:
> configure: warning: TCL/TK support disabled; tcl shell is not in your path
> sed: command garbled: s%@CC_VERSION@%gcc (GCC) 3.3.2 (several times)

I think the latter is the issue.  My recollection is that PG 7.0's
configure only expects "gcc --version" to produce a single line of
version info, but recent versions of gcc are more verbose than that.
This leads to a sed script that sed doesn't like, leading to no sed
output into GNUmakefile.

You'll need to hack the configure script to truncate gcc's output to one
line.  In CVS tip the relevant bit of the script looks like

# Create compiler version string
if test x"$GCC" = x"yes" ; then
  cc_string="GCC `${CC} --version | sed q`"
else
  cc_string=$CC
fi

BTW, there is a *very* long list of reasons not to run PG 7.0 anymore;
I think you should take a harder look at upgrading whatever it is you
think needs it.

            regards, tom lane

Re: GNUmakefile size 0

От
Laurens Wagemakers
Дата:
Hai Tom,

I just talked to the developers and we can use 7.1 now.

So know I'm compiling 7.1.3 on Solaris as stated in my other mail however
when I run ./configure I get:

Checking types of arguments for accept()...
configure: error: could not > determine argument types)

Regards,

Laurens

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, May 13, 2004 4:04 PM
To: Laurens Wagemakers
Cc: 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] GNUmakefile size 0


Laurens Wagemakers <l.wagemakers@truston.com> writes:
> [ configure generated a zero-size GNUmakefile ]

> ./configure delivered following error signals:
> configure: warning: TCL/TK support disabled; tcl shell is not in your path
> sed: command garbled: s%@CC_VERSION@%gcc (GCC) 3.3.2 (several times)

I think the latter is the issue.  My recollection is that PG 7.0's
configure only expects "gcc --version" to produce a single line of
version info, but recent versions of gcc are more verbose than that.
This leads to a sed script that sed doesn't like, leading to no sed
output into GNUmakefile.

You'll need to hack the configure script to truncate gcc's output to one
line.  In CVS tip the relevant bit of the script looks like

# Create compiler version string
if test x"$GCC" = x"yes" ; then
  cc_string="GCC `${CC} --version | sed q`"
else
  cc_string=$CC
fi

BTW, there is a *very* long list of reasons not to run PG 7.0 anymore;
I think you should take a harder look at upgrading whatever it is you
think needs it.

            regards, tom lane

Re: GNUmakefile size 0

От
Tom Lane
Дата:
Laurens Wagemakers <l.wagemakers@truston.com> writes:
> So know I'm compiling 7.1.3 on Solaris as stated in my other mail however
> when I run ./configure I get:

> Checking types of arguments for accept()...
> configure: error: could not > determine argument types)

Hmph.  AFAICS we haven't changed that configure test since 7.1; so given
the lack of complaints, I'd expect it to work.  How exactly do your
system headers define accept(), anyway?

            regards, tom lane

Re: GNUmakefile size 0

От
Laurens Wagemakers
Дата:
#ifdef  __STDC__
extern int accept(int, struct sockaddr *, Psocklen_t);

#else   /* __STDC__ */
extern int accept();

Regards,

Laurens


-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, May 13, 2004 4:43 PM
To: Laurens Wagemakers
Cc: 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] GNUmakefile size 0


Laurens Wagemakers <l.wagemakers@truston.com> writes:
> So know I'm compiling 7.1.3 on Solaris as stated in my other mail however
> when I run ./configure I get:

> Checking types of arguments for accept()...
> configure: error: could not > determine argument types)

Hmph.  AFAICS we haven't changed that configure test since 7.1; so given
the lack of complaints, I'd expect it to work.  How exactly do your
system headers define accept(), anyway?

            regards, tom lane

Re: GNUmakefile size 0

От
Tom Lane
Дата:
Laurens Wagemakers <l.wagemakers@truston.com> writes:
> extern int accept(int, struct sockaddr *, Psocklen_t);

Hmm.  The comments in configure have

# Solaris 7 and 8 have arg3 as 'void *' (disguised as 'Psocklen_t'
# which is *not* 'socklen_t *').  If we detect that, then we assume
# 'int' as the result, because that ought to work best.

So what is Psocklen_t now?

            regards, tom lane

Re: GNUmakefile size 0

От
Laurens Wagemakers
Дата:
Hai Tom,

Your answer on my 7.0 version solved it I changed configure:

# Create compiler version string
if test x"$GCC" = x"yes" ; then
!  cc_string="GCC `${CC} --version`"
else
  cc_string=$CC
fi
cat >> confdefs.h <<EOF
#define PG_VERSION_STR "PostgreSQL $VERSION on $host, compiled by $ccstring"
EOF

Line 3 (actually line 1620) Changed to

! cc_string="GCC `${CC} --version|head -1`"

And I got I compiled.

Thx.

Laurens
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, May 13, 2004 5:19 PM
To: Laurens Wagemakers
Cc: 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] GNUmakefile size 0


Laurens Wagemakers <l.wagemakers@truston.com> writes:
> extern int accept(int, struct sockaddr *, Psocklen_t);

Hmm.  The comments in configure have

# Solaris 7 and 8 have arg3 as 'void *' (disguised as 'Psocklen_t'
# which is *not* 'socklen_t *').  If we detect that, then we assume
# 'int' as the result, because that ought to work best.

So what is Psocklen_t now?

            regards, tom lane

Re: GNUmakefile size 0

От
Andrew Sullivan
Дата:
On Thu, May 13, 2004 at 04:19:36PM +0200, Laurens Wagemakers wrote:
> Hai Tom,
>
> I just talked to the developers and we can use 7.1 now.

I'd still counsel you very strongly to upgrade somewhat higher.
There are an awful lot of bugs from those days.  But in any case, you
might want to grovel through recentish archives (last 3 months or so)
for a post from Chris Browne.  He posted a workaround for configure
woes on Sol 8, and I bet it'll work for 9 also.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca