Thread: errors with 8.1 make on Solaris
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
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
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
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
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
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