Bug#980148: mesa-vulkan-drivers: file content conflict in Multi-Arch:same package
On 2025-04-15 11:34, Helmut Grohne wrote:
>
> I can also tell you that running a kfreebsd-amd64 ELF executable on a
> Linux amd64 kernel works "too well". The Linux kernel cannot tell these
> architectures apart from the ELF header and happily runs it. As the
> syscall ABI is completely different, you end up doing stuff you never
> wanted such as resetting your system clock before the program quickly
> fails.
>
> Loading shared libraries is a different beast as it is done by glibc.
> There the story looks different. If you attempt to load incompatible
> libraries you tend to see the error "wrong ELF class: ..." from
> dlerror() after having tried loading it with dlopen. Not so, if your
> architectures are too similar. For instance, attempting to load an armel
> library into an armhf executable, I got "cannot open shared object file:
> No such file or directory" (and note that it successfully opened but not
> mapped the file).
Per Simon's other post, none of that is relevant for his proposed option 2, which boils down to dlopen("libvulkan_*.so", ...). If that could end up opening a variant from a wrong search path, it'd break lots of other things anyway.
In summary, Simon's option 2 seems like the clear winner. As he pointed out, it matches what's already being done for libEGL_mesa.so.0 shipped in libegl-mesa0, with no known issues.
--
Earthling Michel Dänzer \ GNOME / Xwayland / Mesa developer
https://redhat.com \ Libre software enthusiast
Reply to: