Lime: Windows ์ง€์› [$30]

์— ๋งŒ๋“  2014๋…„ 01์›” 24์ผ  ยท  64์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: limetext/lime

์•ˆ๋…•ํ•˜์„ธ์š” @quarnster ,

Windows ํฌํŠธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๊ฝค ๋นจ๋ฆฌ ๋๋‚ด์•ผ ํ•œ๋‹ค.

mingw64 ๋ฐ go lang๊ณผ์˜ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์œผ๋ฉฐ pygo ๋ฐ ๊ธฐํƒ€ c ๋ฐ”์ธ๋”ฉ๋œ ์ข…์†์˜ ๋งˆ์ง€๋ง‰ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณง mingw64-crt์— ํŒจ์น˜๋ฅผ ํ‘ธ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด $30์˜ ๊ณต๊ฐœ ํ˜„์ƒ๊ธˆ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Bountysource ์—์„œ ํ˜„์ƒ๊ธˆ์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.

bounty build

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

์—ฐ๋„๋Š” 2017๋…„์ด๊ณ  ์›”์€ 6์›”์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐœํ–‰์ด ์ƒ์„ฑ๋œ ํ›„ 1250์ผ์ด ์ง€๋‚ฌ ์Šต๋‹ˆ๋‹ค.
์—... ์—ฌ๋ณด์„ธ์š”? ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ Windows ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ๊นŒ์š”?

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

์™€์šฐ ์ •๋ง ํ™˜์ƒ์ ์ž…๋‹ˆ๋‹ค.

martell [email protected] ์Šˆ๋ฆฌ๋ธŒ:

์•ˆ๋…•ํ•˜์„ธ์š” @quarnster ,

Windows ํฌํŠธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๊ฝค ๋นจ๋ฆฌ ๋๋‚ด์•ผ ํ•œ๋‹ค.

mingw64 ๋ฐ go lang ๋ฐ ํŒจ์น˜์™€ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰ ์—ฐ๊ฒฐ์„ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๊ณง mingw64-crt์— ํ‘ธ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
pygo ๋ฐ ๊ธฐํƒ€ c ๋ฐ”์ธ๋”ฉ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.


์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/limetext/lime/issues/228

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

"C:\msys64\mingw32\pkg\tool\windows_386\8l.exe" -o "C:\msys64\tmp\go-build836004963\lime\3rdparty\libs\gopy_test\gopy.test.exe" -L "C :\msys64\tmp\go-build836004963\lime\3rdparty\libs\gopy_test" -L "C:\msys64\tmp\go-build836004963" "C:\msys64\tmp\go-build836004963\lime\3rdparty gopy_test\main.a"
$WORK\lime\3rdparty\libs\gopy_test\gopy.test.exe
ํ†ต๊ณผํ•˜๋‹ค
์ข‹์•„ ๋ผ์ž„/3rdparty/libs/gopy 2.592s

ํ›Œ๋ฅญํ•œ ์„ฑ๊ณต :)

์™€, ๊ต‰์žฅํ•ด!

gopy ํ›„์— ๋ฌด์—‡์„ํ•ฉ๋‹ˆ๊นŒ? cmake๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ๊ฐ€์ด๋“œ๊ฐ€ ์–ผ๋งˆ ์ „์— ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋˜ํ•œ qt5 ๋ฐ”์ธ๋”ฉ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค :)

๋‚˜๋Š” ์ด๋ฏธ gcc์— onig ๋นŒ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋ถ„๋ช…ํžˆ .a libs๊ฐ€ ์žˆ๋Š” python3.3

ํŽธ์ง‘: ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. cmakelists์˜ ๋‹จ๊ณ„๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋”ฐ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. :)

python ๋นŒ๋“œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

msys2์™€ pacman์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. mingw-w64-x86_64-python3์€ ์ด๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ OFTC์˜ irc์— ์žˆ์Šต๋‹ˆ๋‹ค. #msys2๋Š” ๋งค์ผ ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. :)
์—ฌ๊ธฐ์—์„œ ํ”ฝ์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
http://sourceforge.net/projects/msys2/

์ตœ๊ทผ์— go ์ž์ฒด๋ฅผ ์ถ”๊ฐ€ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ผ์ž„์ด ์™„๋ฃŒ๋˜๋ฉด ํŒจํ‚ค์ง€๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  PKGBUILD ์Šคํฌ๋ฆฝํŠธ๋กœ ๋นŒ๋“œํ•˜์—ฌ ;)
python ๋ฐ onig๋Š” https://github.com/martell/MINGW-packages ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ msys2์— ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์ œ ๊ฐ€์ง€๊ณ  ๋†€์•˜์Šต๋‹ˆ๋‹ค. ์ •์  python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๊นŒ? 32๋น„ํŠธ ๋˜๋Š” 64๋น„ํŠธ ํˆด์ฒด์ธ์„ ์‚ฌ์šฉํ•˜์…จ์Šต๋‹ˆ๊นŒ?

์–ธ๊ธ‰๋œ crt ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ด๋ฏธ ์˜จ๋ผ์ธ์— ์žˆ์Šต๋‹ˆ๊นŒ?

https://github.com/martell/MINGW-packages
Python PKGBUILD๊ฐ€ ์ด ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ, Alexey๋Š” ์†์œผ๋กœ ๊ทธ๊ฒƒ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์™€ mingwandroid๊ฐ€ mingw64์— ๋Œ€ํ•œ go์˜ CFLAG ์ „๋‹ฌ์„ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ ํ›„์— ๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค :) ... ์ž˜ํ•˜๋ฉด

crt๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด "pacman -Syu"๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ python3์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋นŒ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? mingw(w64 ์•„๋‹˜)์—์„œ๋Š” pexport๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๊นŒ? CFLAGS์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

Python3์€ mingw64๋กœ ์ปดํŒŒ์ผ๋˜๋ฏ€๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ libpython3.3m.a๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
https://github.com/martell/MINGW-packages/tree/master/mingw-w64-python3

์šฐ๋ฆฌ๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์•„๋ฌด ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ Visual Studio ๋นŒ๋“œ์—๋„ ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

pexports์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์€ gendef์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์— ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
http://sourceforge.net/apps/trac/mingw-w64/wiki/gendef

์ž, mingw64๋กœ termbox ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.
debug.log์˜ ์ด ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ •์ƒ์ ์œผ๋กœ ๋‹ซํž™๋‹ˆ๋‹ค.
[2014/01/25 00:47:11 GMT] EROR (main.main:607) ํ•ธ๋“ค์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”์ธ๋”ฉ์„ ์„ค์ •ํ•œ ํ›„ qml ๋นŒ๋“œ์—์„œ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—์„œ ๋‘ ๊ฐœ์˜ ๋ฐ”์ธ๋”ฉ์ด ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ผ์ž„/ํ”„๋ก ํŠธ์—”๋“œ/qml
C:\msys64\tmp\go-build680373563/lime/3rdparty/libs/gopy/lib.a(_all.o): ์ค‘๋ณต ๊ธฐํ˜ธ ์ฐธ์กฐ: github.com/niemeyer/qml(.text) ๋ฐ ์„ํšŒ/3rdparty ๋ชจ๋‘์—์„œ mingw_onexit /libs/gopy/lib(.text)

https://www.dropbox.com/s/2ibydge1x8k9s1w/lime.7z

๋‚˜๋Š” termbox, html์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌ์ถ•ํ–ˆ์œผ๋ฉฐ qml์ด ๋งํฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— qt5 main.go์— ๋‹ค์‹œ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

Termbox๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ตœ๊ณ ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.
๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋กœ๋“œํ•œ ๋‹ค์Œ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค./
๊ทธ๋ž˜๋„ ๋ฉ‹์ง„ ๋กœ๊ทธ ํŒŒ์ผ ;)

build/bin์—์„œ exe๋ฅผ ์ฐพ๊ณ  ํด๋” ๊ตฌ์กฐ์™€ ๊ด€๋ จ๋˜๋ฏ€๋กœ ์ด๋™ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

@martell : mintty ๋Œ€์‹  Windows ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ termbox ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

@EdVanDance
์˜ˆ, Windows cmd.prompt์—์„œ termbox๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์กฐ๊ธˆ ๋” ๋…ธ๋ ฅํ•˜๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— Windows์—์„œ setcolormode 256์„ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@martell ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. i686 python3์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค(์ €๋Š” x86_64์— ์žˆ์Šต๋‹ˆ๋‹ค). cmd๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

set PYTHONHOME=...\msys64\mingw32\lib\python3.3
termbox.exe

๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์–ป๋Š”๋‹ค:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

๋‚ด๊ฐ€ python dll์„ ํฌํ•จํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— PYTHONHOME์„ ์„ค์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ ์—†์ด ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ๋‚ด๊ฐ€ ํ‹€๋ ธ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์–ด์จŒ๋“  ๊ทธ๋ ‡๊ฒŒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŒจ์น˜๋Š” mingw64-crt์— ๋ณ‘ํ•ฉ๋˜์—ˆ์œผ๋ฉฐ Alexey๋Š” ๊ณง ์—…๋ฐ์ดํŠธ๋ฅผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ;)

PYTHONPATH๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด. ๋‚˜๋Š” ์–ป๋‹ค:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

msys ๋‚ด์—์„œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๊นŒ? Win+R ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„๋‹ˆ์š”. ๋‹น์‹ ์ฒ˜๋Ÿผ ์ง์ ‘ cmd๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. PYTHONHOME์€ ๋‚ด ์‹œ์Šคํ…œ์— ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด์ „์— Windows ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์— python์„ ์„ค์น˜ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
์–ด์ฉŒ๋ฉด ๊ทธ๊ฒƒ์ด ๋‚ด cmd ์ฐฝ์ด ๋ถˆํ‰ํ•˜์ง€ ์•Š๋Š” ์ด์œ ์ž…๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ํŠน์ • ์ง€์ ์—์„œ ์ถฉ๋Œํ•˜๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ž˜๋ชป๋œ Python ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mingw python3 ๋˜๋Š” msys2 python3์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๊นŒ?

ํ  ๊ทธ ์ด์œ ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ PYTHONPATH๋ฅผ ์„ค์ •ํ•œ ํ›„ ์™œ ๋ถˆํ‰ํ•˜๋Š”์ง€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ถ„๋ช…ํžˆ ์ธ์ฝ”๋”ฉ ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ ๊ฒ ์–ด์š”.
๊ทธ๋ƒฅ:

set PYTHONHOME=...\msys64\mingw32

lib\python3.3 ์—†์ด .

์ข‹์€ ;) ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์˜ ์ถœ๋ ฅ์€?

ํŒŒ์ผ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜์ง€๋งŒ ํ‚ค ๋ˆ„๋ฆ„์— ๋ฐ˜์‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  256์ƒ‰ ๋ชจ๋“œ์— ๋Œ€ํ•ด ๋ถˆํ‰ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์—…๋กœ๋“œํ•œ zip์—๋Š” ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  cgo.go ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.)
๋‚˜๋Š” ๋˜ํ•œ ๋‹น์‹ ์ด ํ•„์š”๋กœ ํ•  on and go์— ๋Œ€ํ•œ ๋‚˜์˜ mingw-packages repo์— ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ด์ฃผ์„ธ์š” :)

๋‚˜๋Š” ์—ฌ๊ธฐ๊นŒ์ง€

[2014/01/25 04:08:33 GMT] [INFO](lime/backend/sublime.sublime_Console:87) Python sez: ํ”Œ๋Ÿฌ๊ทธ์ธ Vintageous.jump_list_cmds ๋กœ๋“œ ์ค‘
[2014/01/25 04:08:33 GMT] [FNST](main.%28 tbfe%29.renderthread:375) ๋ Œ๋”๋ง[2014/01/25 04:08:33 GMT] [FNST](lime/backend.%28 commandHandler%29.Register:169) vi_add_to_jump_list๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
[2014/01/25 04:08:33 GMT] [FNST](lime/backend.%28 commandHandler%29.Register:194) ์„ฑ๊ณต์ ์œผ๋กœ ๋“ฑ๋ก๋œ ๋ช…๋ น vi_add_to_jump_list[2014/01/25 04:08:33 GMT] [INFO](lime/backend/sublime.sublime_Console:87) Python sez: ํ”Œ๋Ÿฌ๊ทธ์ธ Vintageous.motion_cmds ๋กœ๋“œ ์ค‘[2014/01/25 04:08:33 GMT] [FNST](main.%28 tbfe%29.renderthread:375) ๋ Œ๋”๋ง
[2014/01/25 04:08:33 GMT] [FNST](lime/backend.%28*commandHandler%29.Register:169) ๋น„๊ฐ€์—ญ ํ…์ŠคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค

๋™์ผ:
http://pastebin.com/G2yNjmdp

์ข‹์•„, Alexey๊ฐ€ ๋‚ด go ํŒจํ‚ค์ง€์™€ ๊ณต์œ  ํŒจํ‚ค์ง€๋ฅผ ๋ณ‘ํ•ฉํ•˜๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋‘๊ฐ€ ๊ฐ™์€ ํŽ˜์ด์ง€์— ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ์€ cmakelists.txt์—์„œ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง๋œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋นŒ๋“œํ•˜๋Š” ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค. ;)

https://gist.github.com/martell/c178f674188cb779b8fd

์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ™•์‹คํžˆ ๋„์›€์ด ๋งŽ์ด ๋ฉ๋‹ˆ๋‹ค. 64๋น„ํŠธ ๋นŒ๋“œ๋„ ํ•ด๋ณด์…จ๋‚˜์š”?

๋‚˜๋Š”ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ๋™์ผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ๋นŒ๋“œํ•  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑ ์ค‘์ž…๋‹ˆ๋‹ค :D

์ข‹์•„. sourceforge์—์„œ msys2์™€ msys64 ๊ธฐ๋ณธ ๋‹ค์šด๋กœ๋“œ์˜ ์ฐจ์ด์ ์„ ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์ €๋Š” MSYS2์—์„œ Martell ๋ฐ Alexey Pavlov์™€ ํ•จ๊ป˜ ์ผํ•ฉ๋‹ˆ๋‹ค. "์•ˆ๋…•ํ•˜์„ธ์š”"๋ผ๊ณ  ์ธ์‚ฌํ•  ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ ์ค‘ ์ผ๋ถ€๋Š” Martell์ด ์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ์ง€๋งŒ ๋ชจ๋‘ ํ•ฉ์น  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

msys64๋Š” WIP ์ด๋ฆ„์ด์—ˆ๊ณ  ์ง€๊ธˆ์€ MSYS2์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

์œ ์ผํ•œ ๋ฌธ์„œ(๋Œ€๋ถ€๋ถ„์˜ Arch Linux์˜ pacman/makepkg ํ•ญ๋ชฉ ์ œ์™ธ)๋Š” ๋‹ค์Œ ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค.
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/

msys, mingw32 ๋ฐ mingw64์˜ 3๊ฐœ์˜ ํŒจํ‚ค์ง€ ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์žฅ์†Œ ์†Œ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
msys: https://github.com/Alexpux/MSYS2-packages
mingw32+mingw64: https://github.com/Alexpux/MINGW-packages

์ €๋Š” MinGW-w64 Python ํŒจํ‚ค์ง€์™€ ํŒจ์น˜(๋ถˆํ–‰ํžˆ๋„ ๋„ˆ๋ฌด ๋งŽ์Œ)๋ฅผ ๊ณต๋™ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์งˆ๋ฌธํ•˜๊ณ  Martell์ด ๋งํ–ˆ๋“ฏ์ด ์ฑ„ํŒ…์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด OFTC์˜ #msys2์— ๋“ค๋ฅด์‹ญ์‹œ์˜ค.

๋‹ต์žฅ์„ ๋“œ๋ฆฌ์ง€ ๋ชปํ•ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. Github๋Š” ๋‚˜์—๊ฒŒ ์•Œ๋ฆผ์„ ์ฃผ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค :/
Ray๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๋‹น์‹ ์€ ๋‚˜๋ณด๋‹ค msys2์™€ mingw64์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค :)

์•Œ ๊ฒ ์–ด. ๊ณ ๋งˆ์›Œ์š”.
์ €์—๊ฒŒ msys2๋Š” ๊ฐ€์žฅ ๊ฐ€์น˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ํŒฉ๋งจ์ด ์žˆ๋Š”๊ฒŒ ์ตœ๊ณ ์ž…๋‹ˆ๋‹ค.

์ข‹์€ ๋ง์”€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ํ•˜๊ณ  ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์žฅ์ ์„ ๊ณต์œ ํ•˜์‹ญ์‹œ์˜ค ;-)

์—๋“œ๋ฐด๋Œ„์Šค, ์•ˆ๋…•ํ•˜์„ธ์š”!
MSYS2์—๋Š” 32๋น„ํŠธ์™€ 64๋น„ํŠธ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์šด๋กœ๋“œํ•  ์•„์นด์ด๋ธŒ์—๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธ. ๋”ฐ๋ผ์„œ msys2๋Š” ์•„๋งˆ๋„ 32๋น„ํŠธ์ด๊ณ  msys64๋Š” 64๋น„ํŠธ์ž…๋‹ˆ๋‹ค. :์›ƒ๋‹ค:

ํŽธ์ง‘: ์‹ ๊ฒฝ์“ฐ์ง€ ๋งˆ์„ธ์š”. 32๋น„ํŠธ์™€ 64๋น„ํŠธ์šฉ์œผ๋กœ ๋ณ„๋„์˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ํŒจํ‚ค์ง€๋Š” ๋ชจ๋‘ msys2๋กœ ์ด๋ฆ„์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค.
32๋น„ํŠธ(i686) ๋ฐ 64๋น„ํŠธ(x86_64)์— ๋Œ€ํ•œ ์ ‘๋ฏธ์‚ฌ.

๋‹ค์Œ์€ 32๋น„ํŠธ MSYS2์ž…๋‹ˆ๋‹ค.
http://sourceforge.net/projects/msys2/files/Base/i686/

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ 64๋น„ํŠธ:
http://sourceforge.net/projects/msys2/files/Base/x86_64/

๋„ค, ๋ฐฉ๊ธˆ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์•„๋‹Œ ๊ธ€์„ ์“ฐ๊ธฐ ์ „์— ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์Šค๋งˆ์ผ:

๋‚˜๋Š” C:\msys64๋ฅผ ๊ณ ์ˆ˜ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๊ณ  mingw32์™€ mingw64 ํŒจํ‚ค์ง€๋ฅผ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
C:\msys64\mingw32 ๋ฐ C:\msys64\mingw64; ํŒฉ๋งจ์ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜๋„ ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

2014๋…„ 1์›” 28์ผ ํ™”์š”์ผ ์˜คํ›„ 4:30 EdVanDance [email protected] ์ž‘์„ฑ:

๋„ค, ๋ฐฉ๊ธˆ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—๋Š” ๊ธ€์„ ์“ฐ๊ธฐ ์ „์— ํ•œ ๋ฒˆ ๋ด์•ผ๊ฒ ๋‹ค.
๋ฐ˜๋Œ€๋กœ [image: :smile:]

์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ Gi tHubhttps://github.com/limetext/lime/issues/228#issuecomment -33495293์—์„œ ํ™•์ธํ•˜์„ธ์š”.
.

์ด์ œ ์†Œ์Šค๊ฐ€ x86/x64 linux/darwin์—์„œ go get ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์—๋„ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์„ค์น˜๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ฒƒ์ด ์„ค์น˜๋˜์ง€ ์•Š์€ ์ƒˆ Windows ์‹œ์Šคํ…œ์— ๋ชจ๋“  ๊ฒƒ์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์•ˆ๋‚ด๋‚˜ ๋Œ€๋žต์ ์ธ ๊ฐœ์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

https://github.com/limetext/lime/wiki/Building-on-Windows ๋Š” ํ™•์‹คํžˆ ์ƒˆ๋กœ๊ณ ์นจ/์žฌ์ž‘์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค...

๊ณง ์ฒ˜๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž‘๋™ํ•˜๋Š” Lime์— Python ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๋‚˜๋Š” frontend/html๊ณผ frontend/termbox ๋ชจ๋‘์—์„œ gopy & sublime(๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์— ์˜์กดํ•˜๋Š” ์„ธ ์ค„)์˜ import๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๊ณ  rubex์˜ import๋ฅผ import (rubex "regexp") ๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. html๊ณผ termbox๋Š” ๋ชจ๋‘ Windows์—์„œ ๋นŒ๋“œ๋˜๊ณ  ์‹คํ–‰๋˜์ง€๋งŒ ์ด์ƒํ•˜๊ฒŒ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • html์€ ํ‚ค๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค("&"์™€ ๊ฐ™์€ ์ด์ƒํ•œ ๊ธฐํ˜ธ ๋ฐ ๊ธฐํƒ€ ๊ธฐํ˜ธ๋Š” Firefox์™€ Chromium ๋ชจ๋‘์— ๋‚˜ํƒ€๋‚จ).
  • termbox์— ์ปค์„œ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š๊ณ  ํ™”๋ฉด ํ•˜๋‹จ์ด ์ด์ƒํ•˜๊ฒŒ ์ด๋™ํ•˜๊ณ  ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๋น ๋ฅด๊ฒŒ ์•„๋ž˜๋กœ ์Šคํฌ๋กค๋จ

์–ด๋–ค ์•„์ด๋””์–ด? :)

termbox์— ๋Œ€ํ•ด ๋ชจ๋“  ๋นŒ๋“œ์™€ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜๋Š” ๋กœ๊ทธ ํŒŒ์ผ์—์„œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ผ๋ถ€ vim ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋นˆํ‹ฐ์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ์œผ๋ฏ€๋กœ ๋จผ์ € i ๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ ์ž…๋ ฅ์„ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@zoli msys๊ฐ€ mingw python์„ gopy and go 1.3.1์—์„œ ์ˆ˜์ •ํ•œ 3.4๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๋™์•ˆ ๋นŒ๋“œํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ python3.4 ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋ฏ€๋กœ msys2 ๋ฐ mingw-64๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ํšŒ ํ…์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ๋‚ด ํ˜„์žฌ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

$ go get github.com/limetext/lime/frontend/termbox # github.com/limetext/gopy/lib ..\..\..\mingw64\src\github.com\limetext\gopy\lib\utils.c: In function 'cinit': ..\..\..\mingw64\src\github.com\limetext\gopy\lib\utils.c:503:11: error: 'sigaltstack' undeclared (first use in this function) stub(&sigaltstack); ^ ..\..\..\mingw64\src\github.com\limetext\gopy\lib\utils.c:503:11: note: each undeclared identifier is reported only once for each function it appears in ..\..\..\mingw64\src\github.com\limetext\gopy\lib\utils.c:504:11: error: 'signal' undeclared (first use in this function) stub(&signal); ^ ..\..\..\mingw64\src\github.com\limetext\gopy\lib\utils.c:505:11: error: 'sigaction' undeclared (first use in this function) stub(&sigaction);

์ด ์ปค๋ฐ‹์ด Windows์—์„œ gopy๋ฅผ ๊นจ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://github.com/limetext/gopy/commit/8b1545fdde22aad006ba8596dd7e9ad80ff0dec7


์ด ๋ฌธ์ œ๋ฅผ ๋’ท๋ฐ›์นจํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? ํ˜„์ƒ๊ธˆ์„ ๊ฑธ๊ณ ! ์šฐ๋ฆฌ๋Š” Bountysource ๋ฅผ ํ†ตํ•ด ํ˜„์ƒ๊ธˆ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ฃผ์„์„ ๋‹ฌ๋ฉด์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
github.com/limetext/gopy/lib(.text): undefined: github.com/limetext/gopy/lib(/4292) github.com/limetext/gopy/lib(.text): undefined: github.com/limetext/gopy/lib(/6573) github.com/limetext/gopy/lib(.text): undefined: github.com/limetext/gopy/lib(/6545) github.com/limetext/gopy/lib(.text): undefined: github.com/limetext/gopy/lib(/6513) too many errors
@quarnster ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ์€ Windows์˜ msys2์—์„œ ๋ผ์ž„ํ…์ŠคํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ๋นŒ๋“œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
https://gist.github.com/martell/8588075

go 1.3.3 ํŒจํ‚ค์ง€๊ฐ€ ๋‚ด์ผ ์„œ๋ฒ„์— ๋„์ฐฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค :)

cinit ๋Š” Windows์™€ ๊ด€๋ จ์ด ์—†์œผ๋ฏ€๋กœ ifdef-edํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ์˜ค๋ฅ˜์™€ ๊ด€๋ จํ•˜์—ฌ python lib๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฐพ์Šต๋‹ˆ๋‹ค.
pkg-config๋Š” /mingw64/include/python3 ํฌํ•จ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ lib๋„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ถ”๊ฐ€ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š”๋ณ„๋กœ ๋„์›€์ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค :(
์šฐ๋ฆฌ๋Š” ๋ฏธ์ง€์˜ ์˜์—ญ์— ์žˆ์œผ๋ฏ€๋กœ ๊ฐ•์ œ๋กœ -lpython3์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
๊ณง ๋‹ค์‹œ ๊ฒŒ์‹œ

์—ฌ๊ธฐ ๋‚ด ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
pkg-config๋Š” onig๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์„ค์น˜๋˜์ง€ ์•Š์€ ์ •๊ทœ์‹์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— lib๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—†์ด:
$ go test github.com/limetext/rubex testmain github.com/limetext/rubex(.text): undefined: onig_free github.com/limetext/rubex(.text): undefined: onig_number_of_captures github.com/limetext/rubex(.text): undefined: onig_number_of_names github.com/limetext/rubex(.text): undefined: onig_region_free github.com/limetext/rubex(.text): undefined: github.com/limetext/rubex(/63) github.com/limetext/rubex(.text): undefined: onig_region_new github.com/limetext/rubex(.text): undefined: github.com/limetext/rubex(/30) github.com/limetext/rubex(.text): undefined: onig_new github.com/limetext/rubex(.text): undefined: onig_error_code_to_str github.com/limetext/rubex(.text): undefined: onig_search github.com/limetext/rubex(.text): undefined: onig_error_code_to_str github.com/limetext/rubex(.text): undefined: onig_match github.com/limetext/rubex(.text): undefined: onig_name_to_backref_number github.com/limetext/rubex(.text): undefined: onig_foreach_name FAIL github.com/limetext/rubex [build failed]

์™€ ํ•จ๊ป˜:
$ go test github.com/limetext/rubex testmain github.com/limetext/rubex(.text): undefined: github.com/limetext/rubex(/63) github.com/limetext/rubex(.text): undefined: github.com/limetext/rubex(/30) FAIL github.com/limetext/rubex [build failed]

ํŽธ์ง‘: Windows์—์„œ 32๋น„ํŠธ๋กœ ์ด๋™ํ•˜๋ฉด ๋” ์˜๋ฏธ ์žˆ๋Š” ์˜ค๋ฅ˜๊ฐ€ ์ธ์‡„๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$ go get github.com/limetext/lime/frontend/termbox github.com/limetext/lime/frontend/termbox github.com/limetext/gopy/lib(.text): undefined: _get_output_format github.com/limetext/gopy/lib(.text): undefined: ___lc_codepage_func github.com/limetext/gopy/lib(.text): undefined: ___lc_codepage_func github.com/limetext/gopy/lib(.text): undefined: ___lc_codepage_func github.com/limetext/gopy/lib(.text): undefined: ___lc_codepage_func github.com/limetext/gopy/lib(.text): undefined: ___lc_codepage_func

์ด ๋งํฌ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด Visual Studio ๋Ÿฐํƒ€์ž„์— ๋Œ€ํ•ด ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ mingw-w64 ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์„ฑ๊ฐ€์‹  v110 ๋˜๋Š” v110๊ณผ ๊ฐ™์€ C++ ๋Ÿฐํƒ€์ž„๋„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์‹ค์ œ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ”๋ผ๊ฑด๋Œ€ ๋‚˜๋Š” ๊ณง exe๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŽธ์ง‘: ๋‚˜๋Š” termbox๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ

qml ํ”„๋ŸฐํŠธ ์—”๋“œ๋Š” ๋‚˜์—๊ฒŒ ์ด๊ฒƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
1์›” 25์ผ์— ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

$ ๋นŒ๋“œ ์ด๋™
github.com/limetext/lime/frontend/qml
C:/msys64/mingw32/pkg/windows_386/gopkg.in/qml.v1.a(_all.o): ์ค‘๋ณต ๊ธฐํ˜ธ ์ฐธ์กฐ: github.com/limetext/gopy/lib(.text) ๋ฐ gopkg.in ๋ชจ๋‘์—์„œ mingw_onexit /qml%2ev1(.text)

๋‚ด ํ…€๋ฐ•์Šค ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ช‡ ๋‹ฌ ์ „๋ณด๋‹ค ์กฐ๊ธˆ ๋‚˜์•„์ง„ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์—ฌ์ „ํžˆ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค.

[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*WindowEvent).Call:94) OnNewWindow(2)
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnNew(4)
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnActivated(4)
[2014/10/19 11:32:41 BST] [EROR] (main.setColorMode:614) Unable to use 256 color mode: SetColorMode not implemented on Windows
[2014/10/19 11:32:41 BST] [EROR] (github.com/limetext/lime/backend/packages.funcยท001:98) Error on walking: GetFileAttributesEx ../../3rdparty/bundles/User: The system cannot find the file specified.
[2014/10/19 11:32:41 BST] [EROR] (github.com/limetext/lime/backend/packages.ScanPackets:110) Can't walk: GetFileAttributesEx ../../3rdparty/bundles/User: The system cannot find the file specified.
[2014/10/19 11:32:41 BST] [INFO] (github.com/limetext/lime/backend.(*Editor).loadKeyBinding:183) Loaded ..\..\packages\Default\Default (OSX).sublime-keymap
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(&{0x12760400})
[2014/10/19 11:32:41 BST] [INFO] (github.com/limetext/lime/backend.(*Editor).loadKeyBinding:183) Loaded ..\..\packages\Default\Default.sublime-keymap
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(&{0x12760420})
[2014/10/19 11:32:41 BST] [INFO] (github.com/limetext/lime/backend.(*Editor).loadKeyBinding:183) Loaded ..\..\packages\Default\Default (OSX).sublime-keymap
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(&{0x127ce180})
[2014/10/19 11:32:41 BST] [INFO] (github.com/limetext/lime/backend.(*Editor).loadKeyBinding:183) Loaded ..\..\packages\Default\Default.sublime-keymap
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(&{0x127ce1a0})
[2014/10/19 11:32:41 BST] [INFO] (github.com/limetext/lime/backend.(*Editor).loadSetting:199) Loaded ../../packages/Default/Preferences.sublime-settings
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(&{0x127e83b0})
[2014/10/19 11:32:41 BST] [INFO] (github.com/limetext/lime/backend.(*Editor).loadSetting:199) Loaded ../../packages/Default/Preferences (Windows).sublime-settings
[2014/10/19 11:32:41 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(&{0x127d2270})
[2014/10/19 11:32:41 BST] [EROR] (github.com/limetext/lime/backend/packages.(*Packet).Get:47) Couldn't read file: open ../../3rdparty/bundles/User/Preferences.sublime-settings: The system cannot find the path specified.
[2014/10/19 11:32:41 BST] [EROR] (github.com/limetext/lime/backend.(*Editor).loadSetting:197) 1,1: Unexpected EOF, 0-0: "JSON" - Data: ""

[2014/10/19 11:32:41 BST] [FNST] (main.(*tbfe).renderthread:437) Rendering
[2014/10/19 11:32:41 BST] [FNST] (main.(*tbfe).renderthread:437) Rendering
[2014/10/19 11:32:41 BST] [FNST] (main.(*tbfe).renderthread:437) Rendering

์ž˜ ํ•˜์…จ์–ด์š”! ์ถฉ๋Œ์— ๋Œ€ํ•œ ์—ญ์ถ”์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

"./termbox main.go"๋กœ ์‹œ์ž‘ํ•˜๋ฉด ์ด ํŒŒ์ผ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ?

gopy import + ํ˜ธ์ถœ์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ์—ฌ์ „ํžˆ ์ถฉ๋Œํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ‘œ์ค€ Go mingw ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@quarnster : ๋‚˜๋Š” ๋ฐฑ ํŠธ๋ ˆ์ด์Šค์— ๋Œ€ํ•ด ์ „ํ˜€ ๋ชจ๋ฅธ๋‹ค :(
๋‚˜๋Š” ์ถฉ๋ถ„ํžˆ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
์–ด๋–ป๊ฒŒ ๋””๋ฒ„๊น…ํ•ฉ๋‹ˆ๊นŒ?

๋‚˜๋Š” ์—ฌ๊ธฐ์— ๋กœ๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ ์ถœ๋ ฅ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*WindowEvent).Call:94) OnNewWindow(2)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnNew(4)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnActivated(4)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnModified(4)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnSelectionModified(4)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnLoad(4)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*Editor).Watch:414) Watch(C:\msys64\mingw32\src\github.com\limetext\lime\frontend\termbox\main.go (4))
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnDeactivated(4)
[2014/10/19 15:26:09 BST] [FNST] (github.com/limetext/lime/backend.(*ViewEvent).Call:60) OnActivated(4)

๋‚˜๋Š” gopy imports๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@martell , Backtrace๋Š” ํ„ฐ๋ฏธ๋„์— ์ •์ƒ์ ์œผ๋กœ ๋คํ”„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ด ๊ฒฝ์šฐ ํ„ฐ๋ฏธ๋„์„ ํ•˜์ด์žฌํ‚นํ•˜์—ฌ ์ผ๋ถ€ UI๋ฅผ ๋ Œ๋”๋งํ•˜์—ฌ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ;)

์ด ํŒจ์น˜๋ฅผ ์‹œ๋„ํ•˜๊ณ  ๋กœ๊ทธ์— ์œ ์šฉํ•œ ์ •๋ณด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

diff --git a/frontend/termbox/main.go b/frontend/termbox/main.go
index 4ff2426..bdecd51 100644
--- a/frontend/termbox/main.go
+++ b/frontend/termbox/main.go
@@ -711,7 +711,9 @@ func main() {
                termbox.Close()
                log4go.Debug(util.Prof)
                if err := recover(); err != nil {
-                       log4go.Crash(err)
+                       log4go.Debug(err)
+                       log4go.Debug("%s", string(debug.Stack()))
+                       time.Sleep(time.Second) // TODO: see issue #260
                }
        }()

์ด ์Šค๋ ˆ๋“œ๋ฅผ ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋กœ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋กœ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@techtonik ๋‹ซ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค :)
์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ํŒจ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ˜„์žฌ ์ด ์ƒํ™ฉ์— ๋Œ€ํ•ด ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ข‹์•„, ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ go ์–ธ์–ด ์ž์ฒด์˜ ์ผ๋ถ€๊ฐ€ Windows์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฐ™์€ ๋‹จ๊ณ„์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ 2๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ํƒ์ƒ‰ ์ค‘์ž…๋‹ˆ๋‹ค.
๋‘˜ ๋‹ค ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๋‚˜๋Š” ์•ฝ ์ผ์ฃผ์ผ ํ›„์— ์—…๋ฐ์ดํŠธ๋กœ ๋Œ์•„์˜ฌ ๊ฒƒ์ด๋‹ค

