mingw64 built pg_sphere not loadable in VC++ PostgreSQL builds - double_to_shortest_decimal_buf

From: "Regina Obe" <lr(at)pcorp(dot)us>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: mingw64 built pg_sphere not loadable in VC++ PostgreSQL builds - double_to_shortest_decimal_buf
Date: 2024-10-14 05:16:54
Message-ID: 000001db1df8$49765bb0$dc631310$@pcorp.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I'm not sure what the issue is here exactly, if it's a bug in Meson VC++ or
something in pgSphere code.

I've managed to build pg_sphere binaries under mingw64 and load them and
regress fine In PostgreSQL EDB VC++ for versions 14-16.

However when I tried PG17, the create extension pg_sphere fails with

pg_sphere.dll: The specified procedure could not be found.

failed , but works perfectly fine under mingw64

As I documented here - https://github.com/postgrespro/pgsphere/issues/130

I narrowed down the issue to this call:

https://github.com/postgrespro/pgsphere/blob/master/src/output.c#L163

Is there any reason why the VC++ built PostgreSQL wouldn't be exporting the
double_to_shortest_decimal_buf function?

I would think referencing

#include "common/shortest_dec.h"

As noted here
https://github.com/postgrespro/pgsphere/blob/master/src/output.c#L5C1-L5C33
should be sufficient.

I should note I've built postgis, pgrouting, mobilitydb, http, ogr_fdw
extensions under mingw64 and been able to use them and regress fine under
PostgreSQL EDB 17 VC++ but none of those extensions are using the
double_to_shortest_decimal_buf function

Thanks,
Reigna

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2024-10-14 06:00:02 Re: Using per-transaction memory contexts for storing decoded tuples
Previous Message Amit Kapila 2024-10-14 04:27:46 Re: Enhance create subscription reference manual