https://bugs.winehq.org/show_bug.cgi?id=40842
Bug ID: 40842 Summary: libpng12-0 is as dependency missing Product: Packaging Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-packages Assignee: wine-bugs@winehq.org Reporter: sworddragon2@aol.com CC: michael@fds-team.de, sebastian@fds-team.de Distribution: ---
With Wine 1.9.12 on starting Guild Wars 2 I'm noticing that the launcher is in its first state black and showing only the initialization/downloading text and if I'm looking into the console I'm getting spammed with the line "err:wincodecs:PngDecoder_CreateInstance Failed reading PNG because unable to find libpng12.so.0". Installing libpng12-0 solves the issue so maybe it should be a dependency.
https://bugs.winehq.org/show_bug.cgi?id=40842
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #1 from fjfrackiewicz@gmail.com --- (In reply to sworddragon2 from comment #0)
With Wine 1.9.12 on starting Guild Wars 2 I'm noticing that the launcher is in its first state black and showing only the initialization/downloading text and if I'm looking into the console I'm getting spammed with the line "err:wincodecs:PngDecoder_CreateInstance Failed reading PNG because unable to find libpng12.so.0". Installing libpng12-0 solves the issue so maybe it should be a dependency.
Most distros have that exact dependency as an optional dependency for Wine.
Case in point, Arch lists libpng as an optional dependency for Wine: https://www.archlinux.org/packages/multilib/x86_64/lib32-libpng/
So it's mostly dependent on what distro you use :)
https://bugs.winehq.org/show_bug.cgi?id=40842
--- Comment #2 from sworddragon2@aol.com --- I'm on Ubuntu but using the package from the wine/wine-builds ppa.
https://bugs.winehq.org/show_bug.cgi?id=40842
--- Comment #3 from fjfrackiewicz@gmail.com --- (In reply to sworddragon2 from comment #2)
I'm on Ubuntu but using the package from the wine/wine-builds ppa.
Try installing the libpng package for your distro and see if it helps:
https://launchpad.net/ubuntu/+source/libpng
https://bugs.winehq.org/show_bug.cgi?id=40842
--- Comment #4 from Sebastian Lackner sebastian@fds-team.de --- (In reply to sworddragon2 from comment #0)
Installing libpng12-0 solves the issue so maybe it should be a dependency.
I'm not sure if there is anything to fix here. The packages does not contain a fixed dependency but a "Recommendation", which should have the same effect (unless someone explicitly wants to uninstall it).
It would be interesting to know how exactly you ended up with an installation which lacks libpng12-0. Did you disable automatic installation of recommendations? Did you manually uninstall it afterwards to clean up disk space?
https://bugs.winehq.org/show_bug.cgi?id=40842
sworddragon2@aol.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|libpng12-0 is as dependency |Missing dependencies |missing |
--- Comment #5 from sworddragon2@aol.com --- I'm using a minimalistic system and have disabled at default the installation of recommended packages in apt. Also I think this topic can be extended to more packages as for example if libxcursor1 is missing mouse cursors are not being rendered correctly and if libxi6 is missing raw input does not work.
Some reasons why I think a reconsideration what should be a dependency and what should be a recommendation is needed:
- Ubuntu installs at default recommended packages so in this case it would not make an effective difference if the packages would be a dependency or a recommendation. But the few users that do not install recommended packages at default will notice earlier or later issues on normal usage. - From the debian policy about Depends: "The Depends field should be used if the depended-on package is required for the depending package to provide a significant amount of functionality.". Sine Wine provides the Windows API for non-Windows systems a working mouse and working PNG-support are in my opinion indeed significant. - Even if the installaion of recommended packages is not disabled apt does not always guarantee that they are getting installed. I have reported this already here ( https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1571363 ) but it is not known if this is intended or just a bug. At least this is how apt handles this now for several years or even more. The 3 packages used as example here are also affected by this behavior and may not get installed even on executing "apt-get install winehq-devel --install-recommends". How much this affects a real system may depend how long the installation exists/how often the package state got changed. Over time systems might end up with the one or other recommended package missing causing eventually the user to notice an issue and creating a bogus report.
https://bugs.winehq.org/show_bug.cgi?id=40842
--- Comment #6 from Sebastian Lackner sebastian@fds-team.de --- (In reply to sworddragon2 from comment #5)
I'm using a minimalistic system and have disabled at default the installation of recommended packages in apt. Also I think this topic can be extended to more packages as for example if libxcursor1 is missing mouse cursors are not being rendered correctly and if libxi6 is missing raw input does not work.
For people trying to run Wine on a minimal system (for example with limited disk space), the overhead of installing a lot of additional packages is probably not acceptable - especially when they are not required for the applications they would like to run. By adding such packages as recommendation instead of fixed dependency we leave the choice to the user, which would not be possible otherwise.
Also please note that the installation instructions on https://wiki.winehq.org/Ubuntu suggests the following line for installing the package, which should effectively treat all recommendations as dependencies:
sudo apt-get install --install-recommends winehq-devel
Some reasons why I think a reconsideration what should be a dependency and what should be a recommendation is needed:
- Ubuntu installs at default recommended packages so in this case it would
not make an effective difference if the packages would be a dependency or a recommendation. But the few users that do not install recommended packages at default will notice earlier or later issues on normal usage.
When they use the commandline mentioned on the Wiki it should still work, no?
- From the debian policy about Depends: "The Depends field should be used if
the depended-on package is required for the depending package to provide a significant amount of functionality.". Sine Wine provides the Windows API for non-Windows systems a working mouse and working PNG-support are in my opinion indeed significant.
I guess it really depends on the use-case. For someone who wants to run console applications only, the lack of those components might be harmless. Although Windows applications might probably not behave as expected, for Wine itself its absolutely fine when such dependencies are missing. Wine is not statically linked against them, and they are loaded at runtime when required.
- Even if the installaion of recommended packages is not disabled apt does
not always guarantee that they are getting installed. I have reported this already here ( https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1571363 ) but it is not known if this is intended or just a bug. At least this is how apt handles this now for several years or even more. The 3 packages used as example here are also affected by this behavior and may not get installed even on executing "apt-get install winehq-devel --install-recommends". How much this affects a real system may depend how long the installation exists/how often the package state got changed. Over time systems might end up with the one or other recommended package missing causing eventually the user to notice an issue and creating a bogus report.
I'm not sure why the command does not work for you although the packages are available, this should not be the case. If the packages are not available however, it is intentional that they are skipped instead of failing the installation. In most cases (for example, trouble with installing a rarely used component) this is better than being too strict.
To sum it up, although I agree that changing some of the recommendations to a fixed dependency might have some advantages, I am not sure if we should add "unnecessary" restrictions, which might block a user from using the package. @ Michael: What do you think?
https://bugs.winehq.org/show_bug.cgi?id=40842
--- Comment #7 from sworddragon2@aol.com --- (In reply to Sebastian Lackner from comment #6)
For people trying to run Wine on a minimal system (for example with limited disk space), the overhead of installing a lot of additional packages is probably not acceptable - especially when they are not required for the applications they would like to run. By adding such packages as recommendation instead of fixed dependency we leave the choice to the user, which would not be possible otherwise.
This part is a bit tricky. A normal user does not know what is required to get specific parts of Wine working. If they are even experienced enough to install Wine without recommended packages (for example they run a device with limited disk space) they would expect to hit no troubles on executing random Windows applications. If they tinker around to solve any appearing issues because of missing libraries like libxi6 building Wine from scratch becomes close to a choice.
Also this can have the opposite effect of what would be desired. If too much issues are arising the normal user could decide to install the recommended packages afterwards by uninstalling Wine and reinstalling it with enabled recommendations (which has now a much higher chance to trigger the apt issue I pointed to in my previous comment). This can cause that an user with limited disk space is forced to install a "minimalistic" Wine with all its dependencies and recommendations.
(In reply to Sebastian Lackner from comment #6)
Also please note that the installation instructions on https://wiki.winehq.org/Ubuntu suggests the following line for installing the package, which should effectively treat all recommendations as dependencies:
sudo apt-get install --install-recommends winehq-devel
There is a "predictable" race condition in apt as I mentioned in my previous comment. Here is an example how this can look on Ubuntu:
root@ubuntu:~# apt-cache policy winehq-devel libxcursor1:i386 libpng12-0:i386 libxi6:i386 | grep -P '^[^\s]|Installed:' winehq-devel: Installed: (none) libxcursor1:i386: Installed: (none) libpng12-0:i386: Installed: (none) libxi6:i386: Installed: (none) root@ubuntu:~# apt-get install --install-recommends winehq-devel Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: winehq-devel 0 upgraded, 1 newly installed, 0 to remove and 10 not upgraded. Need to get 0 B/1980 B of archives. After this operation, 73.7 kB of additional disk space will be used. debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package winehq-devel. (Reading database ... 134553 files and directories currently installed.) Preparing to unpack .../winehq-devel_1.9.12~ubuntu16.04.1_amd64.deb ... Unpacking winehq-devel (1.9.12~ubuntu16.04.1) ... Processing triggers for desktop-file-utils (0.22-1ubuntu6) ... Processing triggers for mime-support (3.59ubuntu1) ... Processing triggers for man-db (2.7.5-1) ... Setting up winehq-devel (1.9.12~ubuntu16.04.1) ... root@ubuntu:~# apt-cache policy winehq-devel libxcursor1:i386 libpng12-0:i386 libxi6:i386 | grep -P '^[^\s]|Installed:' winehq-devel: Installed: 1.9.12~ubuntu16.04.1 libxcursor1:i386: Installed: (none) libpng12-0:i386: Installed: (none) libxi6:i386: Installed: (none)
It depends on the state of the system how much recommended packages are not getting installed. On this testcase it's not that special that none of the shown recommended packages got installed. On a fresh installed system this is extremely unlikely to happen. On a moderately used system this could happen for a few packages. At least it gets more likely to happen over time.
(In reply to Sebastian Lackner from comment #6)
I guess it really depends on the use-case. For someone who wants to run console applications only, the lack of those components might be harmless.
This someone would possibly like to install wine-console-devel (or wine-dos-devel) instead of wine-devel. But these packages do not exist and instead he installs wine-devel which targets to provide the full Windows API (though, that implies that we could also split the Wine-package for example into OS-specific (Windows 2000, Windows XP, etc.) ones with only their related Windows-API part as alternative to provide minimalistic means).
https://bugs.winehq.org/show_bug.cgi?id=40842
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |WONTFIX
--- Comment #8 from Rosanne DiMesio dimesio@earthlink.net --- Well, as of yesterday the Linux packaging is my responsibility. So, trying to sort out the various points in this meandering bug report:
1. In the current (OBS-built) packages, the Depends field is populated by dpkg_shlibdeps. If you think it's doing it wrong, file a bug with Debian.
2. Our instructions explicitly tell users to install the recommended packages. You are of course free to do whatever you want on your own system, but any problems you create for yourself are yours to solve.
3. As you yourself note, if apt doesn't always install everything it should, that's a bug in apt.
4. As to the request for a minimalist package, the answer is no. I am not going to get into the business of building customized packages for special use cases. You are, of course, free to build such a package yourself. Anyone can easily create an OBS account, branch our project, and modify the packaging files to their hearts' desire.
https://bugs.winehq.org/show_bug.cgi?id=40842
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Rosanne DiMesio dimesio@earthlink.net --- Closing wontfix packaging bug.