Wine32, multiarch would destabilize the whole system

Questions about Wine on Linux
Locked
dromon
Newbie
Newbie
Posts: 2
Joined: Fri Oct 23, 2015 2:41 pm

Wine32, multiarch would destabilize the whole system

Post by dromon »

Hi there,

Installed debian/jessie amd64. Installed wine, got the 64-bit version. However, I installed wine to run old win32 programs which are not available any more. For example, i organize my homepage with a program which once had a Linux version, but now all links are dead. Wine told me, go multiarch, install wine32. I tried to do so. After simulating a while with apt-get I found that I would replace large parts of my library tree with i386 versions. Tons of stuff.

I tried to find ia-32 libraries. Apt-get suggested lib32 versions of curses and z. Of course that did not help. And the library tree is not ready for multiarch yet.

Consequence: wine is not fit for 64-bit systems any more? All relevant programs are win32.

Is there any solution or should I fall back to the parallel installation of winxxxx? I hoped that I would not have to use winxxxx again, because of its desorganization, monoculture and failure.

dromon
User avatar
dimesio
Moderator
Moderator
Posts: 13373
Joined: Tue Mar 25, 2008 10:30 pm

Re: Wine32, multiarch would destabilize the whole system

Post by dimesio »

We have many Debian users, most of them are on 64 bit, and no one else has reported this problem. Did you follow the instructions on https://www.winehq.org/download/debian?
dromon
Newbie
Newbie
Posts: 2
Joined: Fri Oct 23, 2015 2:41 pm

Re: Wine32, multiarch would destabilize the whole system

Post by dromon »

I got wine and winetricks through apt-get.
While trying different things, I permanently got the following message:

it looks like multiarch needs to be enabled. as root, please
execute "dpkg --add-architecture i386 && apt-get update &&
apt-get install wine32

So I informed myself, what multiarch is, what dpkg actually would do and I searched whether other users ran into the same problem. Then I tried what was suggested and many different tips. The situation appears to be as follows:
* Ubuntu 14.04 users (and forks) had no problem. I assume the distributors did something on their own, maybe bundled libraries or wrote a wrapper.
* Debian users indeed tried to _overwrite_ their library tree and were partially successful, however they often ran into trouble to get certain libaries deep below libc6.
* Lately, maybe 2014/2015, Debian users reported at other places that they were not able to get wine running.
* My Debian refused to install the i386 libraries. This includes libwine itself. If I would try to do so it would remove half of my applications, I think even wine64, because they of course depend on the proper amd64 libraries.

Multiarch for Debian requires to flag libraries in a special way and to install them in special library trees. Not even libwine itself meets this requirement. Like everything else it would just overwrite libwine:amd64 by libwine:i386. It would even come to overwriting the OpenGL 3D lib on which the graphics card depends und later libc6 which is a central hub in the whole system.

I cannot use i386 libs anyway. I have 8GB RAM which needs the 33rd bit for addressing. Windows itself addresses this problem by pretending a 32-bit environment to 32-bit programs (btw, all programs compatible with XP are 32-bit programs). So I assumed that wine64 had implemented this mechanism too which would be the very first thing to do, otherwise a wine64 would be nearly useless.

But, my wine64 rejects any 32-bit executable.

The suggestion to use dpkg --add-architecture i386 should _never_ be given to users who do not exactly know what they are doing. Dpkg does not change anything in the system. It does not install a magical second library tree. It only enables the packet manager to look for i386 packages which are of course meant for real i386 systems, not for systems which require a 64-bit address space. Debian or the kernel developers apparently created the capability of pretending 32-bit environments to 64-bit environments. But, on my system there is no program using this mechanism yet. This includes Wine.

So what is needed is either a wine64 that runs 32-bit exutables as Windows itself does. Or a wine32:amd64. To tell people to use dpkg --add-architecture i386 is no advice that I would give to anyone.

I am fully aware that I report a serious issue here. I have been a developer and project manager for more than 20 years now, however I used Linuxes only sporadically before, so there are of course things I do not know of. But the very first thing I had to do was to update a kernel module that had not been maintained for 10 years and to build it. I do not simply have an installation problem.

dromon
User avatar
dimesio
Moderator
Moderator
Posts: 13373
Joined: Tue Mar 25, 2008 10:30 pm

Re: Wine32, multiarch would destabilize the whole system

Post by dimesio »

dromon wrote: Windows itself addresses this problem by pretending a 32-bit environment to 32-bit programs (btw, all programs compatible with XP are 32-bit programs). So I assumed that wine64 had implemented this mechanism too which would be the very first thing to do, otherwise a wine64 would be nearly useless.
Wine does implement this mechanism; it's called Wow64. It requires Wine's 32 bit dependencies to be installed on the host system in order to work.

Report the problem to the Debian package maintainers.
Locked