gudgud96/syntheon

Getting odd errors attempting to install `hmmlearn`

Closed this issue · 6 comments

Hi there! Want to try this out but I'm getting weird errors when trying to install the requirements for the project.

      /private/var/folders/g7/pplsls8d0kx0v08s65tjfm8h0000gn/T/pip-install-k2_rbqnt/hmmlearn_21b9196052da4e5cab39ff91d3c5fc05/.eggs/pybind11-2.11.1-py3.10.egg/pybind11/include/pybind11/gil.h:155:5: note: 'gil_scoped_release' has been explicitly marked deleted here
          gil_scoped_release(const gil_scoped_release &) = delete;
          ^
      3 warnings and 7 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for hmmlearn
  Running setup.py clean for hmmlearn
Successfully built crepe
Failed to build hmmlearn
ERROR: Could not build wheels for hmmlearn, which is required to install pyproject.toml-based projects

Seems maybe GIL-related? Which seems like something I don't know how to resolve. I'm running Python 3.10.9 on an M1 Mac.

Any thoughts? Installing different versions of hmmlearn doesn't work because that version is also a requirement of crepe.

Hi @jagilley, thanks for raising the issue. I mainly develop Syntheon on an Intel Mac, so I haven't tested it on M1. I am able to reproduce your issue even just with running pip install hmmlearn == 2.7 on M1. Unfortunately, I am not able to help much as it is an issue of the dependency library hmmlearn. Feel free to raise an issue there!

@jagilley seems like a similar issue is raised hmmlearn/hmmlearn#514.

hmmlearn/hmmlearn#512 should solve the GIL issue you mentioned. The tricky part is it needs hmmlearn==0.3.0, but crepe only supports < 0.3.0.

I think the only way to provide support on M1 Mac is to have crepe support hmmlearn==0.3.0. I have raised an issue here: marl/crepe#97, and might try if this is feasible. But I can't provide an ETA as it involves other dependencies.

@gudgud96 thank you! Will keep an eye on these.

@gudgud96 I've also gotten errors consistently when trying to install crepe on vanilla instances of e.g., Colab. While we wait for a fix, do you have any demos of Syntheon's capabilities?

@jagilley You can have a look at the notebook I use for my presentation - https://github.com/gudgud96/syntheon/blob/main/Parameter_Inference.ipynb.
It's close to a year old so I am not sure if it works now on Colab.

@jagilley syntheon 0.1.0 should work on M1 Mac now, I removed crepe as the dependency.
If you need a demo, you can refer to this Colab notebook as well.
I will keep this issue closed for now.