errors with 8.1 make on Solaris

Started by J. Baggover 20 years ago6 messagesgeneral
Jump to latest
#1J. Bagg
j.bagg@kent.ac.uk

I'm getting errors at the make stage for 8.1.0 on Solaris 8 despite
configure looking ok. A similar issue was reported with 8.0.3 on Solaris 10
but there didn't seem to be a resolution.
http://archives.postgresql.org/pgsql-admin/2005-09/msg00029.php
make in this instance is gmake.

utils/SUBSYS.o: In function `is_infinite':
: undefined reference to `isinf'
utils/SUBSYS.o: In function `float4in':
: undefined reference to `isinf'
utils/SUBSYS.o: In function `float8in':
: undefined reference to `isinf'
collect2: ld returned 1 exit status
make[2]: *** [postgres] Error 1

./configure --with-python --with-includes=/usr/local/include

Target: sparc-sun-solaris2.8
Configured with: ../configure --cache-file=./config.cache
--srcdir=/d1/ltmp/openpkg-bf/rm8-sparc64-solaris8/TMP/gcc-4.0.2/obj/..
--prefix=/openpkg --exec-prefix =/openpkg --includedir=/openpkg/include/gcc
--libexecdir=/openpkg/libexec/gcc
--with-gxx-include-dir=/openpkg/include/g++
--with-local-prefix=/openpkg/lib/gcc --enable-languages=c,c++
--enable-threads=posix --disable-maintainer-mode --disable-shared
--disable-nls --with-gnu-ld --with-ld=/openpkg/bin/ld --with-gnu-as
--with-as=/openpkg/bin/as
Thread model: posix
gcc version 4.0.2 (OpenPKG-2.5)

Thanks for any help.

Janet Bagg, CSAC, Univ of Kent, UK

#2Martijn van Oosterhout
kleptog@svana.org
In reply to: J. Bagg (#1)
Re: errors with 8.1 make on Solaris

On Tue, Nov 29, 2005 at 07:53:52PM +0000, Janet Bagg wrote:

I'm getting errors at the make stage for 8.1.0 on Solaris 8 despite
configure looking ok. A similar issue was reported with 8.0.3 on Solaris 10
but there didn't seem to be a resolution.
http://archives.postgresql.org/pgsql-admin/2005-09/msg00029.php
make in this instance is gmake.

Obviously isinf() is missing. Is it a documented function on that
platform? Is there any indication which library it is in? It's
obviously not in libm.

Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/

Show quoted text

Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
tool for doing 5% of the work and then sitting around waiting for someone
else to do the other 95% so you can sue them.

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Martijn van Oosterhout (#2)
Re: errors with 8.1 make on Solaris

Martijn van Oosterhout <kleptog@svana.org> writes:

On Tue, Nov 29, 2005 at 07:53:52PM +0000, Janet Bagg wrote:

I'm getting errors at the make stage for 8.1.0 on Solaris 8 despite
configure looking ok.

Obviously isinf() is missing. Is it a documented function on that
platform? Is there any indication which library it is in? It's
obviously not in libm.

What's even odder is that configure makes a point of testing for isinf,
and we substitute our own routine if it's not there. There's a note
in configure.in about how it's a macro on some platforms, but it sure
looks like all the bases ought to be covered.

Look at the part of config.log for the test to see if isinf exists ---
maybe that will tell something useful.

regards, tom lane

#4Michael Fuhr
mike@fuhr.org
In reply to: Tom Lane (#3)
Re: errors with 8.1 make on Solaris

On Tue, Nov 29, 2005 at 03:45:00PM -0500, Tom Lane wrote:

Martijn van Oosterhout <kleptog@svana.org> writes:

Obviously isinf() is missing. Is it a documented function on that
platform? Is there any indication which library it is in? It's
obviously not in libm.

What's even odder is that configure makes a point of testing for isinf,
and we substitute our own routine if it's not there. There's a note
in configure.in about how it's a macro on some platforms, but it sure
looks like all the bases ought to be covered.

I wonder if this is a problem with gcc 4 on Solaris. The OP is
using Solaris 8/gcc 4.0.2 and the previous complaint involved
Solaris 10/gcc 4.0.0. My Solaris 9/gcc 3.4.2 box builds fine,
as does the Solaris 10/gcc 3.3.2 box buzzard in the buildfarm.

Here's what I get on Solaris 9/gcc 3.4.2 for the isinf check:

configure:14213: checking for isinf
configure:14235: gcc -o conftest [...]
conftest.c: In function `main':
conftest.c:101: warning: implicit declaration of function `isinf'
conftest.c:101: warning: unused variable `res'
Undefined first referenced
symbol in file
isinf /var/tmp//cckdOuCS.o
ld: fatal: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status
configure:14241: $? = 1
configure: failed program was:
[...]
configure:14266: result: no

--
Michael Fuhr

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Michael Fuhr (#4)
Re: errors with 8.1 make on Solaris

Michael Fuhr <mike@fuhr.org> writes:

I wonder if this is a problem with gcc 4 on Solaris. The OP is
using Solaris 8/gcc 4.0.2 and the previous complaint involved
Solaris 10/gcc 4.0.0. My Solaris 9/gcc 3.4.2 box builds fine,
as does the Solaris 10/gcc 3.3.2 box buzzard in the buildfarm.

Hmm ... I am suddenly reminded that gcc is fairly fragile about being
copied from one platform/version to another without care. Is it
possible that the gcc installations in use here were originally
generated on another Solaris release? If so they may contain private
copies of the system headers that don't match up with the current
platform. I've seen similar things happen on HPUX: gcc built on 11.11
just does not work very well on 11.23.

On a default HPUX build you can look into /usr/local/lib/gcc-lib/ to
discern what the compiler was actually built on; not sure if the
equivalent directories are kept in the same place on Solaris.

regards, tom lane

#6Michael Fuhr
mike@fuhr.org
In reply to: Tom Lane (#5)
Re: errors with 8.1 make on Solaris

On Tue, Nov 29, 2005 at 04:16:53PM -0500, Tom Lane wrote:

On a default HPUX build you can look into /usr/local/lib/gcc-lib/ to
discern what the compiler was actually built on; not sure if the
equivalent directories are kept in the same place on Solaris.

The equivalent on my box is /usr/local/lib/gcc/sparc-sun-solaris2.9.

--
Michael Fuhr