Thread: errors with 8.1 make on Solaris

errors with 8.1 make on Solaris

From
Janet Bagg
Date:
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


Re: errors with 8.1 make on Solaris

From
Martijn van Oosterhout
Date:
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/
> 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.

Attachment

Re: errors with 8.1 make on Solaris

From
Tom Lane
Date:
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

Re: errors with 8.1 make on Solaris

From
Michael Fuhr
Date:
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

Re: errors with 8.1 make on Solaris

From
Tom Lane
Date:
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

Re: errors with 8.1 make on Solaris

From
Michael Fuhr
Date:
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