anegostudios / VintageStory-Issues

Vintage Story's public issue tracker for reporting bugs, crashes and the like
46 stars 16 forks source link

[linux] .net v7 is no longer supported, cannot run the game #4000

Open theludovyc opened 3 months ago

theludovyc commented 3 months ago

Game Version

v1.19.8

Platform

Linux

Modded

None

SP/MP

None

Description

./Vintagestory
You must install or update .NET to run this application.

App: /home/theludovyc/.local/share/vintagestory/Vintagestory
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '7.0.0' (x64)
.NET location: /usr/lib/dotnet

The following frameworks were found:
  8.0.7 at [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Learn more:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=7.0.0&arch=x64&rid=ubuntu.24.04-x64&os=ubuntu.24.04

image

https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2404#unsupported-versions

Maybe this horrible workaround works [edit: look likes not work anymore, please look my other comment bellow] https://stackoverflow.com/questions/75557437/installing-dotnet-sdk-7-0-on-ubuntu-20-04-and-22-04-breaks-net6-0-projects-an

For now I have conflicts because I installed the v8

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dotnet-host-8.0 : Conflicts: dotnet-host
 dotnet-runtime-deps-7.0 : Depends: libicu but it is not installable or
                                    libicu72 but it is not installable or
                                    libicu71 but it is not installable or
                                    libicu70 but it is not installable or
                                    libicu69 but it is not installable or
                                    libicu68 but it is not installable or
                                    libicu67 but it is not installable or
                                    libicu66 but it is not installable or
                                    libicu65 but it is not installable or
                                    libicu63 but it is not installable or
                                    libicu60 but it is not installable or
                                    libicu57 but it is not installable or
                                    libicu55 but it is not installable or
                                    libicu52 but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

For now I paid and I cannot play the game at all...

theludovyc commented 3 months ago

Can be related with #3926

theludovyc commented 3 months ago

I remove .net v8 and this is what I get

$ sudo apt-get update && sudo apt-get install -y dotnet-sdk-7.0
...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dotnet-runtime-deps-7.0 : Depends: libicu but it is not installable or
                                    libicu72 but it is not installable or
                                    libicu71 but it is not installable or
                                    libicu70 but it is not installable or
                                    libicu69 but it is not installable or
                                    libicu68 but it is not installable or
                                    libicu67 but it is not installable or
                                    libicu66 but it is not installable or
                                    libicu65 but it is not installable or
                                    libicu63 but it is not installable or
                                    libicu60 but it is not installable or
                                    libicu57 but it is not installable or
                                    libicu55 but it is not installable or
                                    libicu52 but it is not installable
E: Unable to correct problems, you have held broken packages.

I made some try but without success

$ sudo apt-get install libicu
[double press tab here]
libicu4j-4.4-java  libicu4j-java      libicu74           libicu-dev
$ sudo apt-get install libicu74
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libicu74 is already the newest version (74.2-1ubuntu3).
libicu74 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

So, the workaround look likes not work anymore...

pingouyn commented 3 months ago

Hi, I am on kubuntu 24.04 Noble with dotnet 7 installed from the ppa and the game works fine, even server.

Looking at what you posted above you could have residual .net 8 files or dependencies which interfer with the .net 7 installation. (dotnet-host-8.0 : Conflicts: dotnet-host). I would not deal with dependencies individually but let the dotnet8 and dotnet7 packages do their stuff, always safer that way.

At the top of this webpage they warn against this: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

What I would do is check the current .net installs: $ sudo apt list dotnet*

If you have both some .net 7 and .net 8 packages installed, hence the conflict, I would uninstall .net 7, re-install .net 8 to resolve conflicts, then proceed to remove .net 8 properly. It's a bit long-winded but let's hope it resolves your dependency issues: $ sudo apt remove dotnet7 $ sudo apt install dotnet8 Then $ sudo apt remove dotnet8

Add the ppa for dotnet 7, if not already installed: $ sudo add-apt-repository ppa:dotnet/backports

Check: $ sudo apt update $ sudo apt list dotnet*

Install .net 7: $ sudo apt install dotnet7

Hope it works for you. Don't hesitate to update the issue tracker if it works so the issue can be closed.

theludovyc commented 3 months ago

Hello @pingouyn :wave:

It works now ! Thank you :blush:

I think it can be useful to add this tutorial somewhere on how to install the donet7. So I do not close this issue for now