New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raspberry Pi runtime error #427

Closed
Joemommasfat opened this Issue Apr 27, 2018 · 14 comments

Comments

Projects
None yet
@Joemommasfat
Copy link

Joemommasfat commented Apr 27, 2018

Commit 1a4d13b "Remove builtin resources" causes an error when starting Emulation Station on Raspberry Pi.

lvl0: Error - File type unknown! emulationstation: /home/pi/RetroPie-Setup/tmp/build/emulationstation/es-core/src/resources/Font.cpp:17: Font::FontFace::FontFace(ResourceData&&, int): Assertion !err' failed.
Aborted`

@pjft

This comment has been minimized.

Copy link

pjft commented Apr 27, 2018

You need to update RetroPie-Setup and install ES from there. It will copy the required files to the runtime folders.

@Joemommasfat

This comment has been minimized.

Copy link
Author

Joemommasfat commented Apr 27, 2018

Yup. Sorry for the false alarm.

@Enverex

This comment has been minimized.

Copy link

Enverex commented May 1, 2018

What about other operating systems / distros? I'm getting this on Linux after having built from GIT.

EDIT: Ok, so it needs the "resources" folder, but it looks for it within your home directory (if the strace is correct). It checks:

~/.emulationstation/resources
/emulationstation/resources
~/resources

None of which are ideal for a system package. I'd highly recommend adding a location such as...
/usr/share/emulationstation/resources
... which is typically where system packages would add their shared system resources.

@pszalanski

This comment has been minimized.

Copy link

pszalanski commented May 8, 2018

I just tried building ES from source on Arch Linux, based on this repository here. It also fails with an assertion and simply creating the resources folder does not fix it.

Any suggestions on how to get it to run?

@bsinky

This comment has been minimized.

Copy link

bsinky commented May 12, 2018

Building from source on Fedora 26, I was running into the same issue. What I did to fix it:

  • build EmulationStation as usual
  • git checkout 3adadc9 (the parent commit of when data/resources was removed)
  • mkdir -p ~/.emulationstation/resources
  • cp -r data/resources/ ~/.emulationstation/

I don't know if this is the best way to get the needed resources (I'm guessing they're kept somewhere else for RetroPie Setup to use but I didn't look very hard), but this worked for me!

@goodjaerb

This comment has been minimized.

Copy link

goodjaerb commented May 16, 2018

Doesn't this mean the build instructions are moot now because it compiles a binary that fails? I get Retropie-Setup can install it but what about forks? I suppose I'll use bsinky's suggestion and keep the resources folder handy on my Google Drive.

@jrassa

This comment has been minimized.

Copy link
Collaborator

jrassa commented May 17, 2018

@pszalanski Just creating the resources folder is not enough. You need to copy the resources folder and its contents from the source.

@bsinky You shouldn't need to checkout out an old commit to get the resources they are still included with the source. They were moved from data/resources to resources.

@goodjaerb ES will check 3 different locations for the resources directory.

  • %home%/.emulationstation/
  • executable path
  • current working directory

The build instructions aren't moot. If you build it and run the executable from the build directory, it will run properly. If you move the executable after building, you also need to move the resources to one of the supported locations.

@goodjaerb

This comment has been minimized.

Copy link

goodjaerb commented May 17, 2018

I'll try it out. I wish I found this issue thread before I spent all night figuring out which commit broke it (but at least i found this thread before reposting :) and I don't know how I didn't notice the folder was still there for all the searching i was doing. But I wouldn't have known where to put it. Thanks. If nothing else shouldn't 'make install' place the resources in ~/.emulationstation? I noticed it worked if I ran it from the build directory but installing it puts it in /usr/local/bin and when you run it say on an autostart on login it would fail.

@jvalecillos

This comment has been minimized.

Copy link

jvalecillos commented Jun 3, 2018

I think this issue should be re-opened. The application just doesn't work without these resources in a custom directory that is not documented.

@Azelphur

This comment has been minimized.

Copy link

Azelphur commented Aug 18, 2018

I agree with @jvalecillos and @Enverex and think this should be reopened, for Linux packages, the current setup cannot work. According to @jrassa you've got three directories it looks in:

  • %home%/.emulationstation/ - Package manager would be doing a system-wide installation, the users home directory is not known (And even if it was, bad practice)
  • executable path - Would be /usr/bin, putting a resources folder in /usr/bin is bad practice
  • current working directory - is completely variable and unknown at install time

/usr/share/emulationstation/resources is a very good suggestion, and it is in fact where a lot of applications put data like this, and it would make emulationstation able to be packaged for linux distros again.

@pszalanski

This comment has been minimized.

Copy link

pszalanski commented Aug 23, 2018

@jrassa Please integrate a change which makes the app search in /usr/share, just like @Azelphur suggested. This has been common practice for all linux programs that I know of.

@bastianbeischer

This comment has been minimized.

Copy link

bastianbeischer commented Feb 9, 2019

I have been running into this after updating retropie-setup and then updating all packages, which pulled the new (binary!) version 2.8.0 of emulationstation. Is this a packaging error?

@joolswills

This comment has been minimized.

@joolswills

This comment has been minimized.

Copy link
Member

joolswills commented Feb 9, 2019

(Please use the forum for support).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment