basic_install exits without error despite multiple errors
-
I debugged this. I'm not sure about fixing as changing it may break calls between modules that don't specifically set a return code. It's only an issue calling setup module functions. This behaviour hasn't changed since 4.5.16.
Get a list of packages you want and do it that way and you can trap the errors.
Having said that I will test with my fix and see if I notice any problems.
-
I may have a workaround which shouldn't affect backward compatibility. I will test it.
-
@BuZz Amazing! Let me know how I can help.
4.5.17 likely wasn’t be the problem, as subsequent builds has not reproduced it consistently. I can’t tell why it went wrong, but the only emulator that was built was N64. Usually there’s 30 emulators (well, their ROMs folders at least). I think the failed atari800 stopped the script but didn’t bubble up the error. Maybe the log will tell you more: https://hub.docker.com/repository/registry-1.docker.io/seriema/retro-cloud/builds/38183daf-6bd1-432a-ada0-ada85af1ec02
Is there a base package I could/should start with? I’m thinking of a slimmer install for now to speed up development as I’ll be focusing on an ARM build.
-
@seriema not sure what you mean by a base package. basic_install installs everything from core and main sections. But what you prefer install is up to you.
-
You should get the right return code now if basic_install fails.
Just to note, the command line interface may change at any time. I try not to break backwards compatibility but it's not guaranteed to be the same. Especially calls outside of the standard module functions like build, install, configure etc.
-
@BuZz Maybe it's "core" that I mean? Basically a minimal installation. Something faster to run (compared to basic_install) but still scaffolds enough of the file system to be useful for my testing.
For testing what you did I queued a new build. The latest version is running here right now and should be done in 2-3 hours:
https://hub.docker.com/repository/registry-1.docker.io/seriema/retro-cloud/builds/8e568eb7-83d7-4405-ace5-cf54e68425c7 -
@seriema said in basic_install exits without error despite multiple errors:
This link (just like the previous one) is not public - seems like an account on docker's site is needed.
-
@mitu Oh. I assumed it'd be public but apparently that's a feature request.
Here's the log for the failed build I linked originally: https://gist.github.com/seriema/9867490750b8faae72ef5a851edb2671
I'll post the current one once it's done (~1h left).
-
@mitu @BuZz Here's the log for the latest RetroPie (558f25c) https://gist.github.com/seriema/05db8d60c11dc18d0285c6495b1b7dd7
The build succeeded, I think? I can't see an obvious error, and the roms folders are there as expected. I'm not sure what caused the failure last time, but it was likely a fluke. I'll see if I can provoke
basic_install
to fail and check the error code. -
@BuZz I unintentionally got two failed installs so I'll share them as they had your exit code fix. They failed differently so at least it's something. :) The N64 emulator exited with 1 as expected, but Splashscreen exited with 0 (it didn't continue to install but I don't know how to tell when it's done done). Edit: It should end with
Info: [message]
on success?1:
basic_install
exited with1
whenmupen64plus
failed. Ran on Debian with amd64. See full log.= = = = = = = = = = = = = = = = = = = = = Building 'mupen64plus' : N64 emulator MUPEN64Plus = = = = = = = = = = = = = = = = = = = = = [snip] make: Leaving directory '/home/pi/RetroPie-Setup/tmp/build/mupen64plus/mupen64plus-video-glide64mk2/projects/unix' head: cannot open '/home/pi/RetroPie-Setup/tmp/build/mupen64plus/GLideN64/src/Revision.h' for reading: No such file or directory current revision "50e83004" last build revision /home/pi/RetroPie-Setup/tmp/build/mupen64plus/GLideN64/projects/cmake /home/pi/RetroPie-Setup/tmp/build/mupen64plus /home/pi/RetroPie-Setup CMake Error at CMakeLists.txt:1 (cmake_minimum_required): CMake 3.9 or higher is required. You are running version 3.7.2 -- Configuring incomplete, errors occurred! make: *** No targets specified and no makefile found. Stop. /home/pi/RetroPie-Setup/tmp/build/mupen64plus /home/pi/RetroPie-Setup Removing additional swap /home/pi/RetroPie-Setup Could not successfully build mupen64plus - N64 emulator MUPEN64Plus (GLideN64/projects/cmake/plugin/Release/mupen64plus-video-GLideN64.so not found). Errors: Could not successfully build mupen64plus - N64 emulator MUPEN64Plus (GLideN64/projects/cmake/plugin/Release/mupen64plus-video-GLideN64.so not found). The command '/bin/sh -c if [ "$(uname -m)" = 'x86_64' ]; then sudo ./retropie_packages.sh setup basic_install; fi' returned a non-zero code: 1
2:
basic_install
exited with0
whensplashscreen
failed. Ran on Debian with arm32v7. See full log.= = = = = = = = = = = = = = = = = = = = = Configuring 'splashscreen' : Configure Splashscreen = = = = = = = = = = = = = = = = = = = = = /home/pi/RetroPie-Setup/scriptmodules/supplementary/splashscreen.sh: line 91: systemctl: command not found /home/pi/RetroPie-Setup Removing intermediate container c40e0a51fa8f ---> 3e4f12bb8360 [snip] Successfully built 63739c10746d Successfully tagged rc:docker-multiarch
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.