Thread: are there any cons to linking libstdc++ with postgresql?

are there any cons to linking libstdc++ with postgresql?

From
Palle Girgensohn
Date:
Hi!

I'm not a linking guru... Is there a penalty for setting LDFLAGS+= -lstdc++ 
when building postgresql?

> Postgis includes a bunch of useful functions for manipulating spatial
> data. Some of them are provided by geos, a separate c++ library, with
> postgis providing wrappers.
>
> According to postgis docs, postgresql _must_ be configured with LDFLAGS
> containing -lstdc++ for this to work. I can confirm this.
>
> The postgis port provides the WITH_GEOS tunable, but it has no effect
> unless the above adjustment is made to postgresql. The port makes no
> mention of this. Is there a penalty in just leaving
>  LDFLAGS+= -lstdc++
> in the postgresql port Makefile? Bad idea? What do you think?

/Palle



Re: are there any cons to linking libstdc++ with postgresql?

From
Tom Lane
Date:
Palle Girgensohn <girgen@pingpong.net> writes:
>> Is there a penalty in just leaving
>> LDFLAGS+= -lstdc++
>> in the postgresql port Makefile? Bad idea?

Yup.  The portability hazards are considerable.  I'm a bit surprised the
postgis guys seem to think it works.
        regards, tom lane


Re: are there any cons to linking libstdc++ with

From
Palle Girgensohn
Date:
Does the same arguments apply for linking with libc_r (pthreads)?

It is needed by plpython, at least on FreeBSD 4.10 (probably all versions).

/Palle

--On onsdag, november 17, 2004 20.49.20 -0500 Tom Lane <tgl@sss.pgh.pa.us> 
wrote:

> Palle Girgensohn <girgen@pingpong.net> writes:
>>> Is there a penalty in just leaving
>>> LDFLAGS+= -lstdc++
>>> in the postgresql port Makefile? Bad idea?
>
> Yup.  The portability hazards are considerable.  I'm a bit surprised the
> postgis guys seem to think it works.
>
>             regards, tom lane






Re: are there any cons to linking libstdc++ with

From
Vsevolod Lobko
Date:
On Thu, Nov 18, 2004 at 04:17:31AM +0100, Palle Girgensohn wrote:
> Does the same arguments apply for linking with libc_r (pthreads)?
> 
> It is needed by plpython, at least on FreeBSD 4.10 (probably all versions).

There are problem with libc_r on FreeBSD: due to initializing 
of red zone for initial thread's stack, postgresql stack gets limited 
to just 1M. 

There are patch in queue for increasing initial stack to 8/32/xxxM, but 
official reaction was: "create new thread with right stack size and use 
it for main loop"


Re: are there any cons to linking libstdc++ with postgresql?

From
Reini Urban
Date:
Palle Girgensohn schrieb:
> I'm not a linking guru... Is there a penalty for setting LDFLAGS+= 
> -lstdc++ when building postgresql?
> 
>> Postgis includes a bunch of useful functions for manipulating spatial
>> data. Some of them are provided by geos, a separate c++ library, with
>> postgis providing wrappers.
>>
>> According to postgis docs, postgresql _must_ be configured with LDFLAGS
>> containing -lstdc++ for this to work. I can confirm this.
>>
>> The postgis port provides the WITH_GEOS tunable, but it has no effect
>> unless the above adjustment is made to postgresql. The port makes no
>> mention of this. Is there a penalty in just leaving
>>  LDFLAGS+= -lstdc++
>> in the postgresql port Makefile? Bad idea? What do you think?

I'd rather use a libgeos wrapper using just extern "C" entry points,
not the C++ mangled entries.

Haven't checked yet how much trouble this may cause on geos, and if it 
will work with the exceptions. And if a simple .def with aliases would 
be enough. libgeos is huge.
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/