Solved WINE on FreeBSD ver 13.1

Well, so far, I have managed, with a LOT of help from what I have found on the forum, to install what appears to be a working WINE on my 13.1 system, but have not yet been able to install a favorite Windows 32 bit application.

The application is Pegasus e-mail client, w32-480.exe since I am very familiar with that, having used it, in its various versions, for some 30 years now.

I have created a 32-bit WINE prefix with the command" WINEARCH=win32 WINEPREFIX=/home/Ken/Pegasus winecfg

Although the prefix is created, apparently, correctly, I keep getting what I assume are several errors, all of which are preceded by "fixme".
I am assuming most/all of those are simply informational, but there are a couple of others which I think are more important. These are:

1) get_addrinfo Failed to resolve your host name IP, which, I assume is caused by pf and can, possibly, be safely ignored.

2) wine: could not load kernel32.dll, status c0000135, which I think is more important.

So, since I am not sure what to do about that kernel32.dll, I then go ahead and copy w32-480.exe from my Download directory into my Pegasus directory, and attempt to install it with the Open With Wine Installer. I then get the clock icon for about 30 seconds or so, and then it quietly goes away and nothing happens.

I am assuming that this is because kernel32.dll is missing, but I am not certain.

In addition to searching the forum for anything concerning WINE, and reading it all, I have downloaded and printed off the WINE FAQ, and the Wine Users Guide, and searched all of those for a clue about this, but I have not yet found a solution.

Anyone have any ideas?

At this point, I am thinking that my problem probably lies with PF.

Ken
 
OK. Although I did write that command set into my /etc/fstab. then rebooted.

Thanks,

I'll check it out.

(At the moment, I am back on Win10 so it will be a bit yet.)

Ken
 
OK. Here is my /etc/fstab:

# Device Mountpoint FStype Options Dump Pass#
/dev/ada1p2 none swap sw 0 0
/dev/ada0s2 /mnt/Win10 ntfs-3g failok,rw,late,mountprog=/usr/local/bin/ntfs-3g 0 0
# /dev/da0s1 /mnt/2TB ntfs-3g failok,rw.late,mountprog=/usr/local/bin/ntfs-3g 0 0
proc /proc procfs rw 0 0

And looking at my directory tree, I see the directory /proc with tons of numbers in it.

Am I correct in saying that /proc is mounted?

It is NOT in /mnt

(BTW, the entry in my fstab # /dev/da0s1 /mnt/2TB etc. is a 2TB drive which is connected to the computer via a USB port. Obviously what I have tried to do there won't work that way, so I will delete that entry.)

Ken
 
Generally, running a Windows application on FreeBSD (either on other *nixes) is a “hit-and-miss” game. ;) You need not only Wine, but sometimes also the correct version of Wine. And even this sometimes will not work. FreeBSD has available in the repository 3 versions of Wine: wine, wine-devel and wine-proton. I would try to install another version of Wine and see what happen.

The second thing to check is applications database for Wine. As I see, there are some problems with Pegasus on Wine: https://appdb.winehq.org/objectManager.php?sClass=version&iId=40720 Maybe the workaround mentioned there will work for you?

Edit: wording
 
The application is Pegasus e-mail client, w32-480.exe
This hints it's a 32bit x86 application and
2) wine: could not load kernel32.dll, status c0000135
this is more or less fatal, kernel32.dll is one of the core DLLs providing Windows' system API (no program can work without them).

But maybe it's the 32bit version that can't be loaded? Are you by any chance on amd64 and did not follow the instructions to install a 32bit wine userland?

In short: /usr/local/share/wine/pkg32.sh install wine mesa-dri (which will install it in your home dir, you can set WINE_i386_ROOT to change the location).
 
The second thing to check is applications database for Wine. As I see, there are some problems with Pegasus on Wine: https://appdb.winehq.org/objectManager.php?sClass=version&iId=40720 Maybe the workaround mentioned there will work for you?

Edit: wording

Yep, thats the trick.

1656837167684.png
 
This hints it's a 32bit x86 application and

this is more or less fatal, kernel32.dll is one of the core DLLs providing Windows' system API (no program can work without them).

But maybe it's the 32bit version that can't be loaded? Are you by any chance on amd64 and did not follow the instructions to install a 32bit wine userland?

In short: /usr/local/share/wine/pkg32.sh install wine mesa-dri (which will install it in your home dir, you can set WINE_i386_ROOT to change the location).

