Luarocks - lua ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

INTRO lua์˜ ํ™•์žฅ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. INSTALL and SETUP Install System-Wide : /usr/local/ $ sudo apt install luarocks # luarocks ์„ค์น˜ $ sudo luarocks install stdlib # ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ $ sudo chmod a+r /usr/local/share/lua/5.1/* # ์ผ๋ฐ˜์‚ฌ์šฉ์ž ์ฝ๊ธฐ ๊ถŒํ•œ ๋ถ€์—ฌ $ sudo luarocks install package_name # ํŒจํ‚ค์ง€ ์„ค์น˜ Install User Base : $HOME/.luarocks $ sudo apt install luarocks # luarocks ์„ค์น˜ $ echo 'PATH=$PATH:$HOME/.luarocks/bin' >> ~/.bashrc # add luarock bin path $ echo 'eval "$(luarocks path --bin)"' >> ~/.bashrc # add LUA_PATH, LUA_CPATH $ . ~/.bashrc $ luarocks install --local package_name # ํŒจํ‚ค์ง€ ์„ค์น˜ (--local) Rcoktree Structure: ๊ธฐ๋ณธ ์„ค์น˜ ๊ตฌ์กฐ {base} (base rocks tree directory) โ”œโ”€โ”€ bin (deployment of command line scripts) โ”œโ”€โ”€ lib โ”‚ โ”œโ”€โ”€ luarocks โ”‚ โ”‚ โ””โ”€โ”€ rocks (contains manifest and sub-dirs with rocks) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ lua โ”‚ โ””โ”€โ”€ 5.1 (deployment of binary modules) โ”‚ โ””โ”€โ”€ share โ””โ”€โ”€ lua โ””โ”€โ”€ 5.1 (deployment of Lua modules) Usage $ luarocks # show help and usage $ luarocks list # show installed packages $ luarocks search pack_name # search packages $ luarocks install pack_name # remove installed packages $ luarocks show pack_name # show info installed packages $ luarocks remove pack_name # remove installed packages ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ก€ ํŒจํ‚ค์ง€๋Š” http://luarocks.org ์ฐธ์กฐ - ๊ฐ ๋ชจ๋“ˆ ๋‹ค์šด๋กœ๋“œ ์ˆœ์œ„๋„ ์ฐธ๊ณ  ...

2022-08-30 ยท 309 words

Luastatic - lua ๋…๋ฆฝ์‹คํ–‰ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ปดํŒŒ์ผ๋Ÿฌ

Intro lua ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹จ๋… ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ (gcc๋กœ ์ปดํŒŒ์ผ) ์ฝ”๋“œ๋ฅผ ์ˆจ๊ธฐ๊ณ  ๋น ๋ฅธ ๋‹จ๋… ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ”๊พธ๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉ ๋˜๋Š” ๊ฐœ๋ฐœ์‹œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฃจ์•„ํŒŒ์ผ์„ require๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ณ ์ž ํ•  ๋•Œ luarocks๋กœ ์„ค์น˜ํ•œ๋‹ค. luarocks๋กœ ์„ค์น˜๋œ ๋ชจ๋“ˆ์€ ~/.bashrc์— eval "$(luarocks path --bin)"๋กœ ์„ค์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ํฌํ•จ๋œ๋‹ค. ๋ฌธ์ œ๋Š” ๊ฐ™์€ ๋ฆฌ๋ˆ…์Šค๋ผ๋„ ๋ฒ„์ „๊ฐ„ ๋ฐฐํฌํŒ๊ฐ„์— glibc ํ˜ธํ™˜์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. ๊ฑฐ์˜ ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ๋งŒ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ๋ณธ๋‹ค. ๋‹จ, alpine linux์˜ ๊ฒฝ์šฐ์—๋Š” glibc ๋ฒ„์ „ ๋ฌธ์ œ๊ฐ€ ์—†๊ณ , ์šฉ๋Ÿ‰๋„ ์ž‘๋‹ค. debian ๊ณ„์—ด ์š”๊ตฌ์‚ฌํ•ญ: build-essential(gcc), lua, luastatic alpine Linux ์š”๊ตฌ์‚ฌํ•ญ: build-base, clang, luajit, luastatic Install and Howto Install $ luarocks install --local luastatic # install luastatic $ export PATH=$PATH:$HOME/.luarocks/bin # set PATH for luarocks bin $ luastatic # show version and usage Compile Single Lua file $ luastatic myprogram.lua \ /usr/lib/x86_64-linux-gnu/liblua5.1.a \ -I /usr/include/lua5.1 $ ./myprogram Embed library.lua for require(โ€œlibraryโ€) $ luastatic myprogram.lua \ myprogram.lua \ library.lua \ /usr/lib/x86_64-linux-gnu/liblua5.1.a \ -I /usr/include/lua5.1 C library containing luaopen_() $ luastatic myprogram.lua \ library.a \ /usr/lib/x86_64-linux-gnu/liblua5.1.a \ -I /usr/include/lua5.1 LuaJit on Ubuntu - ์šฐ๋ถ„ํˆฌ์—์„œ LuaJit ์‚ฌ์šฉ $ sudo apt install luajit # install luajit - 2.1.0 $ sudo apt install libluajit-5.1-dev # install libluajit dev - 5.1 $ luastatic myprogram.lua \ /usr/lib/x86_64-linux-gnu/libluajit-5.1.a \ -I /usr/include/luajit-2.1 \ -no-pie LuaJit on Alpine - LuaJit, clang with musl lib static compile # apk add luajit luajit-dev # install luajit - 2.1.0 # apk add build-base clang make # install build base and clang # env CC=clang luastatic myprogram.lua \ /usr/lib/x86_64-linux-gnu/libluajit-5.1.a \ -I /usr/include/luajit-2.1 \ -no-pie ์ข€ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐ Links https://github.com/ers35/luastatic ...

2022-08-30 ยท (updated 2022-11-29) ยท 249 words

Lua Install

Install ์„ค์น˜ - luaJit๊ณผ์˜ ํ˜ธํ™˜์„ ์œ„ํ•ด 5.1๋กœ ์„ค์น˜. sudo apt install lua5.1 lua -v - version lua -h - help lua -i - interactive mode Hello World hello-world.lua #!/usr/bin/env lua print("Hello World!") ์‹คํ–‰ chmod u+x hello-world.lua ./hello-world.lua Lua - Cli ์ธํ„ฐํ”„๋ฆฌํ„ฐ $ lua Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio > print('Hello World!') Hello World! > os.exit() -- ๋˜๋Š” Control + d (๋ฆฌ๋ˆ…์Šค)

2022-08-30 ยท (updated 2022-09-17) ยท 63 words

Lua Intro - ์™œ lua์ธ๊ฐ€

Intro 1993 ๊ฐœ๋ฐœ, ํ˜ธ๋ฒ ๋ฅดํˆฌ ์˜ˆ๋ฃจ์ž˜๋ง์Šคํ‚ค, ํฌ๋ฅดํˆฌ๊ฐˆ์–ด ๋‹ฌ์„ ์˜๋ฏธ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ๊ต‰์žฅํžˆ ์ž‘๊ณ  ๊ฐ€๋ฒผ์šด ์ธํ„ฐํ”„๋ฆฌํ„ฐํ˜• ์–ธ์–ด์ด๋‹ค. ํŒŒ์ด์ฌ์ด๋‚˜ ๋ฃจ๋น„์— ๋น„ํ•ด ๊ฐ€๋ณ๊ณ  ๋งค์šฐ ๋น ๋ฅด๋‹ค ์ฝ”๋”ฉ์ด ๊ฐ„๊ฒฐํ•˜๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๋‹ค. ์ ˆ์ฐจํ˜•, ์˜ค๋ธŒ์ ํŠธํ˜•, ํ•จ์ˆ˜ํ˜• ๋ชจ๋‘ ์ง€์›ํ•œ๋‹ค. ํฐ ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„๋งŒ ์•„๋‹ˆ๋ผ๋ฉด ์—ฌ๋Ÿฌ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹๋‹ค. ๊ทธ๊ฒƒ์€ ๋งˆ์น˜ DB์—์„œ sqlite3๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ๊ฐ™๋‹ค. neovim์— ๊ธฐ๋ณธ ๋‚ด์žฅ๋˜์–ด ์ž๊ธฐ๋งŒ์˜ vim ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์šฉ๋„ C/C++ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ๋ฆฌ์ปดํŒŒ์ผ์ด๋‚˜ ๋ฆฌ๋กœ๋”ฉ์—†์ด ๋ฐ”๋กœ ์„ค์ • ๋ณ€ํ™”๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์  ๋•Œ๋ฌธ์— ํŠนํžˆ ๊ฒŒ์ž„์—…๊ณ„์—์„œ ๋งŽ์ด ์“ฐ์ธ๋‹ค. ๊ฐœ๋ฐœ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด์„œ Lua๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ์ผ ์™ธ์—๋„, ์•„์˜ˆ ๊ฒŒ์ž„ ์ฝ”๋“œ๋ฅผ Lua๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. API๋ฅผ ์œ ์ €๋“ค์—๊ฒŒ ๊ณต๊ฐœํ•˜์—ฌ MOD์ œ์ž‘์ด๋‚˜ ๊ฒŒ์ž„์˜ ์ปค์Šคํ…€ UI ์„ค์ • ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค. Links Lua ๋‚˜๋ฌด์œ„ํ‚ค: https://namu.wiki/w/Lua

2022-08-30 ยท (updated 2022-09-08) ยท 104 words

Sketchup2017 Install and Setup in Ubuntu

