[kwlug-disc] Xubuntu 22.04 to 24.04 Upgrade
Chris Frey
cdfrey at foursquare.net
Wed Oct 9 15:27:01 EDT 2024
On Wed, Oct 09, 2024 at 02:41:07PM +0000, Doug Moen wrote:
> I would argue that the doctrines that packagers of binary-based Linux
> distros have built up around shared libraries are very specific to the C
> language. When these doctrines were formed, all binary executables were
> compiled from C or early stage C++ code.
That's fair enough, and perhaps there are new technologies yet to be
created in the shared library world (and software licensing world)
when it comes to these new generic languages. I understand if C-shared
must look different than C++-shared or Python-shared or Rust-shared or
Julia-shared, as long as they actually share.
My objection is that for some languages, they don't seem to be trying,
or more accurately, it is not a priority for them. Saying
"it's impossible" doesn't convince me either. Sure, there's
a lot of template/generic code out there, but that's not all of it.
I looked up your example of Julia, assuming it would be a super generic
example of something impossible to build into shared libraries. Yet
they document app building that allows for including all the Julia
standard libraries or not, implying that you can assume certain stdlibs
already exist on the target machine. Looks like they support C-level
.so files for interoperability purposes. I couldn't find whether they
have a stable ABI yet, but they do document their calling conventions.
It also looks like there are some folks on the Rust side working on a
stable ABI:
https://slightknack.github.io/rust-abi-wiki/intro/intro.html
So, it's basically what I said originally... it's just what happens
when people start something from scratch, and eventually they will catch
up to the rest of the world on the old techniques, while having invented
a lot of new techniques in the process.
- Chris
More information about the kwlug-disc
mailing list