No. I am not on an amd64 system. Mine is complete Intel, and yes, the application is a 32bit x86 app.

More later, and thanks,

Ken
 
No. I am not on an amd64 system. Mine is complete Intel, and yes, the application is a 32bit x86 app.
Amd64 means any CISC 64bit compatible processor capable, which also includes any Intel processor since Pentium 4 nocona. If you're running a 64bit FreeBSD in a Intel processor, then it's amd64. The question is, your OS is 32bit or 64bit?
 
OK. First of all, what is wine-proton? Secondly, how do I find out what version of WINE my (so far) successful install is?

Amd64 means any CISC 64bit compatible processor capable, which also includes any Intel processor since Pentium 4 nocona. If you're running a 64bit FreeBSD in a Intel processor, then it's amd64. The question is, your OS is 32bit or 64bit?

Oh! Of course! Sorry, I misunderstood the question. After all, I AM 80 years old now, and sometimes I'm a bit slow, darn it!

My system is a 64 bit system. I am using a series 12 Intel CPU and have 16 gb of RAM. I had to rebuild my desktop about three weeks ago as the old mobo had failed: it would no longer "see" its SATA ports. For Windows, I am using Win10-64.

The "prefix" I built for Pegasus is a win32 prefix, as I mentioned above.

I will immediately do this: /usr/local/share/wine/pkg32.sh install wine mesa-dri, which I had skipped when I first installed WINE.

Again, thank you.

Ken
 
OK. First of all, what is wine-proton? Secondly, how do I find out what version of WINE my (so far) successful install is?
There's 3 wines on ports: emulators/wine, emulators/wine-devel and emulators/wine-proton.
emulators/wine - Is the stable one and advisable to be installed. But of course, some softwares may or may not work on him
emulators/wine-devel - Is a more up-to-date one but it has some issues, but some software will only work with this. It also may or may not work.
emulators/wine-proton - Is a wine supported by Valve (the guys behind steam). It has Valve's own patches and lots of extra stuff. Is the one to be used with steam, but you can also use it with different software, specially games.

The "prefix" I built for Pegasus is a win32 prefix, as I mentioned above.
As long you're using the wine command (which is a bash script), it'll detect if your prefix is 32 or 64, but you need your win32 prefix, which is instalable by the pkg32.sh mentioned (it will install on .i386-wine-pkg at your home directory).
 
Last edited by a moderator:
OK. When I did /usr/local/share/wine/pkg32.sh install wine mesa-dri, it wants to delete wine-devel and install wine. So, I tell it "No", then I attempt to install /usr/local/share/wine/pkg32.sh install wine-devel mesa-dri , and that ends with "The most recent versions of packages are already installed."

So, then I do, /usr/local/share/wine/pkg32.sh install mesa-dri, and I get "The most recent versions of packages are already installed." again.

So, OK, I then try wine w32-480.exe in the Pegasus prefix, and get (among others), wine: could not load kernel32.dll, status c0000135 again.

Now, one of the other error-messages I get is, 002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L "Microsoft.Windows.Common-Controls" (6.0.0.0) , but I suspect that this may not be particularly important.

All of the above done as a regular user, never as root.

So, at this point, I am still stuck. Maybe I have a permissions problem...

I'll do a whereis or a find to see if kernel32.dll is somewhere on my system...

Ken
 
OK. When I did /usr/local/share/wine/pkg32.sh install wine mesa-dri, it wants to delete wine-devel and install wine. So, I tell it "No", then I attempt to install /usr/local/share/wine/pkg32.sh install wine-devel mesa-dri , and that ends with "The most recent versions of packages are already installed."
It's because wine and wine-devel uses the same PATH, so they can't co-exist (wine-proton can because it installs in his own directory). Just to mention, you need the same version on both prefixes to work, let's say, if you install wine on system, you should also install wine with pkg32.sh. Same for wine-devel.
 
There's 3 wines on ports: emulators/wine, emulators/wine-devel and emulators/wine-develwine-proton.
emulators/wine - Is the stable one and advisable to be installed. But of course, some softwares may or may not work on him
emulators/wine-devel - Is a more up-to-date one but it has some issues, but some software will only work with this. It also may or may not work.
emulators/wine-proton - Is a wine supported by Valve (the guys behind steam). It has Valve's own patches and lots of extra stuff. Is the one to be used with steam, but you can also use it with different software, specially games.

