mason icon indicating copy to clipboard operation
mason copied to clipboard

Several static libraries are leaking symbols

Open tmpsantos opened this issue 8 years ago • 1 comments

Several of our static libraries are leaking symbols because we don't set the default visibility to hidden when building them. This is a problem because it can clash with system symbols when building Mapbox GL Native as a shared library. To some that I identified:

  • OpenSSL
  • libpng
  • sqlite
  • libuv
  • boost
  • geojson

Alternatively we could maintain an export symbol list on Mapbox GL Native.

/cc @kkaefer @springmeyer

tmpsantos avatar Jul 25 '16 10:07 tmpsantos

Alternatively we could maintain an export symbol list on Mapbox GL Native.

Seems like this is the most failsafe and easily maintainable solution. But I'm certainly interested in trying to hide symbols in these packages at build time. The work needed would be to ensure that all packages support -fvisibility=hidden. Our geojson package does not yet, but the others should.

springmeyer avatar Aug 02 '16 19:08 springmeyer