Mycroft-core: AttributeError: '๋ชจ๋“ˆ' ๊ฐœ์ฒด์— 'SSL_ST_INIT' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 04์›” 27์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: MycroftAI/mycroft-core

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'.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ณ€๊ฒฝ ํ›„ pip ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

๋˜ํ•œ ์–ด๋–ค OS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  18 ๋Œ“๊ธ€

$ 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์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