Open ikervagyok opened 7 years ago
I'm actually not certain all prefixes are always meaningful. Some distros even intentionally don't provide those, e.g. Fedora.
@vcunat I know that most of the prefixes wouldn't be used , but it would be more flexible for adding new/custom software. Nixos is great at letting Ubuntu/... packages run in a custom environment without modification and this would probably take that compatibility even further.
Could we make it an option just for custom environments, if not for all packages?
Found my broken dependency already 'fixed' in nixos, but resolved for the one package only.
# cd $NIXPKGS; grep -r "ln -s.*\.so\." .
...
./pkgs/applications/audio/bitwig-studio/default.nix: ln -s ${bzip2.out}/lib/libbz2.so.1.0.6 libbz2.so.1.0
...
Such cases probably should be fixed on a library level, as it leads to code duplication, if it's always fixed individually.
I see no real reason against (e.g. what it could break), but I'm really unlikely to create a "fix" myself.
My view is that, say for libbz2, the soname is libbz2.so.1, determining ABI compatibility. If a package tries to probe for a longer prefix, I see little to be gained, as that soname is supposed to link to the "newest" version with .1 ABI. (At least in the rare case when you actually see multiple libs at once that provide libbz2.so.1-compatible ABI.)
Are there any updates on this issue, please
Thank you for your contributions.
This has been automatically marked as stale because it has had no activity for 180 days.
If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.
Here are suggestions that might help resolve this more quickly:
Are we even doing anything in this regard already? If not, I don't think we should. It's up to upstream to provide versioned links.
If upstream is dead and a certain library breaks anything, that specific library should be patched.
Issue description
Every now and then I play GOG/HumbleBundle games in a nix-env. This works astonishingly well in most cases, but every now and then there are some missing libraries. Even though I add the package to my
gog.nix
file, this doesn't always work as programs may link tofoo.so.x.y
- and but we only providefoo.so.x.y.z
andfoo.so.x
Example
I just bought
The Stanley Parable
on HumbleBundle:Resolution
We should ensure within the default pre-install phase that every library file gets all the symlinks to the less explicit version.
So
libABC.so.x.y.z
would be linked to fromlibABC.so.x.y
,libABC.so.x
andlibABC.so
by default, for every package - no more manually adding '.so'-links for specific packages.