sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.15k stars 72 forks source link

Cant install MO2 through Main Menu or konsole #680

Closed McGriggles closed 1 year ago

McGriggles commented 1 year ago

System Information

Issue Description

Tried installing from the Main Menu. The pop up window appears and says that its downloading/installing MO2 0% then prematurely closes. Trying to install it with the "./steamtinkerlaunch mo2 start" command gives me an error in the konsole stating:

"innoextract: error while loading shared libraries: libboost_iostreams.so.1.78.0: cannot open shared object file: No such file or directory".

Trying to launch mo2 gui fails to launch and stl asks to retry settings. Attempted with Fallout 4, will be attempting with Skyrim SE now. Had previously installed mo2 with the rockerbacon script/installer, but had made sure to delete all files/directories as well as deleted and redownloaded and verified fallout/f4se .exe files prior to setting up Steam Tinker Launcher.

Logs

steamtinkerlaunch.log 489830.log

sonic2kk commented 1 year ago

Thanks for opening an issue!

I recommend trying SteamTinkerLaunch-git on Steam Deck instead of the latest stable, to ensure you're getting the latest Steam Deck bug fixes. As SteamTinkerLaunch is still primarily a Linux desktop utility, Steam Deck support is a work in progress, and v11.11 is missing many improvements. You can install SteamTinkerLaunch-git from ProtonUp-Qt, though you may need to enable Advanced Mode first under the ProtonUp-Qt "About" menu :-)

Also, which version of SteamOS are you using?


Copied from the previous issue:

In the meantime I looked up that error and I couldn't find anything useful yet. I found various posts talking about it but none in relation to innoextract and they were about compilation issues across distros, which shouldn't apply here.

Did you by any chance install any packages by disabling the read-only filesystem? If so, it's possible some of these dependencies may have pulled in innoextract or otherwise may be causing some issues/conflicts.

I just checked and there may be a newer version of innoextract available that SteamTinkerLaunch can use. The latest on the Arch archives seems to be 1.9-7, I forget what SteamTinkerLaunch uses if I kept the wiki up-to-date correctly, SteamTinkerLaunch uses innoextract 1.9-5. It also worked previously, maybe a SteamOS update changed something? Not sure right now :-)

If the issue persists with STL git, you could try manually replacing the innoextract binary in ~/stl/deps/usr/bin with the latest one from the Arch archives (the one ending in .zst, the one ending in .sig is for Pacman which we aren't using here). Extract it into the path mentioned and if necessary, rename it to innoextract. Then try installing MO2.

A version bump for innoextract may be needed I guess. Bumps from -5 to -7 are usually very minor rebuild fixes but maybe if some SteamOS packages changed this is necessary :-)

McGriggles commented 1 year ago

I am running SteamOS 3.4. I have done what you suggested through ProtonUp-Qt and now have the steamtinkerlauncher-git build. I grabbed the MO2 overhaul build, hopefully thats okay.

I have installed a package or two and had to disable read-only to do so, correct. One i definitely had to install that way that I can remember is Insync. I will try what you suggested about innoextract if I continue having this issue on the latest git build. Will respond with an update soon.

Do you think its possible this has anything to do with the rockerbacon (https://github.com/rockerbacon/modorganizer2-linux-installer) install script I previously used before I installed STL? I tried to delete anything associated with it but im not sure if anything got past me that cause confuse your mo2 installer or something?

sonic2kk commented 1 year ago

The MO2-overhaul branch is mostly up-to-date so it should be fine but if you still have issues, feel free to try master :-)

I am running SteamOS 3.4

Very interesting! I'm not on the Preview channel so I'm not sure which packages may have changed here. It's certainly possible that a newer innoextract version is required.

lnsync

I looked this package up. I guess there's a possibility that it could be causing issues, but I'm not sure. Installing packages by disabling the read-only filesystem could cause issues with a variety of features on Steam Deck but I didn't check all the dependencies. You could run pacman -Qi innoextract to see if it was installed as a dependency for another package or if, potentially, it is now included as part of SteamOS 3.4 (though I don't imagine this being the case).

rockerbacon

I think you're fine :-) This problem seems to be an issue with a SteamTinkerLaunch dependency called innoextract, which is basically used to silently run through installers i.e. the MO2 installer. So since you're getting this error I would assume that MO2 is unable to install at all, since the dependency required to run the installer is falling over with this error.

As far as I know there hasn't been any testing with SteamOS 3.4, but since it uses a slew of updated packages it's possible that:

  1. The newer innoextract package is needed as the older one is incompatible with the newer libraries on SteamOS 3.4
  2. SteamOS 3.4 now packages a version of innoextract that is untested with SteamTinkerLaunch
  3. A package you have installed has installed a version of innoextract that SteamTinkerLaunch was not tested with / that will not with with MO2

On Steam Deck, STL downloads innoextract from the Arch mirrors. Since SteamOS 3.4 is quite a significant bump it's possible that the rebuilt innoextract package is required.

Either way, when I have time (probably tomorrow evening) I'll bump the innoextract version that STL downloads because it's good to keep that up to date.

Thanks a lot for all the cooperation here! I appreciate it particularly with being new to opening issues on GitHub. I haven't had a chance to read the log yet (currently in bed replying on my phone, about to go to sleep) but we'll get to the bottom of the issue here I'm sure :-)

McGriggles commented 1 year ago

Hallelujah! Replacing the innoextract binary with the latest one you linked worked like a charm it seems. Install worked and i was prompted with the coveted instance creation window. Not sure if that explains exactly which of the theories are correct but at least you know the solution. No need to thank me, you put in all the hard work for us I should be thanking you really. I work on a large scale mod project for Fallout 4 and being able to sync our repository to my steam deck (thats why I needed Insync) and load it as a mod through MO2 is a dream come true. I only wish I found STL sooner. And all the work you are putting into making MO2 a better experience is just grand.

sonic2kk commented 1 year ago

Oh my goodness, thank you for the kind words! I'm really glad this fixed the issue, I'm going to leave the issue open until I can push out a fix later - it's just a one-character change to bump the version. In my very humble opinion, the libraries with SteamOS 3.4 are different and perhaps a dependency of a dependency (i.e. libboost?) expects a different version of a package with the older innoextract version.

I'm not at my PC right now so I can't bump the version but thank you a ton for testing! I would also like to apologize, reading through some of my responses last night I was a bit unclear with some of the steps and I could've phrased some things better (it was 3am for me so I blame that hehe).

And just a small aside: The reason we bump the version manually is just in case on Steam Deck there is ever a compatibility. Choosing a specific package version that we know works helps eliminate those potential issues.

Also very nice to hear that this worked even with the mo2-overhaul branch (which should be merged in soon pending some additional testing with my existing mod setups).

Glad to hear you like STL :-) I have only taken over recently (~1 month) as maintainer after being a contributor for a while, so it's very encouraging to hear that even though there was a small hiccup, it's turned out to be a positive experience overall.

P.S. - Good luck with your mod project and for possibly testing it on Steam Deck/Linux!