標籤:
Building openresty1.7.10.1 with luajit on windows using Cygwin, 在windows下用Cygwin下編譯帶Luajit的openresty
2013-11-27 15:39 815人閱讀 評論(0) 收藏 舉報
(heeroz原創 )First install 32bit cygwin.
Install packet: openssl zlib-dev pcre gcc-core perl readline
openresty沒有對Cygwin做相容,我們需要自己來修改檔案
Open bundle\lua-cjson and lua-rds-parser and lua-redis-parser three folder‘s Makefile for edit, Add those lines before “## ..... (Macports)”
bundle\lua-cjson的,lua-rds-parser的,lua-redis-parser的Makefile裡,“## ***OSX (Macports)”上面加入:
[plain] view plaincopy
-
ifeq ($(OS),Windows_NT)
-
LDFLAGS2 += -L../luajit-root/usr/local/openresty/luajit -lcyglua51
-
endif
change
[plain] view plaincopy
-
$(CC) $(LDFLAGS) -o [email protected] $^
(cjson may be "$(CC) $(LDFLAGS) $(CJSON_LDFLAGS) -o [email protected] $(OBJS)")
to
[plain] view plaincopy
-
$(CC) $(LDFLAGS) -o [email protected] $^ $(LDFLAGS2)
(cjson may be "$(CC) $(LDFLAGS) $(CJSON_LDFLAGS) -o [email protected] $(OBJS) $(LDFLAGS2)")
Then run:
[plain] view plaincopy
-
./configure --without-select_module --with-luajit
-
let ./configure can found your luajit:
-
mv ./build/luajit-root/usr/local/openresty/luajit/include/luajit-2.1 /usr/local/include
-
cp ./build/LuaJIT-2.1-20150223/src/cyglua51.dll /lib/libluajit-5.1.a
-
./configure --without-select_module --with-luajit (must do this again)
LuaJIT-2.1-20150223 my be wrong dir name, you need press tab after LuaJIT-2.1-
LuaJIT-2.1-20150223目錄名不一定一樣,你需要在LuaJIT-2.1-文字後直接按Tab換成正確的目錄。
[plain] view plaincopy
-
let make can link your luajit:
-
cp ./build/LuaJIT-2.1-20150223/src/cyglua51.dll ./build/luajit-root/usr/local/openresty/luajit
-
make -j8
-
make install DESTDIR=/usr2
-
cp ./build/LuaJIT-2.1-20150223/src/cyglua51.dll /usr2/usr/local/openresty/nginx/sbin/
All will be ok. You can find openresty in /usr2/usr/local/ folder.
Also the ffi may be a problem, because under cygwin, -E can not be exported function symbols, i have discussed this issue with the author Agentzh, may be next version can solve this problem (Already fixed in 1.4.3.9).
另外Cygwin編譯的使用jit的ffi可能有問題,因為cygwin下-E無法匯出函數符號,春哥已產生補丁,預估以後版本可以解決(1.4.3.9已解決)。
我的首頁:
http://www.fullautocapitalism.com/
Building openresty1.7.10.1 with luajit on windows