I mean, that’s pretty straightforward then. It can’t load that module, but not clear why. Try pip3 install dateutil
(might be python-dateutil) as the mycroft user in the venv?
I did that before already, here’s what it says:
pip3 install dateutil
Collecting dateutil
Could not find a version that satisfies the requirement dateutil (from versions: )
No matching distribution found for dateutil
You are using pip version 18.0, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
python-dateutil doesn’t work, either?
Also, potentially py-dateutil.
But, I have installed this module (see here post 55). I will check in the FreeBSD python community for this issue.
In post 55 I see that you might have it installed systemwide, but probably it is not installed within the VENV of mycroft, otherwise post 58 wouldn’t fail…
Repeat post 60 with;
pip3 install python-dateutil
But make sure you are in the VENV Mycroft is using.
Thanks, this worked and now the nex module is missing: ‘fasteners’
I now understand, that I shouldl first deal with the errors from
pip install -r requirements.txt
and come up with a complete FreeBSD package list which must be installed or checked by dev_setup.sh
I have deleted everything and did a fresh git clone
. Based on this the run of ./dev_setup.sh
(with modifications for FreeBSD) produces the following nohup.out
file: http://www.unixarea.de/nohup.out
Can someone please have a look into and clarify this compilation error of C-code:
gcc49 -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_BSD=1 -DPSUTIL_VERSION=521 -DPSUTIL_FREEBSD=1 -I/home/guru/Mycroft-test/mycroft-core/.venv/include -I/usr/local/include/python3.6m -c psutil/arch/bsd/freebsd_socks.c -o build/temp.freebsd-13.0-CURRENT-amd64-3.6/psutil/arch/bsd/freebsd_socks.o
psutil/arch/bsd/freebsd_socks.c: In function 'psutil_search_tcplist':
psutil/arch/bsd/freebsd_socks.c:126:37: error: 'struct xtcpcb' has no member named 'xt_tp'
tp = &((struct xtcpcb *)xig)->xt_tp;
if this is an issue wwith FreeBSD or Mycroft. I do not even find the source file to check the code in the source. From where this is unpacked?
Can you figure out at which step it is?
Is it some C code in one of the python requirements or perhaps Mimic1? If it is the former, you could check if there is a binary wheel for it instead of sources.
I finally have the cli
running, but it does not respond on any utterance, for example Hey, Microft sing a song
In the window of the cli
I have the following lines after this command:
Establishing Mycroft Messagebus connection...
Connected to Messagebus!
13:10:31.925 - mycroft.skills.core:load_skill:145 - INFO - Loaded mycroft-alarm.mycroftai
~~~~7 - INFO - ATTEMPTING TO LOAD SKILL: mycroft-singing.mycroftai with ID mycroft-singing.mycroftai
13:10:31.956 - SingingSkill - WARNING - self.emitter is deprecated switch to "self.bus"
13:10:31.958 - mycroft.skills.core:load_skill:145 - INFO - Loaded mycroft-singing.mycroftai
~~~~nt_service:handle_utterance:345 - ERROR - 'PadatiousService' object has no attribute 'container'
Traceback (most recent call last):
~~~~/guru/Mycroft-test/mycroft-core/mycroft/skills/intent_service.py", line 323, in handle_utterance
utterances[0])
~~~~me/guru/Mycroft-test/mycroft-core/mycroft/skills/padatious_service.py", line 146, in calc_intent
return self.container.calc_intent(utt)
AttributeError: 'PadatiousService' object has no attribute 'container'
^--- NEWEST ---^
And the log files still have these errors which I don’t know how to solve:
$ grep ERROR /var/log/mycroft/*
/var/log/mycroft/audio.log:13:10:17.354 - mycroft.audio.audioservice:load_services:108 - ERROR - Failed to import module chromecast
/var/log/mycroft/audio.log:13:10:17.382 - mycroft.audio.audioservice:load_services:108 - ERROR - Failed to import module mplayer
/var/log/mycroft/audio.log:13:10:17.402 - mycroft.audio.audioservice:load_services:108 - ERROR - Failed to import module vlc
/var/log/mycroft/audio.log:13:12:06.990 - mycroft.messagebus.client.ws:on_error:83 - ERROR - Exception closing websocket: Exception("Uncaught 'error' event.",)
/var/log/mycroft/skills.log:13:10:16.274 - mycroft.skills.padatious_service:__init__:43 - ERROR - Padatious not installed. Please re-run dev_setup.sh
/var/log/mycroft/skills.log:13:10:59.009 - mycroft.skills.intent_service:handle_utterance:345 - ERROR - 'PadatiousService' object has no attribute 'container'
/var/log/mycroft/skills.log:13:12:06.936 - mycroft.messagebus.client.ws:on_error:83 - ERROR - Exception closing websocket: Exception("Uncaught 'error' event.",)
/var/log/mycroft/skills.log:13:12:11.945 - mycroft.messagebus.client.ws:on_error:76 - ERROR - === ConnectionRefusedError(61, 'Connection refused') ===
/var/log/mycroft/skills.log:13:12:11.953 - mycroft.messagebus.client.ws:on_error:83 - ERROR - Exception closing websocket: Exception("Uncaught 'error' event.",)
/var/log/mycroft/voice.log:13:10:31.059 - mycroft.client.speech.hotword_factory:initialize:293 - ERROR - Could not create hotword. Falling back to default.
/var/log/mycroft/voice.log:13:10:31.064 - mycroft.client.speech.hotword_factory:initialize:293 - ERROR - Could not create hotword. Falling back to default.
Any help on this?
You are sure you have all the stuff from the requirements.txt ?
Looks like you are still missing stuff…
Yes. I collected a list with pip list > list.txt
and compared this with the file requirements.txt
. I now have everything install with one exception: pocketsphinx==0.1.0
. This fails to compile with:
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC -DSPHINXBASE_EXPORTS -DPOCKETSPHINX_EXPORTS -DSPHINX_DLL -DHAVE_CONFIG_H -Ideps/sphinxbase/include -Ideps/sphinxbase/include/sphinxbase -I/home/guru/Mycroft-test/mycroft-core/.venv/include -I/usr/local/include/python3.6m -c deps/sphinxbase/src/libsphinxbase/lm/lm_trie_quant.c -o build/temp.freebsd-13.0-CURRENT-amd64-3.6/deps/sphinxbase/src/libsphinxbase/lm/lm_trie_quant.o
In file included from deps/sphinxbase/src/libsphinxbase/lm/lm_trie_quant.c:40:
deps/sphinxbase/include/sphinxbase/prim_type.h:88:10: fatal error: 'sphinx_config.h' file not found
#include <sphinx_config.h>
^~~~~~~~~~~~~~~~~
1 error generated.
But, ./start-mycroft.sh debug
works now, Mycroft does even listen to me and answers in audio,
I have a clean patch file (diff -c
output) which incorporates the FreeBSD related changes in
start-mycroft.sh
mimic/src/audio/au_alsa.c
dev_setup.sh
requirements.txt
To whom I should send this?
The best and easiest for Mycroft staff (IMHO) is to fork the mycroft-core repo and create a Pull Request.
Apart of git clone ...
I’ve never done anything real with git, please help me with the required commends. Thanks.
Perhaps you can Copy&Paste the patch file here;
Then I or others can give it a go. Or at least validate your changes to see if they can be merged in the first place because I foresee challenges with the “requirements.txt”
The patch is here http://www.unixarea.de/mycroft-freebsd-patch.txt.gz
Re/ requirements.txt
I only commented out the line for ‘psutil’ because it has this installed as a
pip list | grep psutil
shows, but always wants to compile it from C-source, which fails. Don’t know why.
If I change the line in requirements.txt
to:
grep psu requirements.txt
psutil==5.4.8
all is fine:
$ nohup ./dev_setup.sh
appending output to nohup.out
$ grep psu nohup.out
Requirement already satisfied: psutil==5.4.8 in ./.venv/lib/python3.6/site-packages (from -r requirements.txt (line 14)) (5.4.8)
Have the proposed changes be reviewed or integrated?