Bug#1029536: wine64-stable ENOENT
On Sun, 12 Feb 2023 18:53:01 +0900 Junichi Uekawa wrote: /usr/bin/wine64-stable fails because of missing files. Should /usr/bin/wine64-stable be there at all? I guess having just package wine64 without package wine installed should also work? Then /usr/bin/wine64-stable would be needed. Otherwise the user might really be expected to start it via "/usr/lib/wine/wine64 wineboot", like proposed before. At least the wrapper /usr/bin/wine from package wine looks like it would not need "/usr/bin/wine64-stable". Am 13.02.23 um 21:52 schrieb Jens Reyer: On 12.02.23 10:53, Junichi Uekawa wrote: /usr/bin/wine64-stable fails because of missing files. Should /usr/bin/wine64-stable be there at all? I don't know if we really need /usr/bin/wine64, or could just go with /usr/bin/wine and the rest in /usr/lib/wine. But if we want /usr/bin/wine64 then we also need /usr/bin/wine64-stable (for the alternatives system). Currently this is a link to /usr/lib/wine/wine64. Current maintainers may replace it with a wrapper script or provide the link suggested previously. (Or figure out why the -stable suffix in the link is now expected by the binary, while it wasn't in the past.) Before following commit [1] wine iterated through PATH environment to find finally /usr/bin/wine64-stable, which is a link to ../lib/wine/wine64. Afterwards it looks like it is "just" searching for /usr/lib/wine/wine64-stable. Kind regards, Bernhard [1] https://gitlab.winehq.org/wine/wine/-/commit/ae8562ed2277a5c051e131dc317e94aa3d5413c8 ntdll: Always use the name of the current loader to exec a new process. [7.21] https://gitlab.winehq.org/wine/wine/-/blob/053ee2d23d825f800baa16e455a218834aa2dec0/dlls/ntdll/unix/loader.c#L685 [7.22] https://gitlab.winehq.org/wine/wine/-/blob/20d86f34a066657048610803e7143232efa6c0d3/dlls/ntdll/unix/loader.c#L695
Bug#1029536: wine64-stable ENOENT
On 12.02.23 10:53, Junichi Uekawa wrote: The -stable suffix was added for the Debian alternatives system. While I don't expect an issue with adding an /usr/lib/wine/wine64-stable link, I wonder if the whole issue is really a bug (still probably a regression, which I can't comment on since I'm not involved in current packaging) or wrong usage. Somehow /usr/bin/wine-stable has correct files in the right place, so /usr/bin/wine-stable works Yes, as soon as "wine" is installed it sets up the Debian alternatives system. (Which is used so both the stable and the development Wine packages may use /usr/bin/wine and may even be coinstalled.) I'm glad to see that this part works as intended. /usr/bin/wine64-stable fails because of missing files. Should /usr/bin/wine64-stable be there at all? I don't know if we really need /usr/bin/wine64, or could just go with /usr/bin/wine and the rest in /usr/lib/wine. But if we want /usr/bin/wine64 then we also need /usr/bin/wine64-stable (for the alternatives system). Currently this is a link to /usr/lib/wine/wine64. Current maintainers may replace it with a wrapper script or provide the link suggested previously. (Or figure out why the -stable suffix in the link is now expected by the binary, while it wasn't in the past.) For now, I don't think I can help further, back to retirement GReets jre
Bug#1029536: wine64-stable ENOENT
> > The -stable suffix was added for the Debian alternatives system. While > I don't expect an issue with adding an /usr/lib/wine/wine64-stable > link, I wonder if the whole issue is really a bug (still probably a > regression, which I can't comment on since I'm not involved in current > packaging) or wrong usage. Somehow /usr/bin/wine-stable has correct files in the right place, so /usr/bin/wine-stable works /usr/bin/wine64-stable fails because of missing files. Should /usr/bin/wine64-stable be there at all?
Bug#1029536: wine64-stable ENOENT
> [Ex-maintainer here] > > The -stable suffix was added for the Debian alternatives system. While > I don't expect an issue with adding an /usr/lib/wine/wine64-stable > link, I wonder if the whole issue is really a bug (still probably a > regression, which I can't comment on since I'm not involved in current > packaging) or wrong usage. /usr/bin/wine-stable, and /usr/bin/wine64-stable exist but do not work; shouldn't they either be removed or fixed with a symlink.
Bug#1029536: wine64-stable ENOENT
On 07.02.23 14:22, Bernhard Übelacker wrote: Dear Maintainer, if one creates this wine64-stable just as a link to wine64, then `wine64-stable wineboot` would start to work. # ln -s wine64 /usr/lib/wine/wine64-stable Kind regards, Bernhard (rr) 692 execv( argv[1], argv + 1 ); (rr) print argv[1] $2 = 0x7e848400 "/usr/lib/wine/wine64-stable" (rr) shell ls -lisah /usr/lib/wine/wine64-stable ls: cannot access '/usr/lib/wine/wine64-stable': No such file or directory (rr) bt #0 preloader_exec (argv=argv@entry=0x7e8483d0) at dlls/ntdll/unix/loader.c:692 #1 0x7f5e1d159a6b in loader_exec (machine=34404, argv=0x7e8483d0) at dlls/ntdll/unix/loader.c:716 #2 __wine_main (argc=, argv=0x7ffd65438648, envp=0x7ffd65438660) at dlls/ntdll/unix/loader.c:2416 #3 0x7d001254 in main () (rr) $ ls -lisah /usr/bin/wine64-stable /usr/bin/wine64 /usr/lib/wine/wine64-stable /usr/lib/wine/wine64 ls: cannot access '/usr/lib/wine/wine64-stable': No such file or directory 674145 0 lrwxrwxrwx 1 root root 24 Jan 27 02:36 /usr/bin/wine64 -> /etc/alternatives/wine64 673301 0 lrwxrwxrwx 1 root root 18 Jan 27 02:36 /usr/bin/wine64-stable -> ../lib/wine/wine64 673289 16K -rwxr-xr-x 1 root root 15K Jan 27 02:36 /usr/lib/wine/wine64 [Ex-maintainer here] The -stable suffix was added for the Debian alternatives system. While I don't expect an issue with adding an /usr/lib/wine/wine64-stable link, I wonder if the whole issue is really a bug (still probably a regression, which I can't comment on since I'm not involved in current packaging) or wrong usage. I don't know what you want to do exactly, but generally I (and afaik upstream) recommend to just call "wine", not "wine64". This will default to 64-bit anyway (supporting also 32-bit if "wine32" is installed). To force 64 bit you may set "WINEARCH=win64". To create a new wineprefix just issue "WINEARCH=win64 wineboot" (without "wine" or "wine64" in front). Of course you need the "wine" package to be installed, which basically just contains the relevant wrappers and links. I see no reason to not install this recommended package. Comments welcome! Without "wine" installed you may use $ /usr/lib/wine/wine64 wineboot If you install "wine64" and "wine", but not "wine32", you'll get a non-critical warning on STDERR: ~ it looks like wine32 is missing, you should install it. as root, please execute "apt-get install wine32:i386" ~ You can disable this (and some Wine output by something like this: $ WINEDEBUG="-all" wineboot So I suggest: docker run -it docker.io/debian:testing-slim # apt update && apt install wine # wineboot Greets jre
Bug#1029536: wine64-stable ENOENT
Dear Maintainer, if one creates this wine64-stable just as a link to wine64, then `wine64-stable wineboot` would start to work. # ln -s wine64 /usr/lib/wine/wine64-stable Kind regards, Bernhard (rr) 692 execv( argv[1], argv + 1 ); (rr) print argv[1] $2 = 0x7e848400 "/usr/lib/wine/wine64-stable" (rr) shell ls -lisah /usr/lib/wine/wine64-stable ls: cannot access '/usr/lib/wine/wine64-stable': No such file or directory (rr) bt #0 preloader_exec (argv=argv@entry=0x7e8483d0) at dlls/ntdll/unix/loader.c:692 #1 0x7f5e1d159a6b in loader_exec (machine=34404, argv=0x7e8483d0) at dlls/ntdll/unix/loader.c:716 #2 __wine_main (argc=, argv=0x7ffd65438648, envp=0x7ffd65438660) at dlls/ntdll/unix/loader.c:2416 #3 0x7d001254 in main () (rr) $ ls -lisah /usr/bin/wine64-stable /usr/bin/wine64 /usr/lib/wine/wine64-stable /usr/lib/wine/wine64 ls: cannot access '/usr/lib/wine/wine64-stable': No such file or directory 674145 0 lrwxrwxrwx 1 root root 24 Jan 27 02:36 /usr/bin/wine64 -> /etc/alternatives/wine64 673301 0 lrwxrwxrwx 1 root root 18 Jan 27 02:36 /usr/bin/wine64-stable -> ../lib/wine/wine64 673289 16K -rwxr-xr-x 1 root root 15K Jan 27 02:36 /usr/lib/wine/wine64
Bug#1029536: wine64-stable ENOENT
`wine64 wineboot` runs, /usr/lib/wine/wine64 is there. `wine64-stable wineboot` fails, /usr/lib/wine/wine64-stable is not there. according to strace: execve("/usr/lib/wine/wine64-stable", ["/usr/lib/wine/wine64-stable", "wineboot"], 0x7e641390 /* 21 vars */) = -1 ENOENT (No such file or directory) write(2, "wine: ", 6wine: ) = 6 write(2, "could not exec the wine loader\n", 31could not exec the wine loader ) = 31 and indeed the file is not there. Not sure what it was before.