Kuuchuu / BG3ModManager-LinuxLauncher

Linux Launcher and non-Steam game adder for BG3ModManager
MIT License
20 stars 2 forks source link

returned non-zero exit status 99 #3

Open mbauer599 opened 9 months ago

mbauer599 commented 9 months ago

Just putting this in here for anyone else who may encounter errors:

Installing dotnet472 if necessary...
Running WINEPREFIX=/home/user/.local/share/wineprefixes/BG3MM/ winetricks dotnet472
Traceback (most recent call last):
  File "/opt/BG3MM/linux.py", line 258, in <module>
    main()
  File "/opt/BG3MM/linux.py", line 243, in main
    setup_wineprefix()
  File "/opt/BG3MM/linux.py", line 103, in setup_wineprefix
    run_command(f"WINEPREFIX={prefix_location} winetricks dotnet472")
  File "/opt/BG3MM/linux.py", line 82, in run_command
    result = subprocess.run(cmd, shell=True, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'WINEPREFIX=/home/user/.local/share/wineprefixes/BG3MM/ winetricks dotnet472' returned non-zero exit status 99.
warning: This package (dotnet45) is broken in wine-8.0.2. Broken since 5.18. See https://bugs.winehq.org/show_bug.cgi?id=49897 for more info. Use --force to try anyway.

As suggested, and exactly what I expect from .net, I just forced it through but I'm also super lazy so I just added --force to winetricks in the script.

FlatDevice commented 4 months ago

THANKS FOR MENTIONING THIS. Ran into exactly this problem. Thank you thank you.

jpruitt2297 commented 2 months ago

Where did you insert --force? I attempted added it to the end of the line saying run command for installing dotnet472 but still got non-zero exit code 99

mbauer599 commented 2 months ago

@jpruitt2297

Where did you insert --force? I attempted added it to the end of the line saying run command for installing dotnet472 but still got non-zero exit code 99

In linux.py where winetricks is called. Just be aware that this IS the lazy solution. But I'm okay with that.


def setup_wineprefix():
    # Create WINEPREFIX if it doesn't exist
    print("Checking if WINEPREFIX exists...")
    if not os.path.exists(prefix_location):
        print("Creating WINEPREFIX...")
        os.makedirs(prefix_location)
        print(f"{prefix_location} created, running winecfg.")
        notify("Click 'OK' on the 'Wine configuration' window when it appears to
 continue...")
        run_command(f"WINEPREFIX={prefix_location} winecfg")
    print("Installing dotnet472 if necessary...")
    run_command(f"WINEPREFIX={prefix_location} winetricks --force dotnet472")
    print("Installing d3dcompiler_47 if necessary...")
    run_command(f"WINEPREFIX={prefix_location} winetricks --force d3dcompiler_47")
jpruitt2297 commented 2 months ago

Ah, okay. I think when I attempted that but I put the --force after the components attempting install. I did manage to fix this situation though through winegui handling installs to the wineprefix with no issues. So I guess if someone still has trouble, they could try that.

@jpruitt2297

Where did you insert --force? I attempted added it to the end of the line saying run command for installing dotnet472 but still got non-zero exit code 99

In linux.py where winetricks is called. Just be aware that this IS the lazy solution. But I'm okay with that.

def setup_wineprefix():
    # Create WINEPREFIX if it doesn't exist
    print("Checking if WINEPREFIX exists...")
    if not os.path.exists(prefix_location):
        print("Creating WINEPREFIX...")
        os.makedirs(prefix_location)
        print(f"{prefix_location} created, running winecfg.")
        notify("Click 'OK' on the 'Wine configuration' window when it appears to
 continue...")
        run_command(f"WINEPREFIX={prefix_location} winecfg")
    print("Installing dotnet472 if necessary...")
    run_command(f"WINEPREFIX={prefix_location} winetricks --force dotnet472")
    print("Installing d3dcompiler_47 if necessary...")
    run_command(f"WINEPREFIX={prefix_location} winetricks --force d3dcompiler_47")