itchio / itch

🎮 The best way to play your itch.io games
https://itch.io/app
MIT License
2.35k stars 209 forks source link

Failed to retrieve butler for windows-386 on Linux #2788

Open Daniikk1012 opened 2 years ago

Daniikk1012 commented 2 years ago

"HTTP File not found" error occurs when I try to run a Windows game under Linux, after installing prereqs.

leafo commented 2 years ago

Can you share a screenshot? Are you sure it's saying butler couldn't be downoaded? or is the error originating from butler?

Daniikk1012 commented 2 years ago

I am not sure what is going on here, now there seems to be a 'Continue' button that allows me to play the game even though the error still occurs.

Here's part of the log message, I assumed that there are problems downloading butler because of the debug messages:

{"time":1648227620743,"level":30,"msg":"Will perform prereqs installation elevated because of (vcredist-2019-x64)"}
{"time":1648227620743,"level":20,"msg":"Fetching butler for windows..."}         
{"time":1648227620743,"level":20,"msg":"Channel: (windows-386)"}                 
{"time":1648227620743,"level":20,"msg":"Version: (v15.21.0)"}                    
{"time":1648227620743,"level":20,"msg":"Will install to: (/home/daniyar/.config/itch/prereqs/windows-386/butler/v15.21.0)"}
{"time":1648227627431,"level":40,"msg":"While handling prereqs: HTTP file not found on server\ngithub.com/itchio/httpkit/htfs.normalizeError\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/htfs/file.go:570\ngithub.com/itchio/httpkit/htfs.Open\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/htfs/file.go:182\ngithub.com/itchio/httpkit/eos.realOpen\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/eos/eos.go:137\ngithub.com/itchio/httpkit/eos.Open\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/eos/eos.go:67\ngithub.com/itchio/butler/shell.fetchWindowsButler\n\t/builds/itchio/butler/shell/runself.go:179\ngithub.com/itchio/butler/shell.RunSelf\n\t/builds/itchio/butler/shell/runself.go:84\ngithub.com/itchio/butler/cmd/prereqs.(*handler).InstallPrereqs\n\t/builds/itchio/butler/cmd/prereqs/install.go:63\ngithub.com/itchio/butler/endpoints/launch/launchers/native.handlePrereqs\n\t/builds/itchio/butler/endpoints/launch/launchers/native/prereqs.go:149\ngithub.com/itchio/butler/endpoints/launch/launchers/native.(*Launcher).Do\n\t/builds/itchio/butler/endpoints/launch/launchers/native/native.go:72\ngithub.com/itchio/butler/endpoints/launch.Launch.func1\n\t/builds/itchio/butler/endpoints/launch/launch.go:273\ngithub.com/itchio/butler/endpoints/launch.withInstallFolderLock\n\t/builds/itchio/butler/endpoints/launch/with_install_folder_lock.go:80\ngithub.com/itchio/butler/endpoints/launch.Launch\n\t/builds/itchio/butler/endpoints/launch/launch.go:35\ngithub.com/itchio/butler/butlerd/messages.(*LaunchType).Register.func1\n\t/builds/itchio/butler/butlerd/messages/messages.go:2866\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest.func2\n\t/builds/itchio/butler/butlerd/router.go:306\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest\n\t/builds/itchio/butler/butlerd/router.go:315\ngithub.com/itchio/butler/butlerd.(*gatedHandler).HandleRequest\n\t/builds/itchio/butler/butlerd/butlerd.go:159\ngithub.com/itchio/butler/butlerd/jsonrpc2.(*connImpl).handleIncomingMessage.func1\n\t/builds/itchio/butler/butlerd/jsonrpc2/jsonrpc2.go:250\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1373\nhtfs.Open (initial request)\ngithub.com/itchio/httpkit/htfs.Open\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/htfs/file.go:182\ngithub.com/itchio/httpkit/eos.realOpen\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/eos/eos.go:137\ngithub.com/itchio/httpkit/eos.Open\n\t/root/go/pkg/mod/github.com/itchio/httpkit@v0.0.0-20200618110940-5044e418b971/eos/eos.go:67\ngithub.com/itchio/butler/shell.fetchWindowsButler\n\t/builds/itchio/butler/shell/runself.go:179\ngithub.com/itchio/butler/shell.RunSelf\n\t/builds/itchio/butler/shell/runself.go:84\ngithub.com/itchio/butler/cmd/prereqs.(*handler).InstallPrereqs\n\t/builds/itchio/butler/cmd/prereqs/install.go:63\ngithub.com/itchio/butler/endpoints/launch/launchers/native.handlePrereqs\n\t/builds/itchio/butler/endpoints/launch/launchers/native/prereqs.go:149\ngithub.com/itchio/butler/endpoints/launch/launchers/native.(*Launcher).Do\n\t/builds/itchio/butler/endpoints/launch/launchers/native/native.go:72\ngithub.com/itchio/butler/endpoints/launch.Launch.func1\n\t/builds/itchio/butler/endpoints/launch/launch.go:273\ngithub.com/itchio/butler/endpoints/launch.withInstallFolderLock\n\t/builds/itchio/butler/endpoints/launch/with_install_folder_lock.go:80\ngithub.com/itchio/butler/endpoints/launch.Launch\n\t/builds/itchio/butler/endpoints/launch/launch.go:35\ngithub.com/itchio/butler/butlerd/messages.(*LaunchType).Register.func1\n\t/builds/itchio/butler/butlerd/messages/messages.go:2866\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest.func2\n\t/builds/itchio/butler/butlerd/router.go:306\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest\n\t/builds/itchio/butler/butlerd/router.go:315\ngithub.com/itchio/butler/butlerd.(*gatedHandler).HandleRequest\n\t/builds/itchio/butler/butlerd/butlerd.go:159\ngithub.com/itchio/butler/butlerd/jsonrpc2.(*connImpl).handleIncomingMessage.func1\n\t/builds/itchio/butler/butlerd/jsonrpc2/jsonrpc2.go:250\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1373\ngithub.com/itchio/butler/cmd/prereqs.(*handler).InstallPrereqs\n\t/builds/itchio/butler/cmd/prereqs/install.go:97\ngithub.com/itchio/butler/endpoints/launch/launchers/native.handlePrereqs\n\t/builds/itchio/butler/endpoints/launch/launchers/native/prereqs.go:149\ngithub.com/itchio/butler/endpoints/launch/launchers/native.(*Launcher).Do\n\t/builds/itchio/butler/endpoints/launch/launchers/native/native.go:72\ngithub.com/itchio/butler/endpoints/launch.Launch.func1\n\t/builds/itchio/butler/endpoints/launch/launch.go:273\ngithub.com/itchio/butler/endpoints/launch.withInstallFolderLock\n\t/builds/itchio/butler/endpoints/launch/with_install_folder_lock.go:80\ngithub.com/itchio/butler/endpoints/launch.Launch\n\t/builds/itchio/butler/endpoints/launch/launch.go:35\ngithub.com/itchio/butler/butlerd/messages.(*LaunchType).Register.func1\n\t/builds/itchio/butler/butlerd/messages/messages.go:2866\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest.func2\n\t/builds/itchio/butler/butlerd/router.go:306\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest\n\t/builds/itchio/butler/butlerd/router.go:315\ngithub.com/itchio/butler/butlerd.(*gatedHandler).HandleRequest\n\t/builds/itchio/butler/butlerd/butlerd.go:159\ngithub.com/itchio/butler/butlerd/jsonrpc2.(*connImpl).handleIncomingMessage.func1\n\t/builds/itchio/butler/butlerd/jsonrpc2/jsonrpc2.go:250\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1373\ngithub.com/itchio/butler/endpoints/launch/launchers/native.handlePrereqs\n\t/builds/itchio/butler/endpoints/launch/launchers/native/prereqs.go:151\ngithub.com/itchio/butler/endpoints/launch/launchers/native.(*Launcher).Do\n\t/builds/itchio/butler/endpoints/launch/launchers/native/native.go:72\ngithub.com/itchio/butler/endpoints/launch.Launch.func1\n\t/builds/itchio/butler/endpoints/launch/launch.go:273\ngithub.com/itchio/butler/endpoints/launch.withInstallFolderLock\n\t/builds/itchio/butler/endpoints/launch/with_install_folder_lock.go:80\ngithub.com/itchio/butler/endpoints/launch.Launch\n\t/builds/itchio/butler/endpoints/launch/launch.go:35\ngithub.com/itchio/butler/butlerd/messages.(*LaunchType).Register.func1\n\t/builds/itchio/butler/butlerd/messages/messages.go:2866\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest.func2\n\t/builds/itchio/butler/butlerd/router.go:306\ngithub.com/itchio/butler/butlerd.(*Router).HandleRequest\n\t/builds/itchio/butler/butlerd/router.go:315\ngithub.com/itchio/butler/butlerd.(*gatedHandler).HandleRequest\n\t/builds/itchio/butler/butlerd/butlerd.go:159\ngithub.com/itchio/butler/butlerd/jsonrpc2.(*connImpl).handleIncomingMessage.func1\n\t/builds/itchio/butler/butlerd/jsonrpc2/jsonrpc2.go:250\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1373"}
{"time":1648227627459,"level":20,"msg":"Calling Fetch.Commons","name":"mcall"}   

The game requires vcruntime 2019 and by default has paths set up to windows paths in its .itch.toml, so I modified it a little, otherwise stat error occurs. File initially looked like this:

[[prereqs]]                                                                   
name = "vcredist-2019-x64"                                                   

[[actions]]            
name = "play"                                                                   
path = "Ynglet\\Ynglet.exe"                                                      

[[actions]]
name = "Play 2013 Game Jam Prototype"
path = "Ynglet 2013 Game Jam\\Ynglet.exe"

And I edited it like this:

[[prereqs]]                                                                   
name = "vcredist-2019-x64"                                                   

[[actions]]            
name = "play"                                                                   
path = "Ynglet/Ynglet.exe"                                                      

[[actions]]
name = "Play 2013 Game Jam Prototype"
path = "Ynglet 2013 Game Jam/Ynglet.exe"