-
Notifications
You must be signed in to change notification settings - Fork 344
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
Segfault due to missing resources after PR #367 #595
Comments
This has been discussed before (#427 and others). The gist of it is that RetroPie does not use |
I can make a patch.
But before I do that, I need to know if you will accept it how I plan to
implement it:
The binary would try:
1. ~/. emulationstation/resources
2. ${cwd}/resources
3. ${install_prefix}/share/emulationstation/resources
in that order. This allows user config to override defaults, running from
in-tree with new resources with another install already on the system,
running on Windows and a standard install on Linux.
Then `make install` would install to
`${install_prefix}/share/emulationstation/resources`.
I don't know how this works on Windows tho.
This shouldn't break the retro pie setup script to my understanding. I'm
not sure what it does exactly but if it puts resources in /usr/bin or
similar I recommend that you use make install instead.
…On Mon, 26 Aug 2019, 01:58 John Rassa, ***@***.***> wrote:
This has been discussed before (#427
<#427> and others).
The gist of it is that RetroPie does not use make install so it hasn't
been a priority to make it work when doing so. We are open to accepting PRs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#595?email_source=notifications&email_token=ABIPUMOBSZ764QAGSXUDIILQGMMEDA5CNFSM4IPKGLKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5C6RNA#issuecomment-524675252>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABIPUMNUXHQTVHUH5DB7AKDQGMMEDANCNFSM4IPKGLKA>
.
|
Given that the issue at hand is preventing the packaging of EmulationStation in my distribution, I come up with this little patch to teach it how to look in /usr/share/emulationstation on Linux (build and run tested): It would be better if the place where to search for the resources was configurable at build time or by passing a command line option at runtime, IMO... |
Thanks to your patch I was able to create a deb package. Great job! |
I'm having some segfault problems with the recent versions of EmulationStation that is constantly causing it to crash with pretty much any theme that isn't "carbon". Can somebody please fix this? |
@ViperAcidZX need a lot more details than that, apologies. Can you please report it in the forums and provide the required details - OS version, hardware, RetroPie version, ES version, ES log, etc? |
|
Fresh install of ES from source (stable branch, commit 72b8644) segfaults immediately.
I did a git bisect between tag: v2.7.6 as good and stable (commit 72b8644) as bad.
The bisect resulted in the culprit commit: 1a4d13b which was the push for PR #367.
After
make install
I see noresources
folder in/usr/local/bin
where my emulationstation binary is, I see no resources folder created in~/.emulationstation/
after attempting to launch.Manually copying the
data/resources
directory from the source tree to.emulationstation/resources
fixes the segfault.As an addendum on the discussion in the PR: I believe that
/usr/local/share/emulationstation/resources
should be the correct location of any resources when building from source (for the same reason that/usr/local/bin
is the default install target for the binary). It's up to the package maintainer to set the install prefix to/usr/
instead of/usr/local/
for distribution packages. However the install prefix should be passed toconfigure.h
or equivalent to provide the lookup path of the resource files to the binary so that they are correctly found depending on how the installation prefix is configured in cmak. Having~/.emulationstation/resources/
as an override makes sense, but storing the resources alongside the binary in/usr/bin/
or/usr/local/bin
is against unix practices. Equally they should not be stored in/etc/emulationstation
as was discussed in the PR as/etc/
is reserved for configuration, not graphical resources. Looking up the resources on the current working directory is also a bit confusing, I would rather pass a flag.The text was updated successfully, but these errors were encountered: