taviso / wpunix

WordPerfect for UNIX Character Terminals
643 stars 18 forks source link

Fails to start on Ubuntu under Windows Subsystem for Linux #2

Open Linuxmonger opened 2 years ago

Linuxmonger commented 2 years ago

Downloaded the .deb file, then ran; sudo dpkg --add-architecture i386 sudo apt install ./wordperfect7.0_i386.deb

Running the wp command results in; SRJ@CII:~$ wp /usr/bin/wp: 2: exec: /opt/wp70/wpbin/wp: Exec format error

Switching into the /opt/....wpbin/ folder and directly running wp gives the same error.

I have xterm installed, running the startup command as; exec /opt/wp70/wpbin/wp -c 80 -r 25 -t xterm -bash: /opt/wp70/wpbin/wp: cannot execute binary file: Exec format error -bash: /opt/wp70/wpbin/wp: Success

Any thoughts on if I'm doing something wrong, or if this is just a weirdness of WSL?

emendelson commented 2 years ago

This is strange. I have it running perfectly in Ubuntu under WSL2. Perhaps sudo apt remove wordperfect and try installing again?

taviso commented 2 years ago

I think this is because you are using WSL1, as far as I know there is no support for ELF32 in WSL1.

What does wsl --list --verbose say?

You can switch versions with --set-version, and this is reversible if you want to go back later - but maybe backup with --export first just to be safe!

Linuxmonger commented 2 years ago

On 2022-07-22 11:50, Tavis Ormandy wrote:

I think this is because you are using WSL1, as far as I know there is no support for ELF32 in WSL1.

What does wsl --list --verbose say?

You can switch versions with --set-version, and this is reversible if you want to go back later - but maybe backup with --export first just to be safe!

-- Reply to this email directly, view it on GitHub [1], or unsubscribe [2]. You are receiving this because you authored the thread.Message ID: @.***>

Links:

[1] https://github.com/taviso/wpunix/issues/2#issuecomment-1192711780 [2] https://github.com/notifications/unsubscribe-auth/AGMO3GYL4XGYKSUGO3ND5F3VVK7NTANCNFSM54LOK5DA

Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. Try the new cross-platform PowerShell https://aka.ms/pscore6 PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Deployment Image Servicing and Management tool Version: 10.0.19041.844 Image Version: 10.0.19042.1766 Enabling feature(s) [==========================100.0%==========================] The operation completed successfully. PS C:\WINDOWS\system32> wsl --set-default-version 2 For information on key differences with WSL 2 please visit https://aka.ms/wsl2 The operation completed successfully. PS C:\WINDOWS\system32> wsl --set-version Ubuntu-20.04 2 Conversion in progress, this may take a few minutes... For information on key differences with WSL 2 please visit https://aka.ms/wsl2 There are no more endpoints available from the endpoint mapper. PS C:\WINDOWS\system32> wsl --list --verbose NAME STATE VERSION

So, this isn't your issue - I was hired as the Linux guy at a big company, and so of course they give me a Windows laptop - and one that seems to be locked into an older version of WSL.

I was able to get wp working on a VM, so all is well enough, thank you for your work in getting this working.

zoomosis commented 2 years ago

The WP binary will partially run under WSL1 using qemu-i386. WP gets as far as the main document screen but the program exits a second later. This was with QEMU 2.11 on Ubuntu 18.04 in WSL, which is quite old now, so it's possible it works with a newer version of QEMU.

sudo apt install qemu-user
qemu-i386 /opt/wp70/wpbin/wp -t xterm
taviso commented 2 years ago

Funny, I was just talking about the possibility of using qenu-user on arm! Cool that it nearly works, maybe it just doesn't like the multiple processes?

You could try running wpexc in another terminal, then wp won't spawn it.

emendelson commented 2 years ago

I just tried this (@zoomosis post) under up-to-date WSL and Linux. WP starts up, but is unusable, because the function keys don't seem to be accessible. I had to shut down WSL entirely.

neoanderthal commented 2 years ago

I am running Debian Bullseye under WSL. After upgrading the image to WSL2, WP8 works but only if you first start wp8 from the binary directly ( /opt/wp80/wpbin/wp ). The startup script that gets installed in /usr/bin just hangs at the splash screen with Please Wait at the bottom left corner if you don't do this first for some reason, but afterwards the script works fine.

abenson commented 1 year ago

WP starts up, but is unusable, because the function keys don't seem to be accessible.

Running into a same issue running under qemu-user-static from a Linux ARM host.

Funny, I was just talking about the possibility of using qenu-user on arm! Cool that it nearly works, maybe it just doesn't like the multiple processes?

It looks like the wpexc runs fine, just can't with menus or function keys.

DarrylMcoder commented 6 months ago

WP starts up, but is unusable, because the function keys don't seem to be accessible.

I have the same issue. Has someone found a solution?

emendelson commented 6 months ago

WP starts up, but is unusable, because the function keys don't seem to be accessible.

I have the same issue. Has someone found a solution?

Possibly you're using a laptop or other keyboard that uses the function keys for special purposes like Mute, Brightness, etc. Find the setting that makes the function keys have their normal function, because the function keys work perfectly in WP on a desktop machine.

DarrylMcoder commented 6 months ago

Thanks for the quick response. I didn't know if I could expect a response at all or not. I am trying to run it on Ubuntu Server on a Raspberry Pi Zero 2 W. I used

sudo dpkg --add-architecture i386
sudo apt install ./wordperfect7.0_i386.deb
qemu-i386 /opt/wp70/wpbin/wp

It launches and shows a basic blank screen with File Edit Search Layout Mark Tools Font Graphics Help (Esc,"=") at the top and Doc 1 Pg 1 Ln 1" Pos 1" at the bottom. But it just prints ^[= when I try to press Esc + =. It is this way via SSH and with a keyboard plugged directly into the Pi. Any further insight?

emendelson commented 6 months ago

Try running it under xterm. Beyond that, I'm afraid I can't help.

DarrylMcoder commented 6 months ago

Doesn't make a difference. Thanks for trying to help. If you have any new ideas I'll be glad to hear them

taviso commented 6 months ago

I think you're using an old wp release, maybe try a more recent one? It might not make a difference, I'll try to have a look.. It seems like it's close to working under qemu!

DarrylMcoder commented 6 months ago

It doesn't make a difference. I had tried the newest one first and then tried the older one just in case. The only difference I saw is when I tried running the new one without qemu, just using wp, there was an error something like setach: unknown architecture i686 but the old version actually got just as far as it did with qemu.