Re: Fatal error when attempting to execute bear.ex from the EuGtk package
- Posted by srb623 Sep 07, 2019
- 1228 views
Irv,
Thanks for your prompt reply and advice regarding how to fix bear. I commented out the old code and added the new code above it and it still fails with the following error:
/opt/languages/euphoria/gtk/current/GtkEngine.e:1569 in function deallocate_string_pointer_array() A machine-level exception occurred during execution of this statement (signal 11) ... called from /opt/languages/euphoria/gtk/current/GtkEngine.e:919 in function get() ... called from /opt/languages/euphoria/gtk/current/bear/bear_prefs.e:14Line 14 in bear_prefs.e is now
style_scheme_ids = get(style_scheme_mgr,"scheme ids")and for some reason it is still failing. I did check for style files etc in /usr/share/gtksourceview-3.0/styles and there were some there but I did follow your setup instructions and added some more in case bear was looking for something specific.
Just a bit of (friendly) advice re your setup instructions:
- where you are setting file modes for the euphoria.lang file, you do not want a non privileged user to be able to edit or delete the file which is possible with such a broad file mode as 777 (gives rwx for user, group and other). Personally, I'd set it to 644 (rw, r, r - for user, group and other), as all other files in this directory have that permission. So change,
sudo chmod 777 /usr/share/gtksourceview-2.0/language-specs/euphoria.lang sudo chmod 777 /usr/share/gtksourceview-3.0/language-specs/euphoria.langto
sudo chmod 644 /usr/share/gtksourceview-2.0/language-specs/euphoria.lang sudo chmod 644 /usr/share/gtksourceview-3.0/language-specs/euphoria.lang
- I also noted that you were copying all of the .xml files to /usr/share/gtksourceview-2.0/styles/ and /usr/share/gtksourceview-3.0/styles/ with a simple copy. While this will work, it does not allow for the fact that the distribution's package manager may have some of these files already and they may be newer than the version that you are copying. So you need to advise the user of this, or do the following:
for f in *.xml do if [ ! -f /usr/share/gtksourceview-2.0/styles/$f ] then cp $f /usr/share/gtksourceview-2.0/styles fi if [ ! -f /usr/share/gtksourceview-3.0/styles/$f ] then cp $f /usr/share/gtksourceview-3.0/styles fi doneWhat it does is iterate over all .xml files and for each file, f, checks to see if the file does not exist in the directory, and if so we can safely copy it, otherwise it is ignored and the distribution version will be used.
I hope that I have not caused offence my suggesting such changes to your code/setup. Hoping that you can provide further suggestions re fixing the problem and allowing me to run bear.