Homebrew ๋ OS X์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํจํค์ง ๊ด๋ฆฌ์ ์ค ํ๋์ ๋๋ค. Elektra์ ๊ณต์ Homebrew ๊ณต์(ํจํค์ง๋ผ๊ณ ๋ ํจ)์ ์ ๊ณตํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๋๊ตฐ๊ฐ ์ฌ๊ธฐ์์ ์ด๋ฏธ ๊ธฐ๋ณธ ๊ณต์์ ๋ง๋ค์์ต๋๋ค. ์ด์ฉ๋ฉด ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ํ ์ ์์ต๋๋ค.
@tryge ๊ด์ฐฎ์ผ์๋ค๋ฉด ์ ๊ฐ ์ฒ๋ฆฌํ๊ฒ ์ต๋๋ค.
์งํํ์๊ธฐ ๋ฐ๋๋๋ค!
#1184์์ ๋ ผ์๋ ๊ฒ์ฒ๋ผ travis๋ฅผ ์ฌ์ฉํ์ฌ mac os x ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋น๋ํ๋ ๊ฒ๋ ์ข์ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ Homebrew Formula๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ๋์ ์ฐ์ ์์์ด๋ฏ๋ก Mac์ ์ฌ์ฉํ๋ ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ์ ํํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๋๋ Elektra๋ฅผ ์ํ Homebrew ์์๊ณผ ํญ ์ ๋ง๋ค์์ต๋๋ค.
@markus2330 ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฅผ ElektraInitiative ์กฐ์ง์ผ๋ก ์ด๋ํ๋ ค๋ฉด ๊ด๋ฆฌ์ ์ํ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ Markus์๊ฒ ์ด์ ํ์ต๋๋ค. ์ ์ฅ์๋ฅผ ๊ฐ์ธ ๊ณ์ ์์ ElektraInitiative ์กฐ์ง์ผ๋ก ์ฎ๊ธฐ์๊ฒ ์ต๋๊น?
๋๋ Elektra๋ฅผ ์ํ Homebrew ์์๊ณผ ํญ์ ๋ง๋ค์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ์ ๋ง ๋๋จํฉ๋๋ค!
์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํ ๋ฐ์ด๋๋ฆฌ ํจํค์ง๋ ํฌํจ๋์ด ์์ต๋๊น?
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ElektraInitiative ์กฐ์ง์ผ๋ก ์ด๋ํ๋ ค๋ฉด ๊ด๋ฆฌ์ ์ํ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ Markus์๊ฒ ์ด์ ํ์ต๋๋ค. ์ ์ฅ์๋ฅผ ๊ฐ์ธ ๊ณ์ ์์ ElektraInitiative ์กฐ์ง์ผ๋ก ์ฎ๊ธฐ์๊ฒ ์ต๋๊น?
์ฃ์กํฉ๋๋ค. ์ด๋์ ์ฐพ์ ์ ์๋์? https://github.com/sanssecours/homebrew-elektra ์๋ "์ค์ " ๋ฒํผ์ด ์์ต๋๋ค(์ ์ก์ ํ์ํจ).
๋จ์ํ ๋ณต์ ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? (๋๋ ๋์ผํ ์ปค๋ฐ์ ํธ์ํ์ฌ ๋ค์ ์์ฑ)
ใ ์ด ๊ณต์์ ์ ์คํธ๋ฆผ์ผ๋ก ๊ฐ์ ธ์ ์์กฐํ ์๋ ์์ต๋๊น?
@omnidan ์๋๊ผญ์ง/๋ณ์ด ๋น์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์๋์ง ํ ์คํธํ ์ ์์ต๋๊น?
์ฌ๊ธฐ ๋๋ ์ฌ๊ธฐ์์ ์๋๊ผญ์ง/๋ณ์ ๋ํ ๋ฌธ์ ๋ฅผ ์์ฑํด์ผ ํฉ๋๊น?
https://github.com/ElektraInitiative/homebrew-elektra?
์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํ ๋ฐ์ด๋๋ฆฌ ํจํค์ง๋ ํฌํจ๋์ด ์์ต๋๊น?
์์ง๊น์ง๋ ๋ฐ์ด๋๋ฆฌ ํจํค์ง๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ๋ ์์ต๋๋ค. ๋ด๊ฐ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ์ด๋์ ์ฐพ์ ์ ์๋์? https://github.com/sanssecours/homebrew-elektra ์๋ "์ค์ " ๋ฒํผ์ด ์์ต๋๋ค(์ ์ก์ ํ์ํจ).
๊ด๋ฆฌ์ ์ก์ธ์ค ๊ถํ์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ฐฉ๊ธ repo ๋ฅผ ์ฎ๊ฒผ์ต๋๋ค.
ใ ์ด ๊ณต์์ ์ ์คํธ๋ฆผ์ผ๋ก ๊ฐ์ ธ์ ์์กฐํ ์๋ ์์ต๋๊น?
๋ค. ๋๋ ๊ทธ๊ฒ์ ๋จผ์ ํ๊ณ ์ถ์์ง๋ง, ๋ด๊ฐ ๋งํ ์ ์๋ ํ Homebrew ๊ฐ๋ฐ์๋ค์ ๊ทธ๋ค์ด ๋ฐ์๋ค์ด ๋ ๊ฒ์ ๋ํด ๊น๋ค๋กญ์ต๋๋ค. ํนํ ํ ์คํธ
์ฐ๋ฆฌ๋ ์ธ๊ธฐ๊ฐ ๋ง์ง ์์ ์๊ฐ๊ฐ ์์ ์ ์ํ์ ์ ์ถํ๋ ๊ฒ์ ์ซ์ดํฉ๋๋ค.
๋ฌธ์ ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
๋ฐฉ๊ธ repo๋ฅผ ์ฎ๊ฒผ์ต๋๋ค.
์์ง๊น์ง๋ ๋ฐ์ด๋๋ฆฌ ํจํค์ง๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ์ด๋ ต์ง๋ ์์ต๋๋ค. ๋ด๊ฐ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๊ฐ์ฌ ํด์!
๊ด๋ฆฌ์ ์ก์ธ์ค ๊ถํ์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
ํ์ํ๋ฉด ์ธ์ ๋ ์ง ๋ค์. ์๊ตฌ ๊ด๋ฆฌ์ ์ก์ธ์ค ๊ถํ์ ๋ํด์๋ ๋ ผ์ํ ์ ์์ต๋๋ค.
๋ค. ๋๋ ๊ทธ๊ฒ์ ๋จผ์ ํ๊ณ ์ถ์์ง๋ง, ๋ด๊ฐ ๋งํ ์ ์๋ ํ Homebrew ๊ฐ๋ฐ์๋ค์ ๊ทธ๋ค์ด ๋ฐ์๋ค์ด๋ ๊ฒ์ ๋ํด ๊น๋ค๋กญ์ต๋๋ค. ํนํ ํ ์คํธ
๊ทธ๋ค์ด ๊ทธ๊ฒ์ ๋ฐ์๋ค์ด์ง ์๋๋ผ๋ ์ฐ๋ฆฌ๊ฐ ์ฝ๊ฐ์ ํผ๋๋ฐฑ์ ๋ฐ์ผ๋ฉด ์ข์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ธ๊ธฐ๊ฐ ๋ง์ง ์์ ์๊ฐ๊ฐ ์์ ์ ์ํ์ ์ ์ถํ๋ ๊ฒ์ ์ซ์ดํฉ๋๋ค.
๋๋ ๋น์ ์ด ๋น์ ์์ ์ ์์ ์ ๋ํ ๊ณต์์ ์ ์ถํด์๋ ์๋๋ค๋ ์ด ๋ฌธ์ฅ์ ์ดํดํฉ๋๋ค(=๋น์ ์ด ๋จ๋ ์ผ๋ก ์์ฑํ ๋ ํฌ). ์ฌ๊ธฐ์์๋ ๊ฑฐ์ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ด์ ๋ฐ์ด๋๋ฆฌ Homebrew ํจํค์ง(๋ณ)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค . ๋๊ตฐ๊ฐ๊ฐ ๊ณต์์ ์๋ํ๊ณ ์ถ๋ค๋ฉด ์๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
brew doctor
๋ฅผ ์คํํ๊ณ ๋ช
๋ น์ด ๋ณด๊ณ ํ๋ Elektra์ ๋ชจ๋ ์กฐ๊ฐ์ ์ ๊ฑฐํ์ญ์์ค.brew tap ElektraInitiative/homebrew-elektra
์ ์ฅ์๋ฅผ ํญํฉ๋๋ค.brew install elektra
.brew install --build-from-source elektra
๋ฅผ ์ฌ์ฉํ์ญ์์ค.brew install --HEAD elektra
๋ฅผ ์ฌ์ฉํ์ญ์์ค.brew test elektra
๋ช
๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.๊ทธ๋ค์ด ๊ทธ๊ฒ์ ๋ฐ์๋ค์ด์ง ์๋๋ผ๋ ์ฐ๋ฆฌ๊ฐ ์ฝ๊ฐ์ ํผ๋๋ฐฑ์ ๋ฐ์ผ๋ฉด ์ข์ต๋๋ค.
ํ , ์์์ด. ์๊ฐ์ด ๋๋ค๋ฉด ๋ด์ผ ํ ๋ฆฌํ์คํธ๋ฅผ ์ด์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ ๋ค์ ์ข์ ์์์ ๋๋ค!
์ด ๋ ๊ธด ์ค๋ช ์ ํฌํจํ๋๋ก homebrew-elektra์ README.md๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๊น?
์ด๋ค ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฐ์ธ๋ฉ์ด ํ์ฑํ๋์๋์ง์ ๋ํ ๋น๋ ๋ก๊ทธ๊ฐ ์์ต๋๊น? ํนํ python2 ๋ฐ์ธ๋ฉ์ด ํฌํจ๋์ด ์์ผ๋ฉด ๊ด์ฌ์ด ์์ ๊ฒ์
๋๋ค(๊ทธ๋ฆฌ๊ณ ์๋: python ์ธํฐํ๋ฆฌํฐ์์ import kdb
๋ฅผ ์๋ํ ์ ์์ต๋๊น)?
์ด ๋ ๊ธด ์ค๋ช ์ ํฌํจํ๋๋ก homebrew-elektra์ README.md๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๊น?
์ข์ต๋๋ค. ์ฌ๊ธฐ ์์ ์ ๋ฐ์ดํธ๋ ReadMe๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ด๋ค ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฐ์ธ๋ฉ์ด ํ์ฑํ๋์๋์ง์ ๋ํ ๋น๋ ๋ก๊ทธ๊ฐ ์์ต๋๊น?
๋ด ์ปดํจํฐ์ ๋ง์ ์ ํ์ Elektra ์ข
์์ฑ์ ์ค์นํ๊ธฐ ๋๋ฌธ์ ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก์ ๋งค์ฐ ๊ด๋ฒ์ํด์ผ ํฉ๋๋ค. ๋ค์์ brew install --build-from-source -debug -verbose elektra
์ ์ํด ์์ฑ๋ ๋ก๊ทธ ์
๋๋ค.
ํนํ python2 ๋ฐ์ธ๋ฉ์ด ํฌํจ๋์ด ์์ผ๋ฉด ๊ด์ฌ์ด ์์ ๊ฒ์ ๋๋ค(๊ทธ๋ฆฌ๊ณ ์๋: ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ์์
import kdb
๋ฅผ ์๋ํ ์ ์์ต๋๊น?)?
๊ทธ๊ฒ๋ค์ ํฌํจ๋์ด์ผ ํ์ง๋ง(์์ ๋ก๊ทธ ์ฐธ์กฐ) ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ import kdb
๋ ์์คํ
๋ฒ์ ์ Python( /usr/bin/python
)๊ณผ Homebrew๋ฅผ ํตํด ์ค์น๋ ๋ฒ์ ( $#$4$# ๋ชจ๋์์ ๋ค์ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค /usr/local/bin/python
):
import kdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named kdb
.
์๊ฒ ์ต๋๋ค. ์ ๋ฐ์ดํธ๋ ReadMe๋ฅผ ์ดํด๋ณผ ์ ์์ต๋๋ค.
์ข์์, ๊ฐ์ฌํฉ๋๋ค!
๋ด ์ปดํจํฐ์ ๋ง์ ์ ํ์ Elektra ์ข ์์ฑ์ ์ค์นํ๊ธฐ ๋๋ฌธ์ ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก์ ๋งค์ฐ ๊ด๋ฒ์ํด์ผ ํฉ๋๋ค.
-DBINDINGS=ALL
๊ฐ ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.kdb gen
๊ฐ ์๋ํ๋ ค๋ฉด python cheetah ๊ฐ ํ์ํ๊ณ --install-layout
๊ฐ ํ์ํฉ๋๋ค. ์์ ํ๊ธฐ ์ด๋ ค์ด ๊ฒ ๊ฐ์ต๋๋ค(์ง๊ธ์ ๊ทธ๋๋ก ๋๊ณ TOOLS์์ gen์ ๋นํ์ฑํํ๋ ๊ฒ์ด ์ข์ต๋๋ค).ํฌํจ๋์ด์ผ ํฉ๋๋ค(์์ ๋ก๊ทธ ์ฐธ์กฐ).
๋๋ ๋น์ ์ด ํ์ด์ฌ ๋ฐ์ธ๋ฉ๊ณผ ํ๋ฌ๊ทธ์ธ์ ์์๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋ฐ์ธ๋ฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค( -- Include Binding swig_python2
์์).
- ronn์ด ๋๋ฝ๋ ๊ฒ ๊ฐ์ต๋๋ค(๋งจ ํ์ด์ง ์์)
๋๋ฝ ๋ ๊ฒ ๊ฐ์ต๋๋ค. rbenv ๋ฅผ ํตํด ronn
๋ฅผ ์ค์นํ์ต๋๋ค. Homebrew ํ๊ฒฝ์ ~/.rbenv/shims
๋ฅผ ํฌํจํ์ง ์๋ PATH
์ ๋ํด ๋ค๋ฅธ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ช ๊ฐ์ง ์ฐ๊ตฌ ๋์ ronn
๋ฅผ ์ ํ์ Ruby ์ข
์์ฑ ์ผ๋ก ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ํ์ฌ ๊ณต์์ ronn
์ค์น๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค. ์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ ์ฐพ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
- ๋ฐ์ธ๋ฉ(cpp ์ ์ธ)์ ํฌํจํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
-DBINDINGS=ALL
๊ฐ ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
๋น์ ์ด ๋ง์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์์์ CMake ์ธ์์ ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
๋๋ ๋น์ ์ด ํ์ด์ฌ ๋ฐ์ธ๋ฉ๊ณผ ํ๋ฌ๊ทธ์ธ์ ์์๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋ฐ์ธ๋ฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค(
-- Include Binding swig_python2
์์).
๋น์ ์ ๋ค์ ์ณ์ต๋๋ค : o). ๋ฐ์ธ๋ฉ์ด ์๋ํ๋์ง ๋์ค์ ํ์ธํ๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ ์ ๋น๋ ํ๋ก์ธ์ค ์ ๋ํ ํ์ ์ข
์์ฑ์ผ๋ก ronn
๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๋น๋์ ronn
๋ฅผ ์๊ตฌํ๋ ๊ฒ์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ์ด์จ๋ ๋ณ์ ๋ด๊ธด ์์ ๋ฒ์ ์ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ด๊ฐ ronn
๋ฅผ ์ ํ์ ์ข
์์ฑ์ผ๋ก ์ถ๊ฐํ์ง ์์ ์ด์ ๋ฅผ ๋ฌผ์ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์์ธ์ brew info
์ ์ถ๋ ฅ์ด์์ต๋๋ค. :optional
ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ฉด ์ด๋ฆฌ์์ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ณ ๋งค์ฐ ์๋ชป๋์์ต๋๋ค.
โฆ
==> Dependencies
Build: cmake โ
==> Requirements
Build: ronn (ruby module) โ
Optional: ronn (ruby module) โ
==> Options
--with-languagemodule
Build with languagemodule support
โฆ
. ์๋ ํ
์คํธ๋ brew info elektra
์ ํ์ฌ ์ถ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค.
elektrainitiative/elektra/elektra: stable 0.8.19 (bottled), HEAD
Configuration Framework
https://web.libelektra.org
Not installed
From: https://github.com/ElektraInitiative/homebrew-elektra/blob/master/Formula/elektra.rb
==> Dependencies
Build: cmake โ
==> Requirements
Build: ronn (ruby module) โ
.
-DBINDINGS=ALL
์์์ CMake ์ต์
์ brew audit --strict elektra
๋ฅผ ์ถ๊ฐํ๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค(Elektra๋ฅผ ์ค์นํ ํ).
elektrainitiative/elektra/elektra:
* python modules have explicit framework links
These python extension modules were linked directly to a Python
framework binary. They should be linked with -undefined dynamic_lookup
instead of -lpython or -framework Python.
/usr/local/Cellar/elektra/0.8.19/lib/python2.7/site-packages/_kdb.so
/usr/local/Cellar/elektra/0.8.19/lib/python3.5/site-packages/_kdb.so
Error: 1 problem in 1 formula
. Hombrew ๋ฒ์ ์ Python์์ import kdb
๋ฅผ ์๋ํ๋ฉด Python ์ธํฐํ๋ฆฌํฐ๊ฐ ์ถฉ๋ํ์ฌ ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
Fatal Python error: PyThreadState_Get: no current thread
fish: '/usr/local/bin/python' terminated by signal SIGABRT (Abort)
ninja test
โ ๋ด ์ผ๋ฐ์ ์ธ ๋น๋ ๋๋ ํ ๋ฆฌ โ ์ญ์ ์คํจํ๊ณ ๋ค์ ์ค๋ฅ๊ฐ ํ์๋๋ฏ๋ก ์ด๊ฒ์ ์ ์์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
31 - testpy2_kdb.py (OTHER_FAULT)
32 - testpy2_key.py (OTHER_FAULT)
33 - testpy2_keyset.py (OTHER_FAULT)
34 - test_kdb.py (OTHER_FAULT)
35 - test_key.py (OTHER_FAULT)
36 - test_keyset.py (OTHER_FAULT)
40 - testruby_kdb (OTHER_FAULT)
41 - testruby_key (OTHER_FAULT)
42 - testruby_keyset (OTHER_FAULT)
. ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ Ninja ํ๋ก์ ํธ๋ฅผ ์์ฑํ์ต๋๋ค.
cmake .. \
-GNinja \
-DENABLE_TESTING=ON \
-DENABLE_DEBUG=ON \
-DENABLE_LOGGER=OFF \
-DBUILD_PDF=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DPDFLATEX_COMPILER=`which latexmk` \
-DPDFLATEX_COMPILER_OPTIONS='-pdf;-f;-quiet' \
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 \
-DTOOLS=ALL \
-DBINDINGS=ALL
. Lua ๋ฐ์ธ๋ฉ์ด ์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ต์ํ require 'kdb'
๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํ์ง ์์ต๋๋ค.
๋น์ ์ ๋ ธ๊ณ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋งค๋ด์ผ ํ์ด์ง
์, ์ฌ๋๋ค์ด ๋ณ์ ๋ด๊ธด ๋ฒ์ ์ ์ ํธํ ๊ฒ์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค๋ด์ผ ํ์ด์ง๊ฐ ์๋ค๋ ๊ฒ์ ์ค์ ๋ก ์ฃผ์ ์ฌ์ฉ์ฑ ๋ฌธ์ ์ด๋ฏ๋ก ์๊ตฌ ์ฌํญ์ด ํฉ๋ฆฌ์ ์ ๋๋ค..
import kdb
์ ์ถฉ๋
@manuelm lm ๋ฐ์ธ๋ฉ์ด ์ถฉ๋ํ๋ ์ด์ ๋ฅผ ์๊ณ ์์ต๋๊น?
@sanssecours swig ๋ฒ์ ์ด ๋๋ฌด ์ค๋๋์๊ฑฐ๋ ์๋ชป๋ swig๊ฐ ์ฌ์ฉ๋์์ ์ ์์ต๋๊น?
-lpython ๋๋ -framework Python ๋์ -undefined dynamic_lookup๊ณผ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
APPLE์ ๊ฒฝ์ฐ target_link_libraries์ -framework
๋ฅผ ์ ๋ฌํด์ผ ํ ์๋ ์์ต๋๋ค. cmake docu ์ ๋ฐ๋ฅด๋ฉด -framework
์ ๋ํ ํน๋ณ ๋์ฐ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์ด์ฌ์ฉ cmake ํ์ผ์ด ์์๋์์ ์ ์์ต๋๊น? ๋ค์์ ๊นจ์ง ํ์ด์ฌ cmake ํ์ผ์ ๋ํ ๊ธด ํ ๋ก ์ ๋๋ค. (๊ด๋ จ์ด ์์ ์๋ ์์ง๋ง) ์ฌ๊ธฐ์ ๋์์ ๋๋ฆด ์ ์์ต๋๋ค. ๋ฌธ์ ๋ Mac OS X์๋ง ํด๋น๋ฉ๋๋ค.
@sanssecours swig ๋ฒ์ ์ด ๋๋ฌด ์ค๋๋ ๊ฒ ๊ฐ์ต๋๋ค...
์๋์, Homebrew๋ฅผ ํตํด ์ต์ ๋ฒ์ ์ swig
( 3.0.10
)๋ฅผ ์ค์นํ์ต๋๋ค.
..., ๋๋ ์๋ชป๋ ๊ฐ๋ฐ์ ์ฌ์ฉํ์ต๋๊น?
๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์์. locate swig
๋ฅผ ํตํ ๋น ๋ฅธ ๊ฒ์์ Homebrew๋ฅผ ํตํด ์ค์น๋ ๋ฒ์ ๋ง ํ์ํฉ๋๋ค.
@markus2330 ์ ์๋ํฉ๋๋ค! ํ๋ธ๋ฅ ๊ณต์ @sanssecours :ok_hand์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์์ ๋ฌธ์ ๊ฐ ์์์ง๋ง sudo make uninstall
๊ฐ elektra๋ฅผ ์์ ํ ์ ๊ฑฐํ์ง ์์๊ธฐ ๋๋ฌธ์ผ ์ ์์ต๋๋ค.
> brew install elektra
==> Installing elektra from elektrainitiative/elektra
==> Downloading https://github.com/ElektraInitiative/homebrew-elektra/releases/download/0.
==> Downloading from https://github-cloud.s3.amazonaws.com/releases/76387201/caf85aac-c307
######################################################################## 100.0%
==> Pouring elektra-0.8.19.sierra.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/elektra/test_data/lua/batterytotracker.lua
/usr/local/share/elektra/test_data/lua is not writable.
You can try again using:
brew link elektra
==> Summary
๐บ /usr/local/Cellar/elektra/0.8.19: 2,668 files, 54.1M
> brew link elektra
Linking /usr/local/Cellar/elektra/0.8.19...
Error: Could not symlink lib/elektra/libelektra-storage.so
Target /usr/local/lib/elektra/libelektra-storage.so
already exists. You may want to remove it:
rm '/usr/local/lib/elektra/libelektra-storage.so'
To force the link and overwrite all conflicting files:
brew link --overwrite elektra
To list all files that would be deleted:
brew link --overwrite --dry-run elektra
brew link --overwrite elektra
๋ฅผ ์คํํ ํ์๋ ์๋ฒฝํ๊ฒ ์ ์๋ํฉ๋๋ค.
Hombrew ๋ฒ์ ์ Python์์ import kdb๋ฅผ ์๋ํ๋ฉด Python ์ธํฐํ๋ฆฌํฐ๊ฐ ์ถฉ๋ํ๊ณ ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
์น๋ช ์ ์ธ Python ์ค๋ฅ: PyThreadState_Get: ํ์ฌ ์ค๋ ๋๊ฐ ์์ต๋๋ค.
๋ฌผ๊ณ ๊ธฐ: '/usr/local/bin/python' SIGABRT ์ ํธ๋ก ์ข ๋ฃ๋จ(์ค๋จ)
๊ทธ๋์ python -c "import kdb"
๋ ์์ ์น๋ช
์ ์ธ ์ค๋ฅ๋ฅผ ์ ๊ณตํฉ๋๊น? ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฌ๋ฆฌ ๋ฐ์ธ๋ฉ์ด ์ค๋ ๋ ์ํ๋ ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ ํ ๊ฑด๋๋ฆฌ์ง ์๊ธฐ ๋๋ฌธ์ ์ด์ํ๊ฒ ๋ค๋ฆฝ๋๋ค.
btw๋ https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52 ๋ฅผ ์ดํด๋ณด์ญ์์ค.
๊ทธ๋์
python -c "import kdb"
๋ ์์ ์น๋ช ์ ์ธ ์ค๋ฅ๋ฅผ ์ ๊ณตํฉ๋๊น?
์, ์ด์ ๋ฒ์ ์ ๊ณต์์ ์ฌ์ฉํ์ฌ Elektra๋ฅผ ์ค์นํ ๊ฒฝ์ฐ /usr/local/bin/python -c "import kdb"
๋ช
๋ น์ ์ด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ธ์ํฉ๋๋ค. ์ข์ ์์์ /usr/local/bin/python3 -c "import kdb"
๊ฐ ์๋ํ๋ค๋ ๊ฒ์
๋๋ค.
btw๋ https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52 ๋ฅผ ์ดํด๋ณด์ญ์์ค.
์ถ๊ฐ ์ ์๋ฅผ ์ถ๊ฐํ๊ณ pyenv ๋ฅผ ๋นํ์ฑํํ๋ฉด Python ํ ์คํธ(๋ด ์ผ๋ฐ์ ์ธ ๋น๋ ๋๋ ํ ๋ฆฌ์์)๊ฐ ์ ๋๋ก ์คํ๋ฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
๊ด์ฌ ์๋ ์ฌ๋์ ์ํด: ์ ๋ ์ต๊ทผ์ Elektra 0.8.21์ ๋ํ ํ ๋ฆฌํ์คํธ๋ฅผ homebrew-core
์ฌ๊ธฐ ์์ ์ด์์ต๋๋ค.
ํ๋ธ๋ฅ ๊ณต์์ด ๋ฐ์๋ค์ฌ์ง ์ ๋๋ก ํ๋ฅญํฉ๋๋ค! https://github.com/Homebrew/homebrew-core/pull/22049
์ฌ์ํ ๊ฒ: http://brewformulas.org/Elektra ์์ " ๊ตฌ์ฑ ์กฐ๊ฐ ๊ณต์ ๋ฅผ ์ํ ์ ์ฅ์" ์ค๋ช ์ด ์ฝ๊ฐ ์๋ชป๋์์ต๋๋ค. ๊ณต์์ ํตํด ์ด๋ฅผ ์์ ํ ์ ์์ต๋๊น? ์๋๋ฉด ์ด ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด ํธ๋์ปค์ ๋ฌธ์ ๋ฅผ ์ ์ถํด์ผ ํฉ๋๊น?
๋๋ http://brewformulas.org ๊ฐ ๊ณต์ Homebrew ์ฌ์ดํธ๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์์์ ๋ํ ์ฌ๋ฐ๋ฅธ ์ค๋ช ์ ์ฐพ์ ์ ์์ต๋๋ค.
์ ์ญ ํค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์ฑ ์ค์ ์ ์ก์ธ์คํ๊ธฐ ์ํ ํ๋ ์์ํฌ
๊ณต์ Homebrew ํํ์ด์ง .
๊ฐ์ฌํฉ๋๋ค. ์๋ชป๋ ์ค๋ช ์ด ์๋ ๋ค๋ฅธ ๋น๊ณต์ ํ์ด์ง๊ฐ ๋ด ์ธํฐ๋ท ๊ฒ์์์ ๋ ๋์ ์์๋ฅผ ์ฐจ์งํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ํฌ ์ชฝ์์ ์ค๋ช ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ๋ธ๋ฅ ๊ณต์์ ๊ณต์ํํ๋ ๋ฐ ๋์ง๊ธฐ๊ฒ ๋ณด๋ด์ฃผ์ ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
doc/INSTALL.md
์ ์
๋ฐ์ดํธํ๊ณ ๊ณต์ ๊ณต์์ ์ฌ์ฉํ ๋์ ํญ์ ์ฌ์ฉํ ๋๋ฅผ ๋ช
ํํ ํด์ฃผ์ค ์ ์์ต๋๊น?
doc/INSTALL.md
์ ์ ๋ฐ์ดํธํ๊ณ ๊ณต์ ๊ณต์์ ์ฌ์ฉํ ์๊ธฐ๋ฅผ ์ ๋ฆฌํ ์ ์์ต๋๊น?
๋ด ๋ก์ปฌ ๋ฒ์ ์ ์ ์ฅ์์์ ์ด๋ฏธ ๊ทธ๋ ๊ฒ ํ์ต๋๋ค. pull ์์ฒญ #1777์๋ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
โฆ ๊ทธ๋ฆฌ๊ณ ์ธ์ ์ฐ๋ฆฌ์ ํญ์ ์ฌ์ฉํฉ๋๊น?
ํญ์ Readme ์๋ ์ด๋ฏธ ์ด ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
๋ชจ๋ ๋ฆด๋ฆฌ์ค์ ๋ํ ํ๋ธ๋ฅ ๊ณต์์ ์ํ๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ์ด๊ฒ์ ์ด์ด ๋๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ์ํ๋ ๊ฒฝ์ฐ ์ถ์ ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ ์ถ๊ฐํ ์๋ ์์ต๋๋ค.
๋ชจ๋ ๋ฆด๋ฆฌ์ค์ ๋ํ ํ๋ธ๋ฅ ๊ณต์์ ์ํ๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ์ด๊ฒ์ ์ด์ด ๋๋ ๊ฒ์ ์ด๋ป์ต๋๊น?
์ฌ๊ธฐ์ ๊ฒ์ํ์ฌ ์ด๋ฏธ ๋ณด์ฌ์ฃผ์ จ๋ฏ์ด ๐ ์ ๋๊ธ์ ์ถ๊ฐํ๊ธฐ ์ํด ์ด ๋ฌธ์ ๋ฅผ ์ด์ด๋ ํ์๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ด ๋ก์ปฌ ๋ฒ์ ์ ์ ์ฅ์์์ ์ด๋ฏธ ๊ทธ๋ ๊ฒ ํ์ต๋๋ค. pull ์์ฒญ #1777์๋ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํญ์ Readme ์๋ ์ด๋ฏธ ์ด ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.