Re: Building and using shared libraries using gccgo
Paul Wise wrote:
>On Tue, Feb 5, 2013 at 7:14 AM, Michael Stapelberg wrote:
>> Assuming we ship Go libraries compiled as shared libraries, where do we
>> get the SONAME from? There is no mechanism for Go libraries to declare
>> an ABI break. Inventing one and asking all upstream projects to adopt it
>> seems unlikely to succeed. Ignoring SONAMEs altogether could make
>> software break on the userâ??s installation. Then again, the same could
>> happen to every interpreted language, e.g. Perl.
FFS, yet another new language where the implementors have refused to
think ahead and consider ABI handling? Idiots. :-(
>Could it be automatically created based on some sort of hash of the
>exported symbols and their argument lists?
>If not, based on your discussions with upstream I would say that the
>culture of the Go development community is incompatible with shared
>libraries. So your choices are:
>Convince Go upstream to add an officially-supported and encouraged
>shared library mechanism that includes ABI mechanisms.
>Invent some automatic, Debian-specific method for ABI stuff. Like
>Provides: go-foo-abi-<hash> and put that info in shlibs.
>Use static libraries, Built-Using and frequent binNMUs.
Considering the mess that we already have with (for example) Haskell
in this respect, I would vote strongly against accepting or pretending
to support any more languages in this vein.
Steve McIntyre, Cambridge, UK. firstname.lastname@example.org
"When C++ is your hammer, everything looks like a thumb." -- Steven M. Haflich