On 5/12/25 12:31 AM, Florian Weimer wrote: > * Nikita Popov: > >> In f42 the main llvm package switched to installing all files under a >> /usr/lib{64}/llvmN prefix and >> providing symlinks in the default prefix, to align the contents between the >> versioned and unversioned >> packages. What we were not aware of at the time is that rpm's support for >> symlinks is very bad. >> >> The latest issue we've run into is multilib installations. On f42, it's no >> longer possible to install >> llvm-devel.x86_64 and llvm-devel.i686 at the same time, because they have >> conflicts at paths like >> /usr/bin/opt. These conflicts previously existed as well, but while rpm will >> happily ignore multilib file >> conflicts (resolving in favor of x86_64), having a symlink conflict is a >> hard error. (The symlink will point >> to /usr/lib/llvmN/bin/opt on i686 and /usr/lib64/llvmN/bin/opt on x86_64.) > > I think you should install executables into /usr/libexec/llvmN. These > paths will be identical across architectures. cthe symbolic link > targets will be the same, and the multilib conflicts should be gone.
This seems plausible to me, but it might cause issues if the versioned llvm root doesn't look the same as expected on other systems. Another possibility is to flip the symlinks, i.e. move the binaries back to %_bindir and put symlinks in %_libdir/llvmN/bin. Then multilib installs will go back to preferring the 64-bit bin files, and the symlinks won't conflict. -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue