Lua update to v5.3.3

升級(jí)

$ lua -v
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio

最新的穩(wěn)定版本是 5.3.3寥枝,我們?cè)囍謩?dòng)升級(jí),順便過下安裝流程磁奖。

獲取

下載 Lua 5.3.3

解壓

$ tar xzvf lua-5.3.3.tar.gz

$ ll
total 16
-rw-r--r--@   1 reyn  staff  3273  1 14  2016 Makefile
-rw-r--r--@   1 reyn  staff   151  5 31 00:12 README
drwxr-xr-x@  12 reyn  staff   408  5 31 00:11 doc
drwxr-xr-x@ 102 reyn  staff  3468  7 21 17:08 src
  • Makefile: 負(fù)責(zé)對(duì)應(yīng)平臺(tái)的安裝和卸載囊拜;
  • README : 使用說明
  • doc : 文檔參考
  • src : 源碼

編譯

  • 編譯

按照正常步驟編譯之:

$ make
Please do 'make PLATFORM' where PLATFORM is one of these:
   aix bsd c89 freebsd generic linux macosx mingw posix solaris

但是失敗了。我們看失敗提示比搭,是讓指定編譯平臺(tái)冠跷,且支持的平臺(tái)也給列出了。因?yàn)樵贛ac上,所以我們選擇macosx蜜托,再次嘗試:

$ make macosx
cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make macosx
/Applications/Xcode.app/Contents/Developer/usr/bin/make all SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" CC=cc
cc -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_MACOSX    -c -o lapi.o lapi.c
cc -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_MACOSX    -c -o lcode.o lcode.c
......
cc -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_MACOSX    -c -o luac.o luac.c
cc -o luac   luac.o liblua.a -lm -lreadline

好的抄囚,編譯通過了。

提示:
有些情況可能遇到 readline 錯(cuò)誤橄务,這個(gè)時(shí)候需要安裝 readline 包幔托。Mac 下可以使用brew 安裝:brew install readline

  • 測(cè)試
$ make test
src/lua -v
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio

可以看出,測(cè)試是否編譯成功就是調(diào)用 src 目錄下編譯生成的可執(zhí)行文件 lua仪糖,然后讓它執(zhí)行 lua -v 輸出版本號(hào)信息柑司,如果編譯沒問題,這里自然也不會(huì)出什么婁子锅劝。

安裝

  • 安裝到系統(tǒng)環(huán)境
$ sudo make install
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.3 /usr/local/lib/lua/5.3
cd src && install -p -m 0755 lua luac /usr/local/bin
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /usr/local/include
cd src && install -p -m 0644 liblua.a /usr/local/lib
cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1

可以看出 make install 做了四個(gè)拷貝操作,分別將相應(yīng)文件到四個(gè)系統(tǒng)環(huán)境目錄中蟆湖,這樣故爵,我們就可以直接調(diào)用 lua了。

$ lua -v
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio
  • 安裝到本地目錄
$ make local
/Applications/Xcode.app/Contents/Developer/usr/bin/make install INSTALL_TOP=../install
cd src && mkdir -p ../install/bin ../install/include ../install/lib ../install/man/man1 ../install/share/lua/5.3 ../install/lib/lua/5.3
cd src && install -p -m 0755 lua luac ../install/bin
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp ../install/include
cd src && install -p -m 0644 liblua.a ../install/lib
cd doc && install -p -m 0644 lua.1 luac.1 ../install/man/man1
$ ll
total 16
-rw-r--r--@   1 reyn  staff  3273  1 14  2016 Makefile
-rw-r--r--@   1 reyn  staff   151  5 31 00:12 README
drwxr-xr-x@  12 reyn  staff   408  5 31 00:11 doc
drwxr-xr-x    7 reyn  staff   238  7 21 17:58 install
drwxr-xr-x@ 102 reyn  staff  3468  7 21 17:52 src
$ ll install
total 0
drwxr-xr-x  4 reyn  staff  136  7 21 17:58 bin
drwxr-xr-x  7 reyn  staff  238  7 21 17:58 include
drwxr-xr-x  4 reyn  staff  136  7 21 17:58 lib
drwxr-xr-x  3 reyn  staff  102  7 21 17:58 man
drwxr-xr-x  3 reyn  staff  102  7 21 17:58 share

make local 會(huì)創(chuàng)建一個(gè) install 目錄隅津,內(nèi)有 bin, include, lib, man, share 子目錄诬垂,并將對(duì)應(yīng)文件拷貝到其中。 如果你想安裝到本地其它目錄伦仍, 運(yùn)行 make install INSTALL_TOP=xxx结窘,xxx 指目標(biāo)安裝目錄。

終了

至此充蓝,升級(jí)安裝結(jié)束隧枫。

PS:
某些時(shí)刻,讀懂 Makefile 很重要谓苟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末官脓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涝焙,更是在濱河造成了極大的恐慌卑笨,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仑撞,死亡現(xiàn)場(chǎng)離奇詭異赤兴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)隧哮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門桶良,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人近迁,你說我怎么就攤上這事艺普。” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵歧譬,是天一觀的道長岸浑。 經(jīng)常有香客問我,道長瑰步,這世上最難降的妖魔是什么矢洲? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮缩焦,結(jié)果婚禮上读虏,老公的妹妹穿的比我還像新娘。我一直安慰自己袁滥,他們只是感情好盖桥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著题翻,像睡著了一般揩徊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嵌赠,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天塑荒,我揣著相機(jī)與錄音,去河邊找鬼姜挺。 笑死齿税,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的炊豪。 我是一名探鬼主播凌箕,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼溜在!你這毒婦竟也來了陌知?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤掖肋,失蹤者是張志新(化名)和其女友劉穎仆葡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體志笼,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沿盅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纫溃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腰涧。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖紊浩,靈堂內(nèi)的尸體忽然破棺而出窖铡,到底是詐尸還是另有隱情疗锐,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布费彼,位于F島的核電站滑臊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏箍铲。R本人自食惡果不足惜雇卷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颠猴。 院中可真熱鬧关划,春花似錦、人聲如沸翘瓮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽资盅。三九已至脱货,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間律姨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工臼疫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留择份,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓烫堤,卻偏偏與公主長得像荣赶,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸽斟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容