Re: using libjansson in postgres extension

Поиск
Список
Период
Сортировка
От Gurjeet Singh
Тема Re: using libjansson in postgres extension
Дата
Msg-id CABwTF4U7ZYdnt8SvrvCEgR+92sAsqQj+pwSNX_L3b5wUZWFvnw@mail.gmail.com
обсуждение исходный текст
Ответ на using libjansson in postgres extension  (mahendrakar s <mahendrakarforpg@gmail.com>)
Список pgsql-novice
On Thu, Feb 23, 2023 at 5:39 AM mahendrakar s
<mahendrakarforpg@gmail.com> wrote:
> I'm developing an extension where in it indirectly references (libjansson) and libjansson has a symbol json_object
whichconflicts with postgres  symbol 'json_object'.
 
>
> I see below:
> PostgreSQL: Documentation: 11: 38.10. C-Language Functions
> "Symbol names defined within object files must not conflict with each other or with symbols defined in the PostgreSQL
serverexecutable. 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.

I don't think that'll be possible. The docs are pretty clear, and I'm
afraid any proposal to change Postgres function's name will not be
welcome.

Perhaps you can perform surgery on your library _after_ linking, to
remove any exports of the symbol json_object. See [1] for some ideas.
This will allow you to keep using libjansson code without
modifications, but it will require some post-build complexity, with
platform-specific solutions.

[1]: https://stackoverflow.com/questions/9648655/how-to-hide-the-exported-symbols-name-within-a-shared-library

Best regards,
Gurjeet
http://Gurje.et



В списке pgsql-novice по дате отправления:

Предыдущее
От: mahendrakar s
Дата:
Сообщение: Re: using libjansson in postgres extension
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: using libjansson in postgres extension