[gdal-dev] Preventing symbol export in custom GDAL build

Kai Pastor, DG0YT dg0yt at darc.de
Thu Dec 11 00:43:46 PST 2025


The proper fix is modifying libspatialite IMO.
Please confirm if there is an issue with libcurl.
I do not like to see uncertainty being made public and fixes being made 
private.

Kai

Am 10.12.25 um 20:10 schrieb David Klaus:
> All,
>
> Thank you for the suggestions. And to clarify: yes this is an MSVC 
> build so -fvisibility=hidden is not an option. I am currently 
> investigating adding a def file to curate the symbols exported by the 
> gdal dll. I removed the decorated symbols and built. The resulting dll 
> still reports the decorated symbols, but I'm hopeful that this is 
> expected behavior. I'm going to attempt to remove the libspatialite 
> symbols from the def file and rebuild,
>
> On Wed, Dec 10, 2025 at 1:06 PM Kai Pastor, DG0YT via gdal-dev 
> <gdal-dev at lists.osgeo.org> wrote:
>
>     In vcpkg, x64-windows means MSVC.
>
>     And even in the visibility world, you can find libs that get it
>     wrong when the attention is exclusively on shared libs.
>     (Studying the proposed libspatialite patch, I believe I spotted
>     different defaults for visibility in different chunks. Needs more
>     investigation...)
>
>     Am 10.12.25 um 19:02 schrieb Andrew Bell:
>>
>>
>>     On Wed, Dec 10, 2025 at 12:55 PM Kai Pastor, DG0YT via gdal-dev
>>     <gdal-dev at lists.osgeo.org> wrote:
>>
>>         Am 10.12.25 um 17:09 schrieb Andrew Bell via gdal-dev:
>>>         Hi,
>>>
>>>         All symbols that aren't specifically exported should be
>>>         hidden if when you build the flag "-fvisibility=hidden" is
>>>         set. See cmake/helpers/configure.cmake.
>>
>>         I don't think this will help with MSVC and its dllexport
>>         declarations.
>>
>>
>>     I don't know that this is MSVC. I thought it was a GCC build on
>>     Windows, but regardless, things are essentially the same (on
>>     Windows you *must* export all the symbols you want visible). I
>>     don't know spatialite, but there should be some sort of DLL
>>     marker (like CPL_DLL in GDAL) that can be turned off when
>>     building a static library that you then link into GDAL.
>>
>>     This may be helpful:
>>
>>     https://gcc.gnu.org/wiki/Visibility
>>
>>     -- 
>>     Andrew Bell
>>     andrew.bell.ia at gmail.com
>
>
>     _______________________________________________
>     gdal-dev mailing list
>     gdal-dev at lists.osgeo.org
>     https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
> -- 
> David Klaus
> Carlson Software
>
>
> *Disclaimer*
>
> The information contained in this communication from the sender is 
> confidential. It is intended solely for use by the recipient and 
> others authorized to receive it. If you are not the recipient, you are 
> hereby notified that any disclosure, copying, distribution or taking 
> action in relation of the contents of this information is strictly 
> prohibited and may be unlawful.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20251211/32763cb8/attachment.htm>


More information about the gdal-dev mailing list