libuv soname not changing

23 views
Skip to first unread message

Darren Smith

unread,
May 31, 2019, 2:17:58 AM5/31/19
to libuv
Hi

I've noticed that from libuv-1.10.2 to libuv-1.29.1 (just an arbitrary wide range I selected), the shared library SONAME is libuv.so.1 and further, the name of the shared library is always libuv.so.1.0.0

Naively I would expect the SONAME to increase over such a wide range of versions; or even, assuming these versions are API compatible, I would have expected the minor & patch version number to alter.

Perhaps instead libuv project always sets the SONAME to 1.0?   Or am I missing a build option? Or are these version API compatible?

Darren




Ben Noordhuis

unread,
Jun 1, 2019, 8:42:23 AM6/1/19
to li...@googlegroups.com
See [0] for more discussion. To summarize:

1. libuv.so.1.0.0 is probably wrong - we should bump the second digit
every release and the last digit every minor release

2. libuv.so.1 is right because libuv v1.x releases are all backwards
compatible with previous releases (barring the occasional snafu that
we then subsequently fix)

If the first item is an issue for you, then please open an issue or a
pull request.

For context, [1] is what we use for making releases. Libuv supports
three build systems (autotools, cmake and gyp) and with some it's
probably harder to configure than with others. E.g., I don't believe
gyp really lets you (which is okay, that's only for Node.js and they
don't care about the SONAME.)

Hope that helps!

[0] https://github.com/libuv/libuv/issues/1745
[1] https://github.com/libuv/libuv-release-tool

Darren Smith

unread,
Jun 3, 2019, 6:05:55 PM6/3/19
to libuv
Fyi,  on Centos 7.4, the system libuv is 1.10.2 and the shared lib is /usr/lib64/libuv.so.1.0.0

For comparison, on Ubuntu 18.04, the system libuv is 1.18.0 and the shared lib is /usr/lib/x86_64-linux-gnu/libuv.so.1.0.0

I suppose this is all okay then, as you note all of libuv 1.x are backwards compatible.
Reply all
Reply to author
Forward
0 new messages