[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgis-users
Subject:    Re: [postgis-users] Compile problem on solaris11: Undefined symbol - isfinite
From:       Phillip Ross <phillip.w.g.ross+postgis-users () gmail ! com>
Date:       2014-03-10 17:16:08
Message-ID: CAKcj57B5vKA2wHEU2pGLz61PRM83T__seMqNdwemr8aA2SuTJQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I don't know for sure if the standard C library on Solaris has the
"isfinite" macro or not.  When I grepped around header files on solaris, I
found the following references (though I don't know if they're relevant or
not):

gcc/4.5/include/c++/4.5.2/tr1_impl/cmath:  using std::isfinite;
gcc/4.5/include/c++/4.5.2/cmath:#undef isfinite
gcc/4.5/include/c++/4.5.2/cmath:    isfinite(_Tp __f)
gcc/4.5/include/c++/4.5.2/cmath:      return
__builtin_isfinite(__type(__f));

include/iso/math_c99.h:#undef   isfinite
include/iso/math_c99.h:#define  isfinite(x)     __extension__( \
include/iso/math_c99.h:                 { __typeof(x) __x_r = (x);
isfinite(__x_r) && \
include/iso/math_c99.h:#undef   isfinite
include/iso/math_c99.h:#define  isfinite(x)     __builtin_isfinite(x)

And if I query the manpages I find the following (and I hope I'm not
violating any ORCL copyright agreements by pasting this:

Mathematical Library Functions                       isfinite(3M)
NAME
     isfinite - test for finite value
SYNOPSIS
     c99 [ flag... ] file... -lm [ library... ]
     #include <math.h>
     int isfinite(real-floating x);
DESCRIPTION
     The isfinite() macro determines whether its argument  has  a
     finite  value  (zero, subnormal, or normal, and not infinite
     or NaN). First, an argument represented in  a  format  wider
     than  its  semantic  type is converted to its semantic type.
     Then determination is based on the type of the argument.
RETURN VALUES
     The isfinite() macro returns a non-zero value if and only if
     its argument has a finite value.

And also... GEOS does compile, and I'm using geos 3.4.2 for this.

Thanks for your continued help!


On Mon, Mar 10, 2014 at 5:06 AM, Sandro Santilli <strk@keybit.net> wrote:

> On Fri, Mar 07, 2014 at 03:42:23PM -0500, Phillip Ross wrote:
> > Hello,
> >
> > I continue to attempt to get postgis 2.1.1 built on Solaris 11.1, but I
> run
> > into problems during the linking stage for raster2pgsql.
> >
> > The following error occurs:
> >
> > libtool: link: gcc -m64 -fPIC -DPIC -Wall -Wmissing-prototypes
> -I../rt_core
> > -I../../liblwgeom -I/export/home/pgsql/pgsql/include
> > -I/export/home/pgsql/pgsql-9.3.3/include
> > -I/export/home/pgsql/pgsql-9.3.3/include raster2pgsql.o -m64 -o
> > .libs/raster2pgsql  ../rt_core/librtcore.a
> > ../../liblwgeom/.libs/liblwgeom.so -L/export/home/pgsql/pgsql-9.3.3/lib
> > -L/export/home/pgsql/pgsql/lib
> > /export/home/pgsql/pgsql-9.3.3/lib/libproj.so
> > /export/home/pgsql/pgsql-9.3.3/lib/libjson-c.so
> > /export/home/pgsql/pgsql-9.3.3/lib/libgdal.so -L/usr/lib -lsqlite3
> -lexpat
> > -ljpeg -lpng -lpq -lpthread -lrt -ldl -lcurl -lidn -lsldap -lldap
> -lsocket
> > -lnsl -lgss -lssl -lcrypto -lz -lxml2
> > /export/home/pgsql/pgsql-9.3.3/lib/libgeos_c.so
> > /export/home/pgsql/pgsql-9.3.3/lib/libgeos.so -lc -lm
> > -R/export/home/pgsql/pgsql/lib -R/export/home/pgsql/pgsql-9.3.3/lib
> >
> > Undefined                       first referenced
> >  symbol                             in file
> > isfinite                            ../../liblwgeom/.libs/liblwgeom.so
> > ld: fatal: symbol referencing errors. No output written to
> > .libs/raster2pgsql
> > collect2: ld returned 1 exit status
> > gmake[2]: *** [raster2pgsql] Error 1
> >
> > I found a similar problem report here:
> >
> http://lists.osgeo.org/pipermail/postgis-tickets/2013-November/003188.html
> >
> > As an expirement, I attempted the workaround listed there even though the
> > report is for RHEL5, but it doesn't workaround the problem on Solaris
> 11.1
> >
> > Does anyone have any insight or suggestions of how to work around this
> > problem on Solaris?
>
> Does the standard C library on Solaris have "isfinite" macro ?
> grep HAVE_ISFINITE postgis_config.h
> Does it have "finite" ?
> With GEOS we use our own macro for that. Does GEOS compile ?
>
> --strk;
> _______________________________________________
> postgis-users mailing list
> postgis-users@lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>

[Attachment #5 (text/html)]

<div dir="ltr"><div>I don&#39;t know for sure if the standard C library on Solaris \
has the &quot;isfinite&quot; macro or not.  When I grepped around header files on \
solaris, I found the following references (though I don&#39;t know if they&#39;re \
relevant or not):</div> <br>gcc/4.5/include/c++/4.5.2/tr1_impl/cmath:  using \
std::isfinite;<br>gcc/4.5/include/c++/4.5.2/cmath:#undef \
isfinite<br>gcc/4.5/include/c++/4.5.2/cmath:    isfinite(_Tp \
__f)<br>gcc/4.5/include/c++/4.5.2/cmath:      return \
__builtin_isfinite(__type(__f));<br> <br><div>include/iso/math_c99.h:#undef   \
isfinite<br>include/iso/math_c99.h:#define  isfinite(x)     __extension__( \
\<br>include/iso/math_c99.h:                 { __typeof(x) __x_r = (x); \
isfinite(__x_r) &amp;&amp; \<br>include/iso/math_c99.h:#undef   isfinite<br> \
include/iso/math_c99.h:#define  isfinite(x)     \
__builtin_isfinite(x)</div><div><br></div><div>And if I query the manpages I find the \
following (and I hope I&#39;m not violating any ORCL copyright agreements by pasting \
this:</div> <div><br></div>Mathematical Library Functions                       \
isfinite(3M)<br>NAME<br>     isfinite - test for finite value<br>SYNOPSIS<br>     c99 \
[ flag... ] file... -lm [ library... ]<br>     #include &lt;math.h&gt;<br>  int \
isfinite(real-floating x);<br>DESCRIPTION<br>     The isfinite() macro determines \
whether its argument  has  a<br>     finite  value  (zero, subnormal, or normal, and \
not infinite<br>     or NaN). First, an argument represented in  a  format  wider<br> \
than  its  semantic  type is converted to its semantic type.<br>     Then \
determination is based on the type of the argument.<br>RETURN VALUES<br>     The \
isfinite() macro returns a non-zero value if and only if<br>     its argument has a \
finite value.<div> <br></div><div>And also... GEOS does compile, and I&#39;m using \
geos 3.4.2 for this.</div><div><br></div><div>Thanks for your continued \
help!</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, \
Mar 10, 2014 at 5:06 AM, Sandro Santilli <span dir="ltr">&lt;<a \
href="mailto:strk@keybit.net" target="_blank">strk@keybit.net</a>&gt;</span> \
wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex">On Fri, Mar 07, 2014 at 03:42:23PM -0500, Phillip Ross \
wrote:<br> &gt; Hello,<br>
&gt;<br>
&gt; I continue to attempt to get postgis 2.1.1 built on Solaris 11.1, but I run<br>
&gt; into problems during the linking stage for raster2pgsql.<br>
&gt;<br>
&gt; The following error occurs:<br>
&gt;<br>
&gt; libtool: link: gcc -m64 -fPIC -DPIC -Wall -Wmissing-prototypes -I../rt_core<br>
&gt; -I../../liblwgeom -I/export/home/pgsql/pgsql/include<br>
&gt; -I/export/home/pgsql/pgsql-9.3.3/include<br>
&gt; -I/export/home/pgsql/pgsql-9.3.3/include raster2pgsql.o -m64 -o<br>
&gt; .libs/raster2pgsql  ../rt_core/librtcore.a<br>
&gt; ../../liblwgeom/.libs/liblwgeom.so -L/export/home/pgsql/pgsql-9.3.3/lib<br>
&gt; -L/export/home/pgsql/pgsql/lib<br>
&gt; /export/home/pgsql/pgsql-9.3.3/lib/libproj.so<br>
&gt; /export/home/pgsql/pgsql-9.3.3/lib/libjson-c.so<br>
&gt; /export/home/pgsql/pgsql-9.3.3/lib/libgdal.so -L/usr/lib -lsqlite3 -lexpat<br>
&gt; -ljpeg -lpng -lpq -lpthread -lrt -ldl -lcurl -lidn -lsldap -lldap -lsocket<br>
&gt; -lnsl -lgss -lssl -lcrypto -lz -lxml2<br>
&gt; /export/home/pgsql/pgsql-9.3.3/lib/libgeos_c.so<br>
&gt; /export/home/pgsql/pgsql-9.3.3/lib/libgeos.so -lc -lm<br>
&gt; -R/export/home/pgsql/pgsql/lib -R/export/home/pgsql/pgsql-9.3.3/lib<br>
&gt;<br>
&gt; Undefined                       first referenced<br>
&gt;  symbol                             in file<br>
&gt; isfinite                            ../../liblwgeom/.libs/liblwgeom.so<br>
&gt; ld: fatal: symbol referencing errors. No output written to<br>
&gt; .libs/raster2pgsql<br>
&gt; collect2: ld returned 1 exit status<br>
&gt; gmake[2]: *** [raster2pgsql] Error 1<br>
&gt;<br>
&gt; I found a similar problem report here:<br>
&gt; <a href="http://lists.osgeo.org/pipermail/postgis-tickets/2013-November/003188.html" \
target="_blank">http://lists.osgeo.org/pipermail/postgis-tickets/2013-November/003188.html</a><br>
 &gt;<br>
&gt; As an expirement, I attempted the workaround listed there even though the<br>
&gt; report is for RHEL5, but it doesn&#39;t workaround the problem on Solaris \
11.1<br> &gt;<br>
&gt; Does anyone have any insight or suggestions of how to work around this<br>
&gt; problem on Solaris?<br>
<br>
Does the standard C library on Solaris have &quot;isfinite&quot; macro ?<br>
grep HAVE_ISFINITE postgis_config.h<br>
Does it have &quot;finite&quot; ?<br>
With GEOS we use our own macro for that. Does GEOS compile ?<br>
<br>
--strk;<br>
_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" \
target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a><br> \
</blockquote></div><br></div>



_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic