Discussion:
GNUmakefile size 0
(too old to reply)
Laurens Wagemakers
2004-05-13 07:23:50 UTC
Permalink
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

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ***@postgresql.org so that your
message can get through to the mailing list cleanly
Tom Lane
2004-05-13 14:03:32 UTC
Permalink
[ configure generated a zero-size GNUmakefile ]
configure: warning: TCL/TK support disabled; tcl shell is not in your path
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

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html
Laurens Wagemakers
2004-05-13 14:19:36 UTC
Permalink
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:***@sss.pgh.pa.us]
Sent: Thursday, May 13, 2004 4:04 PM
To: Laurens Wagemakers
Cc: 'pgsql-***@postgresql.org'
Subject: Re: [ADMIN] GNUmakefile size 0
[ configure generated a zero-size GNUmakefile ]
configure: warning: TCL/TK support disabled; tcl shell is not in your path
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

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ***@postgresql.org)
Tom Lane
2004-05-13 14:43:07 UTC
Permalink
Post by Laurens Wagemakers
So know I'm compiling 7.1.3 on Solaris as stated in my other mail however
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

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
Andrew Sullivan
2004-05-18 13:44:21 UTC
Permalink
Post by Laurens Wagemakers
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 | ***@crankycanuck.ca

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org
Laurens Wagemakers
2004-05-13 15:15:16 UTC
Permalink
#ifdef __STDC__
extern int accept(int, struct sockaddr *, Psocklen_t);

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

Regards,

Laurens


-----Original Message-----
From: Tom Lane [mailto:***@sss.pgh.pa.us]
Sent: Thursday, May 13, 2004 4:43 PM
To: Laurens Wagemakers
Cc: 'pgsql-***@postgresql.org'
Subject: Re: [ADMIN] GNUmakefile size 0
Post by Laurens Wagemakers
So know I'm compiling 7.1.3 on Solaris as stated in my other mail however
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

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org
Tom Lane
2004-05-13 15:19:11 UTC
Permalink
Post by Laurens Wagemakers
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

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html
Laurens Wagemakers
2004-05-14 09:41:30 UTC
Permalink
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:***@sss.pgh.pa.us]
Sent: Thursday, May 13, 2004 5:19 PM
To: Laurens Wagemakers
Cc: 'pgsql-***@postgresql.org'
Subject: Re: [ADMIN] GNUmakefile size 0
Post by Laurens Wagemakers
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

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
Loading...