์„ค์น˜์‹œ ๊ณ ๋ ค์‚ฌํ•ญ ์„ค์น˜ํ™˜๊ฒฝ Ubuntu 22.04 SketchupMake2017 version OpenGL 3.X ์ด์ƒ WineHQ ์ตœ์‹ ๋ฒ„์ „ ์œˆ๋„์šฐ๋ฅผ ์ „ํ˜€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๊บผ๋ ค์ง€๋ฐ sketchup์„ ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด ์ฐธ๊ณ ํ•œ๋‹ค. ๋ฃจ๋น„ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์˜ค์ž‘๋™ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „์ธ๊ฐ€. OpenGL ๋ฒ„์ „์„ ๋งŒ์กฑํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฐ€. ํ•œ๊ธ€ ์ž…์ถœ๋ ฅ์ด ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๊ฐ€. ๋ฌด๋ฃŒ ๋ฒ„์ „ ์ค‘ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ sketchup์€ ๋ฌด์—‡์ธ๊ฐ€. ๊ฒฐ๋ก : SketchupMake2017 + winehq + linux Intro ์šฐ๋ถ„ํˆฌ, ๋ฐ๋น„์•ˆ์—์„œ ์„ค์น˜ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ debian Jessie 8.11, ubuntu jammy 22.04 ๊ธฐ์กด wine ํŒจํ‚ค์ง€ ๋ฒ„์ „ 6.x์—์„œ๋Š” ์‹คํŒจ, winehq ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์„ฑ๊ณต winehq: staging 7.14 version ์Šค์ผ€์น˜์—…๋ฒ„์ „์€ 2017 ์ด์ƒ์œผ๋กœ ํ•ด์•ผ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ๋ฐ ํ™œ์šฉ๊ฐ€๋Šฅ ์Šค์ผ€์น˜์—…2017๊นŒ์ง€๊ฐ€ ๋งˆ์ง€๋ง‰ Free ๋ฒ„์ „(SketchupMake-2017)์ด๋ฏ€๋กœ ์ด๋ฅผ ์„ ํƒ sketchup: 2017 make version: 2018.08.25 release ํ•œ๊ธ€์ž…์ถœ๋ ฅ๋ฌธ์ œ: winehq์„ค์น˜ ํ›„ gulim.ttc ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. Winehq Install add repository first, staging version 7.14 success sudo dpkg --add-architecture i386 wget -nc https://dl.winehq.org/wine-builds/winehq.key sudo apt-key add winehq.key sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ jammy main' sudo apt-get update sudo apt install --install-recommends winehq-staging wine --version Winetricks (version:20220411) Install winetricks ์ตœ์‹ ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod u+x winetricks mv winetricks ~/bin winetricks --version Sketchup2017 Install winetricks๋ฅผ ์ด์šฉํ•˜์—ฌ CLIํ™˜๊ฒฝ์—์„œ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ค‘๊ฐ„ ์ค‘๊ฐ„ ๋ผ์ด์„ผ์Šค ๋™์˜ ํ›„ ์„ค์น˜ํ™•์ธ์„ ํ•ด ์ฃผ์–ด์•ผํ•œ๋‹ค. dotnet ์„ค์น˜๊ณผ์ •์—์„œ rebootํ•  ๊ฑฐ๋ƒ๊ณ  ๋ฌผ์œผ๋ฉด later๋กœ ํ•ด์ค€๋‹ค. ์„ค์น˜์ „ ๋ฐ˜๋“œ์‹œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ~/.bashrc์— ๋“ฑ๋กํ•ด์ฃผ๊ณ  ๋ฐ˜๋“œ์‹œ ๋ฆฌ๋กœ๋“œํ•ด์ค€๋‹ค. ํ˜„์žฌ๋กœ์„  ํ•œ๊ธ€์„ ์œ„ํ•ด baekmukํฐํŠธ๋ฅผ ์„ค์น˜ํ–ˆ์œผ๋‚˜ ํ•œ๊ธ€์ž…์ถœ๋ ฅ์— ๋ฌธ์ œ ๋ฐœ์ƒ ์•„๋ž˜ ํ•œ๊ธ€๋ฌธ์ œ ํ•ด๊ฒฐ ์ฐธ์กฐ sudo apt-get install cabextract #winetricks required echo "export WINEARCH=win64" >> ~/.bashrc echo "export WINEPREFIX=/home/borisu/.sketchup2017" >> ~/.bashrc . ~/.bashrc #first run: mono,gecko install? -> yes #dotnet46: reboot? -> later click winetricks corefonts && \ winetricks tahoma && \ winetricks baekmuk && \ winetricks riched30 && \ winetricks richtx32 && \ winetricks vcrun2015 && \ winetricks dotnet46 Install Sketchup winetricks > winecfg > Graphics > r192dpi ์„ค์ • winetricks > Explorer > sketchup2017make.exe ์‹คํ–‰ winetricks ๋˜๋Š” CLI ์—์„œ winetricks๋กœ ์ง์ ‘ ์‹คํ–‰ ๊ฐ€๋Šฅ ...

2022-08-29 ยท (updated 2023-11-01) ยท 498 words