Ghini / ghini.desktop

plant collections manager (desktop version)
http://ghini.github.io/
GNU General Public License v2.0
24 stars 14 forks source link

3.1 on mac osx #432

Open RoDuth opened 6 years ago

RoDuth commented 6 years ago

I have been unable at this point to find a way to install ghini-3.1 on osx.

Expected behaviour.

git clone https://github.com/Ghini/ghini.desktop.git
git checkout ghini-3.1
brew install python gtk+3 pygobject3 libchamplain
python3 -m venv <location_for_venv>  --system-site-packages
source <location_for_venv>/bin/activate
pip install wheel` # for good messure
python setup.py clean build install
ghini

should run ghini 3.1

Actual behaviour

ghini starts but fails when a new database is created and connected to at the 'the database you have connected is empty' window with this on the command line:

Gtk-Message: 03:10:30.324: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: 03:10:35.600: GtkDialog mapped without a transient parent. This is discouraged.
2018-09-27 03:10:37,496 - bauble - INFO - 140735263465472 - <class 'bauble.error.EmptyDatabaseError'>(EmptyDatabaseError)

(ghini:57523): Clutter-Gtk-ERROR **: 03:10:37.514: *** Unsupported backend.

with this log.

bauble.log

Opinions and suggestions

I haven't got any further.

mfrasca commented 6 years ago

interesting, thank you for reporting. the way it closes, namely that single line of text (lest you trimmed it which I guess you didn't) it looks like a segmentation fault, would you try with faulthandler? it's part of Python3 and should enable Python to provide a bit more information about the sudden shutting down. https://stackoverflow.com/questions/16731115

RoDuth commented 6 years ago

interestingly just got a very similar error messages when trying to work in a windows VM.

Gtk-Message: 03:54:58.957: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: 03:55:03.404: GtkDialog mapped without a transient parent. This is discouraged.
2018-09-21 03:55:05,349 - bauble - INFO - 4924 - <class 'bauble.error.EmptyDatabaseError'>(EmptyDatabaseError)

(python3.exe:5204): Clutter-CRITICAL **: 03:55:05.554: Unable to initialize Clutter: Unable to initialize the Clutter backend: no available drivers found.
Windows fatal exception: access violation
....
Segmentation fault
RoDuth commented 6 years ago

also, just noticed this

Which will disable ... the GDK backend (which does not work on MacOS yet).

from here

mfrasca commented 6 years ago

anyway, on Windows do activate the faulthandler, as to know where in the python code things go wrong. Segmentation Faults are otherwise close to impossible to trace back in Python. (are you sure that information, 5 years old, still stands?) (anyway, I can't do much more than leaving this one to you, until I have a Mac at hand).

RoDuth commented 6 years ago

@mfrasca fault handler is enabled but makes not difference. It seems you have left it enable all the time (is this wise?) https://github.com/Ghini/ghini.desktop/blob/17c6eeb048744aee97bc18fcec060278eabbda13/bauble/__init__.py#L41-L45

could just have export PYTHONFAULTHANDLER=1 in bashrc or the like.

I had actually failed to copy one last line above (where you suspected I trimmed it):

zsh: trace trap  ghini

or in bash

Trace/BPT trap: 5

Which from what I can gather is an osx specific thing related to not being able to load a .dylib

Python on osx also has a popup when it crashes were you can send a report to apple, I normally ignore it. Here is a copy:

apple_error_report.txt

RoDuth commented 6 years ago

(are you sure that information, 5 years old, still stands?)

I can't find anything to contradict it.

this is only 3 years ago and appears they removed the dependency on clutter in the end. Is this an option for ghini?

Looking here there are a couple with no resolution that seem to confirm that clutter-gtk could be the cause. this and then this (could this one be of some help possibly?)