Hello, + Debian RM team
Le 03/10/2024 à 08:13, Matt Jolly a écrit :
Hi Debian LLVM Team, I've been working on Gentoo's WSL2 support recently, and spent quite a bit of time trying to work out why I was unable to initialise a mesa D3D12 gallium driver to make OpenGL work[1]. My investigation (through much `strace`ing) led me to identify that the Intel WSL2 "driver" loaded by the D3D12 gallium driver was built on an Ubuntu system, and includes a libLLVM, and that LLVM appears to have been built with `-DLLVM_ENABLE_LIBEDIT=yes`. This wouldn't be a problem, however due to Debian's soname change here no non-Debian-derived distribution is able to satisfy this dependency, resulting in a failure of the driver to load and **breaking OpenGL support in WSL2 on all non-Debian derived distributions**. ``` openat(AT_FDCWD, "/usr/lib/wsl/drivers/iigd_dch.inf_amd64_5cd1b24bd34e22d9/../lib/glibc-hwcaps/x86-64-v3/libedit.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/wsl/drivers/iigd_dch.inf_amd64_5cd1b24bd34e22d9/../lib/glibc-hwcaps/x86-64-v3/", 0x7ffe9b43f450, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/wsl/drivers/iigd_dch.inf_amd64_5cd1b24bd34e22d9/../lib/glibc-hwcaps/x86-64-v2/libedit.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/wsl/drivers/iigd_dch.inf_amd64_5cd1b24bd34e22d9/../lib/glibc-hwcaps/x86-64-v2/", 0x7ffe9b43f450, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/wsl/drivers/iigd_dch.inf_amd64_5cd1b24bd34e22d9/../lib/libedit.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/wsl/drivers/iigd_dch.inf_amd64_5cd1b24bd34e22d9/../lib/", 0x7ffe9b43f450, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/libedit.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/libedit.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) ``` While it's clearly possible for end users to symlink the library to the expected soname, it's really not appropriate for other distributions to provide a compat symlink when Debian is the outlier - honestly, as identified by the original bug reporter, it's inappropriate for downstreams to change the soname of a library at all. I'm also having trouble finding any rationale for keeping this change past the release that it occurred within.
Dunno, it was done before my time as maintainer. Sorry :/
While it's not going to immediately fix the downstream WSL issue (there have been tickets raised with Microsoft[2] and Intel[3] respectively), it seems prudent at this point to bring Debian into alignment with other distros and make software compiled on Debian actually portable. Would you consider reverting the soname change before Trixie gets locked in?
It is a lot of work for something that has been this way for 10+ years. Release management team, do you have an opinion on this? Cheers, Sylvestre