This has come up during the review of the "eio" library package ( https://bugzilla.redhat.com/show_bug.cgi?id=891244#c1 ), because
"eio conflicts with libeio" severely: https://bugzilla.redhat.com/1003692
Put the library in a subdirectory of /usr/lib or /lib and
include a ld.so.conf file in /etc/ld.so.conf.d/.
That makes no sense and therefore is a misleading recommendation. Or more precisely, it '''only''' makes sense for fully ABI-compatible libs in alternative packages, which may be installed in parallel.
Rationale: Moving a lib to a subdir avoids only the implicit file conflict, but does not resolve the library SONAME conflict (affecting both RPM's automatic !Provides/Requires as well as the run-time linker). And the ld.so.conf file even puts the moved library into run-time linker's search path again, reintroducing the run-time conflict.
Proposal was to change the library conflicts recommendation to read:
Proposal: If the library is 100% ABI-compatible, you can use environment-modules[LINK] to let the user switch between them. If the library is not 100% ABI-compatible get one of the upstreams to rename. See [LINK] for ideas on persuasion. If neither upstream will budge open a ticket for FPC to evaluate what sort of hoops both packages would need to implement to not conflict at runtime.
FPC is open to defining what to do if neither upstream will rename but saw drawbacks in all proposals at the meeting. If you have a proposal for that case, feel free to state it and we'll revisit.
Conflicts Guidelines updated.
The FPC changed its recommendation on dealing with library conflicts. The new recommendation makes clear that using a subdirectory is useful in very few cases, makes use of environment-modules instead of an ld.so.conf.d file to switch between them, and asks that for the cases where subdirectories don't work maintainers press upstreams hard to change their library names. If someone would care to submit a draft for dealing with library conflicts that fall outside of this area FPC would be happy to look at whether it makes sense to add those instructions. https://fedoraproject.org/wiki/Packaging:Conflicts#Library_Name_Conflicts
to comment on this ticket.