rockerbacon / modorganizer2-linux-installer

An easy-to-use Mod Organizer 2 installer for Linux
GNU General Public License v3.0
978 stars 79 forks source link

Lutris wont install the ModManager 2, sha256sum mismatch! #137

Closed mercster closed 4 years ago

mercster commented 4 years ago

Ubuntu 20.04 LTS... Skyrim SE installed via linux Steam client.

lutris -i modorganizer2.yml

Seems to download the program fine, but once it gets to a certain place, there is an error:

sha256sum mismatch! Rename /home/merc/.cache/winetricks/vcrun2019/vc_redist.x86.exe and try again.

I've deleted/renamed the file several times now, it never passes the sha256sum check. Not sure where to go from here...

rockerbacon commented 4 years ago

See #61

zt64 commented 4 years ago

See #61

I have tried everything in #61 and no matter what I do I get the same thing. I'm completely lost at this point and have no idea what to even do.

rockerbacon commented 4 years ago

Microsoft updated Visual C++ 2019 a few days ago which is why the problem popped up again.

zt64 commented 4 years ago

I managed to fix it by downloading the updated Visual C++ 2019 from https://aka.ms/vs/16/release/vc_redist.x86.exe and changing the script.

What I did:

  1. Installed Visual C++ in wine using wine vc_2019.x86.exe
  2. cp ~/Downloads/VC_2019.x86.exe /home/litleck/.cache/winetricks/vcrun2019/vc_2019.x86.exe
  3. chmod +x /home/litleck/.cache/winetricks/vcrun2019/vc_2019.x86.exe
  4. Commented out this section in the modorganizer2.yml file which I believe makes winetricks install vc 2019:
    WINEPREFIX="$game_prefix" \
    "$HOME/.local/share/lutris/runtime/winetricks" -q $mo2_tricks $game_tricks
    if [ "$?" != "0" ]; then
    "$CACHE/utils/dialog.sh" errorbox \
          "Error while installing winetricks, please run Lutris from a terminal and check the logs"
    exit 1
    fi

    After all that I could finally install modorganizer2 without any error.

mercster commented 4 years ago

Litleck:

I commented out the section you provided; the lutris script fails:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lutris/gui/application.py", line 389, in do_command_line
    self.show_window(
  File "/usr/lib/python3/dist-packages/lutris/gui/application.py", line 221, in show_window
    window_inst = window_class(application=self, **kwargs)
  File "/usr/lib/python3/dist-packages/lutris/gui/installerwindow.py", line 92, in __init__
    self.on_scripts_obtained(interpreter.read_script(self.installer_file))
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 58, in read_script
    scripts = yaml.safe_load(open(filename, "r").read())
  File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 162, in safe_load
    return load(stream, SafeLoader)
  File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 114, in load
    return loader.get_single_data()
  File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data
    node = self.get_single_node()
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 82, in compose_node
    node = self.compose_sequence_node(anchor)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
    node.value.append(self.compose_node(node, index))
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/usr/lib/python3/dist-packages/yaml/composer.py", line 127, in compose_mapping_node
    while not self.check_event(MappingEndEvent):
  File "/usr/lib/python3/dist-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/usr/lib/python3/dist-packages/yaml/parser.py", line 438, in parse_block_mapping_key
    raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
  in "<unicode string>", line 164, column 9:
            command: |
            ^
expected <block end>, but found '<scalar>'
  in "<unicode string>", line 328, column 13:
                echo "success" > '$CACHE/success ... 
                ^

So simply commenting out that block does not work. At a loss here. Thanks for your help...

EDIT: OK I also commented out the echo "success" > '$CACHE/successful-prefix-preparation'; it gets further in the installation, but then it complains later. Still working...

EDIT2: I feel there's some goofy indent-related error going on here. What a mess...

EDIT3: And when the installation is cancelled or fails, it still leaves all the SKSE files in the Skyrim directory. Doesn't clean up.

EDIT4: ROFL... OK, I kicked off the installation, and then AS IT WAS GOING, as fast as I can, I:

merc@quanta:~$ touch .cache/lutris/installer/mod-organizer-2/successful-prefix-preparation

This seems to have allowed ModOrganizer2 to install. We will see if it works... this process is fuggered.

zt64 commented 4 years ago

@mercster

That might just be a problem with python cause I think there's some python stuff done after installation. Maybe try reinstalling lutris or python2.7/python3.8. Also if it helps its specifically lines 319 - 325 in the script to comment out.

mercster commented 4 years ago

@mercster

That might just be a problem with python cause I think there's some python stuff done after installation. Maybe try reinstalling lutris or python2.7/python3.8. Also if it helps its specifically lines 319 - 325 in the script to comment out.

Heh, yeah no need to reinstall Python. And I got the right lines. Not sure why our experience was different. At any rate, DURING lutris's installation I touch'd the file it wanted, and seems to have installed. I'm gonna test it with some scripts now. Thanks for your help.

EDIT: I have a feeling that since python is interpreting this file (I think?) and python is a whitespace-conscious language, the line that was supposed to touch the file in the yml wasn't getting interpreted. I don't have time to figure out exactly how many spaces/tabs python wanted before that line, so... I just brute forced it. We'll see! Thanks again.

EDIT2: Resulting installation errors out with C++ Runtime error. This is a disaster. Oh well, I tried. Thanks for the help.

EDIT3: For anyone interested:

Running /home/merc/Games/mod-organizer-2/run.sh
Initial process has started with pid 30234
Game is considered started.
Searching for Steam in '/home/merc/.local/share/Steam'
Found Steam
Searching for Steam in '/home/merc/.var/app/com.valvesoftware.Steam/.local/share/Steam'
Searching for game in library '/home/merc/.local/share/Steam'
Found game
Searching for 'Proton 5.*' in library '/home/merc/.local/share/Steam'
Found Proton

        PATH='/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/bin:/home/merc/.local/bin:/home/merc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/merc/.local/bin:/home/merc/.local/bin' \
        LD_LIBRARY_PATH='/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib32:/lib:/lib/i386-linux-gnu/i686:/lib/i386-linux-gnu/sse2:/lib/i386-linux-gnu/i686/sse2:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i368-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib' \
        STEAM_COMPAT_DATA_PATH='/home/merc/.local/share/Steam/steamapps/compatdata/489830' \
        SteamGameId=489830 \
        SteamAppId=489830 \
        WINEDLLOVERRIDES='xaudio2_7=n,b;' PULSE_LATENCY_MSEC=90 \
        \
        '/home/merc/.local/share/Steam/steamapps/common/Proton 5.0/proton' run '/home/merc/Games/mod-organizer-2/ModOrganizer2/ModOrganizer.exe' 

esync: up and running.
Setting breakpad minidump AppID = 489830
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198120600876 [API loaded no]
zt64 commented 4 years ago

@mercster That might just be a problem with python cause I think there's some python stuff done after installation. Maybe try reinstalling lutris or python2.7/python3.8. Also if it helps its specifically lines 319 - 325 in the script to comment out.

Heh, yeah no need to reinstall Python. And I got the right lines. Not sure why our experience was different. At any rate, DURING lutris's installation I touch'd the file it wanted, and seems to have installed. I'm gonna test it with some scripts now. Thanks for your help.

EDIT: I have a feeling that since python is interpreting this file (I think?) and python is a whitespace-conscious language, the line that was supposed to touch the file in the yml wasn't getting interpreted. I don't have time to figure out exactly how many spaces/tabs python wanted before that line, so... I just brute forced it. We'll see! Thanks again.

EDIT2: Resulting installation errors out with C++ Runtime error. This is a disaster. Oh well, I tried. Thanks for the help.

EDIT3: For anyone interested:

Running /home/merc/Games/mod-organizer-2/run.sh
Initial process has started with pid 30234
Game is considered started.
Searching for Steam in '/home/merc/.local/share/Steam'
Found Steam
Searching for Steam in '/home/merc/.var/app/com.valvesoftware.Steam/.local/share/Steam'
Searching for game in library '/home/merc/.local/share/Steam'
Found game
Searching for 'Proton 5.*' in library '/home/merc/.local/share/Steam'
Found Proton

        PATH='/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/bin:/home/merc/.local/bin:/home/merc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/merc/.local/bin:/home/merc/.local/bin' \
        LD_LIBRARY_PATH='/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib32:/lib:/lib/i386-linux-gnu/i686:/lib/i386-linux-gnu/sse2:/lib/i386-linux-gnu/i686/sse2:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i368-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/merc/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib' \
        STEAM_COMPAT_DATA_PATH='/home/merc/.local/share/Steam/steamapps/compatdata/489830' \
        SteamGameId=489830 \
        SteamAppId=489830 \
        WINEDLLOVERRIDES='xaudio2_7=n,b;' PULSE_LATENCY_MSEC=90 \
        \
        '/home/merc/.local/share/Steam/steamapps/common/Proton 5.0/proton' run '/home/merc/Games/mod-organizer-2/ModOrganizer2/ModOrganizer.exe' 

esync: up and running.
Setting breakpad minidump AppID = 489830
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198120600876 [API loaded no]

Interesting. I also forgot to mention that I installed the vc_2019.x86.exe in wine as well with wine vc_2019.x86.exe. Not sure if it did anything but worth a shot.

mercster commented 4 years ago

Interesting. I also forgot to mention that I installed the vc_2019.x86.exe in wine as well with wine vc_2019.x86.exe. Not sure if it did anything but worth a shot.

Theoretically that would be installing the C++ redistributables in an entirely separate WINE prefix from what Steam is using, so would have no affect.

rockerbacon commented 4 years ago

Please, try to keep all conversation in the original issue. This was closed and marked as a duplicate to avoid fragmenting information.