jdber1 / opendrop

OpenDrop pendant drop tensiometry software
GNU General Public License v3.0
30 stars 18 forks source link

problem installing OpenDrop on MacOS #41

Closed osleland closed 1 year ago

osleland commented 1 year ago

I'm having trouble installing OpenDrop at step 4 of the tutorial. I've successfully downloaded opencv-python, pygobject3 gtk+3, and SUNDIALS but have trouble with Boost.Math. When I tried to run the command brew install Boost.Math, the command was unknown and the only equivalent I found was brew install boost-mpi and brew install boost (which is updated to boost 1.79.0). That seems to have installed successfully, but once I run the command pip install git+https://github.com/jdber1/opendrop.git it will crash while "Preparing wheel metadata..." I've attached the details of the crash/error in the pdf file, as it won't let me attach a txt file. OpenDrop_error.pdf

I'm running on macOS Big Sur version 11.6.4 and run python on Anaconda 2.2.0. That may be the root of the issue here.

eugenhu commented 1 year ago

Do you know what version of SUNDIALS you have installed? There was an api change in version 6. I've updated the code in the development branch to use the newer api if you want to try installing from that:

pip install git+https://github.com/jdber1/opendrop.git@development
osleland commented 1 year ago

I checked and SUNDIALS 6.2.0 is installed and up to date. Your update above did work and OpenDrop is now installed, however, it won't open.

This is the error I received:

(base) olivialeland@MacBook-Pro ~ % python3 -m opendrop objc[85001]: Class GNotificationCenterDelegate is implemented in both /usr/local/opt/glib/lib/libgio-2.0.0.dylib (0x10a477338) and /Users/olivialeland/opt/anaconda3/lib/libgio-2.0.0.dylib (0x109fada60). One of the two will be used. Which one is undefined. TypeError: type.new() argument 1 must be str, not None ** ERROR:gi/pygobject-object.c:1027:pygobject_new_full: assertion failed: (tp != NULL) Bail out! ERROR:gi/pygobject-object.c:1027:pygobject_new_full: assertion failed: (tp != NULL) zsh: abort python3 -m opendrop

eugenhu commented 1 year ago

Hmm that's weird, looks like an error coming from the GLib/Gtk libraries. Can you try seeing if the pygobject tutorial example works with your python installation?

osleland commented 1 year ago

The Kernel keeps dying and gives me a MacOS crash log with

Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [85593]

after I run

import gi

gi.require_version("Gtk", "3.0") from gi.repository import Gtk

win = Gtk.Window() win.connect("destroy", Gtk.main_quit) win.show_all() Gtk.main()

Is the problem that I'm using gtk+3 3.24.34?

eugenhu commented 1 year ago

That Gtk version looks fine. There might be a problem with the anaconda package. You could try installing all the dependencies using Homebrew instead if you're not tied down to anaconda.

I believe the Homebrew packages you need are:

osleland commented 1 year ago

Update: So I was never able to get it to run. The problem is definitely with gtk+3 and I suspect it's some kind of app permissions in MacOS that I couldn't figure out how to turn off. I was, fortunately, able to download and run OpenDrop on a PC and it's working fine there. Thank you for the help!

eugenhu commented 1 year ago

I see, no problems. Hopefully we can provide standalone binaries on macOS and linux too in the future.