OK, thanks, that is all very interesting. First of all I first installed emulators/wine by using pkg install wine. That failed completely. Then I installed emulators/wine-devel by pkg...etc

That worked just fine, and is, apparently, working correctly now.

As long you're using the wine command (which is a bash script), it'll detect if your prefix is 32 or 64, but you need your win32 prefix, which is instalable by the pkg32.sh mentioned (it will install on .i386-wine-pkg at your home directory).

I installed a win32 prefix as shown in my first post. When I tried to install Pegasus, in that prefix, wine didn't complain.

Maybe I should try i386-wine w32-480.exe in that win32 prefix.

Ken
 
It's because wine and wine-devel uses the same PATH, so they can't co-exist (wine-proton can because it installs in his own directory). Just to mention, you need the same version on both prefixes to work, let's say, if you install wine on system, you should also install wine with pkg32.sh. Same for wine-devel.

OK, that makes sense, but I really don't want wine anyway, because it never worked, whereas wine-devel does work.

But I still need kernel32.dll

Ken
 
What the?!?!?!?

When I do find / -name "kernel32.dll", I eventually get: /usr/home/Ken/.i386-wine-pkg/usr/local/lib/wine/i386-windows/kernel32.dll, and another instance of kernel32.dll in /usr/local/lib/wine/x86_64-windows/kernel32.dll

So why doesn't wine find that, and can I simply copy kernel32.dll into my Pegasus prefix?

I think I'll try that and see what happens. I hope I don't break anything....

Ken
 
Well, heck! I still get wine: could not load kernel32.dll, status c0000135. Rats!

Probably something wrong with the path...

Well, I can't work on this anymore today. Thanks for the help, people. Much appreciated. Later.

Ken
 
Well, that didn't work. I get sh: i386-wine: not found which I suppose I should have expected.

Ken
It's just wine. There's a wine binary in your 32bit path (that one in your home) and in your 64bit path (your system), so don't worry about it. The script will use the right one.
OK, that makes sense, but I really don't want wine anyway, because it never worked, whereas wine-devel does work.
Then install wine-devel on both: In your system and with pkg32.sh.
When I do find / -name "kernel32.dll", I eventually get: /usr/home/Ken/.i386-wine-pkg/usr/local/lib/wine/i386-windows/kernel32.dll, and another instance of kernel32.dll in /usr/local/lib/wine/x86_64-windows/kernel32.dll
The one in /usr/home/Ken/.i386-wine-pkg is the 32bit one, the other instance is the 64bit one, it's fine.
Well, heck! I still get wine: could not load kernel32.dll, status c0000135. Rats!
Well, this one looks like /proc not mounted (but you said that is already mounted, so I'll discard this option), other than that I'm clueless. Maybe Alexander88207 can help with this one?
 
Well, as I said earlier, i added proc /proc procfs rw 0 0 to my fstab, there is a proc in the root directory which has tons of other numbered directories in it, so I am assuming that /proc is mounted.

I will check my fstab just to be certain I haven't fat-fingered it...

Ken
 
OK. I removed that "proc" statement in my /etc/fstab, and although the directory proc still exists in my root directory, it is now empty. Reactivating the statement in my /etc/fstab and rebooting, now shows all those numbered directories in /proc again, so I believe it is OK. (?)

Ken
 
Well, as I said earlier, i added proc /proc procfs rw 0 0 to my fstab, there is a proc in the root directory which has tons of other numbered directories in it, so I am assuming that /proc is mounted.
Yes, exactly like that. So it's fine.
I think the issue is somewhere else I'm not aware.
 
Do you have already tried a new clean prefix?

WINEPREFIX=$HOME/test wine /path/to/installer.exe

Not yet, but I will do so tomorrow. In any case, I think it would have to be WINEARCH=win32 WINEPREFIX=$HOME/test wine /path/to/installer.exe, wouldn't it?

Also, the last time I did wine w32-480.exe, I got an additional, new, error this time. It is:

0024:err:module:import_dll Library kernelbase.dll (which is needed by L "Z: \\Ken\\Pegasus\\kernel32.dll") not found

Something changed, but I don't yet know what.

Ken
 
Well, what the heck!!!???!!:eek:

I did WINEARCH=win32 WINEPREFIX=$HOME/test wine /home/Ken/Pegasus/w32-480.exe, and the Pegasus opening screen suddenly popped up!!!!!

What the heck happened?

Ken
 
Back
Top