JarbasHiveMind / skill-hivemind

HiveMind core skill
Apache License 2.0
5 stars 5 forks source link

Make hivemind accessible to non-gui users #2

Closed emphasize closed 4 years ago

emphasize commented 4 years ago

I've installed Hivemind (alongside Node-red) on my KDE testing rig. The skill shows up on the WebUI with all configuration options accessible (as Version1).

My non-gui Mycroft version (where hivemind was installed yesterday) sadly throws an exception on loadup.

I think that the environment is also beneficial to non-gui users, where mycroft is served from a central server or users just don't want the gui overhead.

The UPnP Client / soap protocol now is looking for a libxslt handled object file which isn't found in a non-gui setup. (i guess) Maybe there are more things down the drain, but this is what throws mycroft (non-gui) off.

Traceback (most recent call last):
  File "/home/pi/mycroft-core/mycroft/skills/skill_loader.py", line 252, in _load_skill_source
    skill_module = load_skill_module(main_file_path, self.skill_id)
  File "/home/pi/mycroft-core/mycroft/skills/skill_loader.py", line 72, in load_skill_module
    spec.loader.exec_module(mod)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/mycroft/skills/skill-node-red.jarbasskills/__init__.py", line 4, in <module>
    from jarbas_hive_mind_red import get_listener
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind_red/__init__.py", line 1, in <module>
    from jarbas_hive_mind.master import HiveMind, HiveMindProtocol
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/__init__.py", line 4, in <module>
    from jarbas_hive_mind.master import HiveMind, HiveMindProtocol
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/master/__init__.py", line 12, in <module>
    from jarbas_hive_mind.discovery.ssdp import SSDPServer
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/discovery/__init__.py", line 1, in <module>
    import upnpclient
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/upnpclient/__init__.py", line 143, in <module>
    from upnpclient import const, errors, marshal, soap, ssdp, upnp, util  # noqa: F401
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/upnpclient/soap.py", line 4, in <module>
    from lxml import etree
ImportError: libxslt.so.1: cannot open shared object file: No such file or directory
JarbasAl commented 4 years ago

hivemind does not require (or use at all) the gui, that sounds like a missin OS level dependency

emphasize commented 4 years ago

OK, that seems to be resolved after a system wide libxslt1.1 install.

JarbasAl commented 4 years ago

will add that to Readme