Re: using libjansson in postgres extension

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: mahendrakar s <mahendrakarforpg(at)gmail(dot)com>, pgsql-novice <pgsql-novice(at)lists(dot)postgresql(dot)org>
Subject: Re: using libjansson in postgres extension
Date: 2023-02-25 15:54:52
Message-ID: 8a05330d-6260-2375-9284-38ed7e500052@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice


On 2023-02-23 Th 20:59, mahendrakar s wrote:
>
> On Thu, 23 Feb 2023 at 19:08, mahendrakar s
> <mahendrakarforpg(at)gmail(dot)com> wrote:
>
> Hello Hackers,
>
> I'm developing an extension where in it indirectly references
> (libjansson) and libjansson has a symbol json_object
> <https://github.com/akheron/jansson/blob/master/src/load.c#:~:text=json_t%20*object%20%3D%20json_object()%3B>which
> conflicts with postgres  symbol 'json_object
> <https://github.com/postgres/postgres/blob/master/src/backend/utils/adt/json.c#:~:text=json_object(PG_FUNCTION_ARGS)>'.
>
> I see below:
> PostgreSQL: Documentation: 11: 38.10. C-Language Functions
> <https://www.postgresql.org/docs/11/xfunc-c.html#id-1.8.3.13.8>
> "Symbol names defined within object files must not conflict with
> each other or with symbols defined in the PostgreSQL server
> executable. You will have to rename your functions or variables if
> you get error messages to this effect."
>
> But this requires to maintain libjansson with customizations(have
> a different symbol) to meet the needs.
>
> Do you have any suggestions to use the libjansson 'as it is'
> without using the different symbol.
>
>

No. AFAICT you will have to create a fork of the library as the
documentation suggests.

cheers

andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Natalie Clapp 2023-03-20 02:58:35 PgAdmin Lapse
Previous Message Gurjeet Singh 2023-02-24 07:30:40 Re: using libjansson in postgres extension