geefr / beatsaber-linux-goodies

Mod installation scripts and other goodies to support Beat Saber on Linux
BSD 2-Clause "Simplified" License
132 stars 5 forks source link

Failed to install .Net 4.6.1 #47

Closed ominitay closed 4 years ago

ominitay commented 4 years ago

Upon running ./QBeat --setup-wine, the installation fails at installing .Net 4.6.1. Logs are tiny so I'll post it here:


Executing: /hddhome/Games/beatsaber-modding/bs-linux-setup-wine.sh
Script execution failed: 
Executing mkdir -p /home/renami
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20200412-next - sha256sum: 57c09343a9a09359b7f7556113f36670037a3d860848113283a36f34b9388562 with wine-5.15 and WINEARCH=win64
Executing w_do_call dotnet461
Executing mkdir -p /home/renami
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_dotnet461 
ERROR: Failed to install .Net 4.6.1

FAILURE: Setup of wine prefix failed
geefr commented 4 years ago

Yay! Those logs just mean winetricks failed for some reason, if winetricks didn't output anything more useful it'll be a pain to work out what's wrong.

I'll need more info on your setup

ominitay commented 4 years ago

I am running a minimal install of Arch (kernel is 5.8.5-arch1-1). Wine version is 5.16-1. QBeat winePrefix is ~/.wine (a new directory, not in use by anything else. I only reinstalled Arch due to other reasons a few days ago, so it is definitely a new Wine install. Iirc, no installer UIs appeared at all.

mtfurlan commented 4 years ago

Looks like this is being tracked at https://github.com/Winetricks/winetricks/issues/1596

ominitay commented 4 years ago

I changed the script to use the fixed(?) version of Winetricks, (in #1599), and the script seems to get further, but still fails. Logs pasted here.

geefr commented 4 years ago

Looks like it ran winetricks okay so you might have a valid setup. I'll admit the detection of whether .net is installed is quite rudimentary in QBeat.

I think if you run QBeat --patch it doesn't actually require the validate-wine script to pass, so might just go ahead and work regardless. If not if you open up the scripts and just set them to exit 0 after installing wine/when trying to validate it should continue and try to run IPA.exe anyway.

Another test would be if you can open ModAssistant using that copy of wine - If it'll open then IPA should also work correctly

ominitay commented 4 years ago

Oh, I may have got it working, as I am getting an installer window now! I'll keep you posted.

ominitay commented 4 years ago

About 770 mscorsvw.exe processes were created after the first installer, which filled up the entirety of my system's memory. This caused the system to crash, interrupting the setup. This made ./QBeat --patch fail every time, despite the script assuming that the wine prefix was intact. The solution was to run pkill mscorsvw.exe after each installer finishes running. This fixed the issue with a runaway number of processes crashing the system. It may be worth adding to the readme to pkill mscorsvw.exe after each installer, otherwise it can cause that catastrophic runaway which completely blocks an install. Also, it might be a good idea to amend the script to use the fixed version of winetricks for the time being, until the PR is merged.

geefr commented 4 years ago

Oookay. Thanks for working it out.

I won't actively change things right now but if there's a PR I'd probably merge it. Default run would still need to use current winetricks, I won't have time to monitor/revert the change later but adding a workaround env var or similar would be fine, already got a few of those in for ssl errors/similar.

Unless this affects every user that is. In short if ubuntu/mint users get this then I'll merge whatever is needed to make qbeat work.

mtfurlan commented 4 years ago

It's an issue with the bash logic, so it will effect everyone installing dotnet stuff. I expect it to be fixed in winetricks pretty soon though, the issue was opened 9 days ago and the testing branch from a dev is from 3 days ago.

ominitay commented 4 years ago

I've made a PR (#48) adding a variable to override the default script url. :smiley:

geefr commented 4 years ago

Thanks again to the both of you, please shout when there's more issues/etc.