Email or username:

Password:

Forgot your password?
Top-level
uis

Not sure about Nix, but usually versioning is done with sonames. Like libbullshit.so.1 and libbullshit.so.2, which are resolved into different versions.

And why absolute paths? This makes no sense.

2 comments
Gregory

@uis yes, but usually those library packages would also include:
- unversioned C headers (/usr/include/bullshit)
- unversioned static version of the same library (/usr/lib/libbullshit.a)
- a bunch of symlinks (/usr/lib/libbullshit.so -> libbullshit.so.2)

So in the end, you can't have multiple versions side-by-side, so if you want to install a package that needs a newer version of this library, you also have to upgrade its dependents you installed earlier.

uis

[Part 1]

- usualy cflags for library are obtained through pkg-config, which includes headers search location, so headers can be located anywhere and be versioned. As long as config is versioned. Although usually includes(-dev packages, if talking in debianisms) are installed unversioned for "default" version
- why would you even version static libraries? They are either in binary or not.
- libbullshit.so is symlink to default version. Binaries can specify exact version.

Go Up