์ผ์ฃผ์ผ์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์งง์€ ์š”์•ฝ์œผ๋กœ ๋‹ค์‹œ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์ƒํ™œ๊ณผ ์ž์œ  ์‹œ๊ฐ„์˜ ๋ชจ๋“  ์ œํ•œ์„ ๊ฐ์•ˆํ•  ๋•Œ ํ˜„์žฌ๋กœ์„œ๋Š” ์ด์— ๋Œ€ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

martell, go ์–ธ์–ด์˜ ์–ด๋Š ๋ถ€๋ถ„์ด Windows์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ ์–ธ์–ด ์ž์ฒด๊ฐ€ ์•„๋‹Œ go ๊ตฌํ˜„์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?

์•ˆ๋…•! ์œˆ๋„์šฐ ํฌํŒ…์— ๋Œ€ํ•œ ์†Œ์‹์€? ์ง„์ „์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ์ „์— ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ์ „ํ˜€ ๋ชจ๋ฅด์ง€๋งŒ Lime-QML์€ Windows์—์„œ ์ž˜ ๋นŒ๋“œ๋˜๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‚ด ์ง€์นจ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/ricochet1k/lime-qml/wiki/Building-on-Windows-using-MSYS2

์—ฐ๋„๋Š” 2017๋…„์ด๊ณ  ์›”์€ 6์›”์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐœํ–‰์ด ์ƒ์„ฑ๋œ ํ›„ 1250์ผ์ด ์ง€๋‚ฌ ์Šต๋‹ˆ๋‹ค.
์—... ์—ฌ๋ณด์„ธ์š”? ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ Windows ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ๊นŒ์š”?

mingw64 ๋ฐ go lang ๋ฐ ํŒจ์น˜์™€ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰ ์—ฐ๊ฒฐ์„ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๊ณง mingw64-crt์— ํ‘ธ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
pygo ๋ฐ ๊ธฐํƒ€ c ๋ฐ”์ธ๋”ฉ์˜ ์˜ค๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ํ•ญ๋ชฉ์—์„œ ๋‚˜๋ฅผ ๊ตฌ๋… ํ•ด์ œ

์—ฌ๊ธฐ..

image

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