AUR์์ mycroft-core๋ฅผ ์ค์นํ ๋ ์๋น์ค๋ฅผ ์์ํ๋ ค๊ณ ํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
systemctl --user status mycroft-service.service mycroft-skills.service mycroft-voice.service
โ mycroft-service.service - Mycroft main service
Loaded: loaded (/usr/lib/systemd/user/mycroft-service.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2017-04-26 03:05:26 EDT; 49s ago
Main PID: 14053 (bash)
CGroup: /user.slice/user-1000.slice/[email protected]/mycroft-service.service
โโ14053 bash /usr/share/mycroft-core/start.sh service
โโ14068 python /usr/share/mycroft-core/mycroft/messagebus/service/main.py
Apr 26 03:05:26 $HOSTNAME systemd[1193]: Started Mycroft main service.
Apr 26 03:05:26 $HOSTNAME bash[14053]: Starting service
Apr 26 03:05:26 $HOSTNAME bash[14053]: 2017-04-26 03:05:26,395 - mycroft.configuration - WARNING - Failed to fetch remote configuration: AttributeError("'module' object has no attribute 'SSL_ST_INIT'",)
โ mycroft-skills.service - Mycroft skills provider
Loaded: loaded (/usr/lib/systemd/user/mycroft-skills.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2017-04-25 21:52:28 EDT; 5h 13min ago
Main PID: 2292 (bash)
CGroup: /user.slice/user-1000.slice/[email protected]/mycroft-skills.service
โโ2292 bash /usr/share/mycroft-core/start.sh skills
โโ2318 python /usr/share/mycroft-core/mycroft/skills/main.py
Apr 26 03:01:21 $HOSTNAME bash[2292]: 2017-04-26 03:01:21,762 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:02:21 $HOSTNAME bash[2292]: 2017-04-26 03:02:21,813 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:02:21 $HOSTNAME bash[2292]: 2017-04-26 03:02:21,814 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:03:21 $HOSTNAME bash[2292]: 2017-04-26 03:03:21,870 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:03:21 $HOSTNAME bash[2292]: 2017-04-26 03:03:21,870 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:04:21 $HOSTNAME bash[2292]: 2017-04-26 03:04:21,907 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:04:21 $HOSTNAME bash[2292]: 2017-04-26 03:04:21,907 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:05:21 $HOSTNAME bash[2292]: 2017-04-26 03:05:21,956 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:05:21 $HOSTNAME bash[2292]: 2017-04-26 03:05:21,956 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:05:36 $HOSTNAME systemd[1193]: [/usr/lib/systemd/user/mycroft-skills.service:3] Failed to add dependency on mycroft-service, ignoring: Invalid argument
โ mycroft-voice.service - Mycroft voice processing
Loaded: loaded (/usr/lib/systemd/user/mycroft-voice.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2017-04-26 03:05:38 EDT; 37s ago
Process: 14083 ExecStart=/bin/bash -c source /usr/share/mycroft-core/.virtualenvs/mycroft/bin/activate && /usr/share/mycroft-core/start.sh voice (code=exited, status=1/FAILURE)
Main PID: 14083 (code=exited, status=1/FAILURE)
Apr 26 03:05:38 $HOSTNAME bash[14083]: File "/home/$USER/.virtualenvs/mycroft/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 47, in <module>
Apr 26 03:05:38 $HOSTNAME bash[14083]: import OpenSSL.SSL
Apr 26 03:05:38 $HOSTNAME bash[14083]: File "/home/$USER/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
Apr 26 03:05:38 $HOSTNAME bash[14083]: from OpenSSL import rand, crypto, SSL
Apr 26 03:05:38 $HOSTNAME bash[14083]: File "/home/$USER/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/SSL.py", line 124, in <module>
Apr 26 03:05:38 $HOSTNAME bash[14083]: SSL_ST_INIT = _lib.SSL_ST_INIT
Apr 26 03:05:38 $HOSTNAME bash[14083]: AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
Apr 26 03:05:38 $HOSTNAME systemd[1193]: mycroft-voice.service: Main process exited, code=exited, status=1/FAILURE
Apr 26 03:05:38 $HOSTNAME systemd[1193]: mycroft-voice.service: Unit entered failed state.
Apr 26 03:05:38 $HOSTNAME systemd[1193]: mycroft-voice.service: Failed with result 'exit-code'.
$ requirements.txt
์ pyOpenSSL==16.0.0
$์ pyOpenSSL==16.2.0
๋ก ๋ณ๊ฒฝํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๋ณ๊ฒฝํ๋๋ฐ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค
๋ณ๊ฒฝ ํ pip ํจํค์ง๋ฅผ ๋ค์ ์ค์นํด์ผ ํฉ๋๋ค.
pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0
๋ํ ์ด๋ค OS๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
์ ๋ Arch์ ์์ต๋๋ค. ์์ฒญํ ๋๋ก ์ํํ์ง๋ง ์ฌ์ ํ:
Starting voice
2017-04-29 23:57:00,722 - mycroft.configuration - DEBUG - Configuration '/usr/share/mycroft-core/mycroft/configuration/mycroft.conf' loaded
2017-04-29 23:57:00,723 - mycroft.configuration - DEBUG - Configuration '/etc/mycroft/mycroft.conf' not found
2017-04-29 23:57:00,723 - mycroft.configuration - DEBUG - Configuration '/home/daenerys/.mycroft/mycroft.conf' not found
2017-04-29 23:57:01,200 - mycroft.configuration - WARNING - Failed to fetch remote configuration: AttributeError("'module' object has no attribute 'SSL_ST_INIT'",)
Traceback (most recent call last):
File "/usr/share/mycroft-core/mycroft/client/speech/main.py", line 24, in <module>
from mycroft.client.speech.listener import RecognizerLoop
File "/usr/share/mycroft-core/mycroft/client/speech/listener.py", line 25, in <module>
from requests import HTTPError
File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/requests/__init__.py", line 52, in <module>
from .packages.urllib3.contrib import pyopenssl
File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 46, in <module>
import OpenSSL.SSL
File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/SSL.py", line 124, in <module>
SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
๋ํ AUR์ ๋๊ตฐ๊ฐ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด๋ผ๊ณ ๋งํ๊ธฐ ๋๋ฌธ์ ๋ฐฐํฌํ ๋ฒ์ ์ ์ค์นํ๋ ค๊ณ ์๋ํ์ต๋๋ค. ์ง๊ธ๊น์ง pyopenssl์ ๋ณ๊ฒฝํ๋ ค๋ ๋ชจ๋ ์๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์คํจํ์ต๋๋ค.
dev_setup.sh๋ฅผ ์คํํ ๋๋ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Git์์ ์ค์นํด ๋ณด์ธ์. AUR์ด ์ค๋๋์๊ณ ๋ถ๋ช ํ ๊นจ์ก์ต๋๋ค.
๋๋ git์์ ๊ทธ๊ฒ์ ์๋ํ๋ค. ๋๋ ๊ทธ๊ฒ์ ์๋์ํฌ ์ ์์๊ณ ๋ค๋ฅธ ์ฌ๋์ด ๋ ์ด์ด ์ข๋ค๊ณ ์๊ฐํ์ ๋ AUR์ ์๋ํ์ต๋๋ค.
Arch Linux๊ฐ ์ค์น๋ ๋ฐ์คํฌํ์๋ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ด ๋ฉํฑ์ manjaro๋ฅผ ์ค์นํ๋๋ฐ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋์ด๋์ง ์์ ์ผ์ข ์ ์ข ์์ฑ ๋ฌธ์ ์ผ ์ ์์ต๋๊น?
์์คํ ์ openSSL ๋ฒ์ ๊ณผ mycroft virtualenv์ pyOpenSSL ๋ฒ์ ์ด ์ผ์นํ์ง ์์ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. 100% ํ์คํ์ง๋ ์์ง๋ง. ์์ @BoBeR182 ์์ ์ธ๊ธํ๋ฏ์ด pyOpenSSL์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ๊ฐ๋ฅํ ์์ ์ฌํญ์ ๋๋ค.
์ ์์์ ์ด๋ฏธ ์๋ํ์ต๋๋ค. ์ฌ์ง์ด ๋์ ๋ฐ๊พผ ํ ์๋ก ์ฌ๊ตฌ์ถ์ ์๋ํ์ต๋๋ค. ์ฌ์ ํ ๊ฐ์ ๋ฌธ์ ์ ๋๋ค.
๋ด ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด์์ pyopenssl์ 17.0.0
๋ก ๋ณ๊ฒฝํ๊ณ ์ฑ๊ณตํ์ต๋๋ค. ์ ์ฒด virtualenv๋ฅผ ์ญ์ ํ๊ณ dev_setup์ ๋ค์ ์คํํ์ฌ ์์
ํ๊ฒฝ์ ์ป์ ๋ค์ ๋ชจ๋ ๊ฒ์ ์์ํ๊ณ ์คํํ๊ธฐ ์ํด ์ผ๋ถ ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํด์ผ ํ์ต๋๋ค.
17.0.0์ด ์ค์น๋ Arch์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค...
์ ๊ฒฝ ์ฐ์ง ๋ง์!
~์ ์ ์ฒด env ํด๋๋ฅผ ์ญ์ ํ๊ณ dev.setup์ ๋ค์ ์คํํ๋ฉด ์๋ํฉ๋๋ค. ์์ ์ฃ์กํฉ๋๋ค
์ด๊ฒ์ด ์์ง ํ์ธ๋ ์์ ์ฌํญ์ด๋ผ๋ฉด?
๊ทธ๊ฒ์ํด์ผํ๋ค. 16.2.0์ผ๋ก ์ฌ๋ ค์ผ ํ๋์ง ์๋๋ฉด 17.0.0์ผ๋ก ๋๊น์ง ์ฌ๋ ค์ผ ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
~/.virtualenv ํด๋๋ฅผ ์ ๊ฑฐํ ํ 16.2.0์ด ์๋ํ์ผ๋ฏ๋ก ์์ ์ ํ์ธํ์ต๋๋ค.
17.0.0๊น์ง ๊ฐ ํ์๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ข์, ๊ทธ๊ฒ ๋ด๊ฐ ๋ฃ๊ณ ์ถ์๋๊ฑฐ์ผ!
pyOpenSSL์ 16.2.0์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
ํ ์ ๊ฑฐ pyOpenSSL
ํ ์ค์น pyOpenSSL==16.2.0
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
์ค๋ฅ๋ ๋ณด์๊ณ sudo pip install pyOpenSSL==16.2.0
๋์ด ํด๊ฒฐํด ์ฃผ์
จ์ต๋๋ค!
+1์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ณ๊ฒฝ ํ pip ํจํค์ง๋ฅผ ๋ค์ ์ค์นํด์ผ ํฉ๋๋ค.
pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0
๋ํ ์ด๋ค OS๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น?