Giter Club home page Giter Club logo

luvit's Introduction

Luvit 2.0 - Node.JS for the Lua Inventor

Linux Build Status Windows Build status Coverage Status

Welcome to the source code for Luvit 2.0. This repo contains the luvit/luvit metapackage and all luvit/* packages as published to lit.

This collection of packages and modules implements a node.js style API for the luvi/lit runtime. It can be used as both a library or a standalone executable.

See the main project webpage for more details. https://luvit.io/

Need Help?

Ask questions here through issues, on Discord or the mailing list.

Binary Modules

Luvit supports FFI and Lua based binary modules. There is a wiki entry explaining how to manage and include a binary module within a bundled application. Publishing Compiled Code

Hacking on Luvit Core

First you need to clone and build luvit, this is easy and works cross-platform thanks to Makefile and make.bat.

git clone https://github.com/luvit/luvit.git
cd luvit
make

If you want to test luvit without constantly building, use luvi.

luvi . 

Always make sure to run make test before submitting a PR.

Notes to Maintainers

  • Use luvi /path/to/luvit to test changes without rebuilding the binary.
  • To run the test suite, run make test to build a luvit and use that.
  • If you want to test a custom built luvi, run luvi . -- tests/run.lua
  • If you want to run a specific test file with a custom built luvi, run luvi . -- tests/test-<name-of-test>.lua (e.g. luvi . -- tests/test-http.lua)
  • There is a wiki page on making new luvit releases at https://github.com/luvit/luvit/wiki/Making-a-luvit-release.

The packages in deps live primarily in this repo, but some are duplicated in luvit/lit to ease lit bootstrapping. Updates can be pushed from either repo to lit, just make sure to keep them in sync. One way to do this is to rm -rf deps && lit install. This will install the latest version of all the packages from lit. Check the diff carefully to make sure you're not undoing any work. There might have been unpublished changes locally in luvit that aren't in the lit central database yet.

luvit's People

Contributors

andrewtsao avatar bilal2453 avatar creationix avatar dalange avatar dvv avatar gabrielnicolasavellaneda avatar gsick avatar hnakamur avatar kami avatar kans avatar kaustavha avatar kennethwilke avatar miigon avatar mkandrashoff avatar mmalecki avatar n1tehawk avatar philips avatar pquerna avatar radare avatar riskozoslovenska avatar rjemanuele avatar rphillips avatar shawwn avatar sinisterrectus avatar songgao avatar sousoux avatar squeek502 avatar tim-smart avatar truemedian avatar zhaozg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luvit's Issues

debug versions

Hi!

Please, consider adding '-g' to gcc in Makefiles for luvit and dependencies. It won't affect final installation script (which does strip), but improve debuggability (if one wants valgrind luvit).

E.g. dvv@1a0a2c2#diff-0

TIA,
--Vladimir

Build failing with Xcode project: path issue

Looks like there may be missing files or an incorrect path; it is looking for luajit in build/Debug instead of deps/build/Debug. If I manually copy the contents of deps/build into build and run Xcode again, it builds correctly.

(I get the same error when building Debug or Release.)

It fails in the 'jit_lua' rule of the 'libluvit Support' target:

PhaseScriptExecution "Rule "jit_lua"" "build/luvit.build/Debug/libluvit Support.build/Script-E3CD0FB0D3F91B8CEBA8024E.sh"
cd /Users/me/code/luvit
/bin/sh -c ""/Users/me/code/luvit/build/luvit.build/Debug/libluvit Support.build/Script-E3CD0FB0D3F91B8CEBA8024E.sh""

note: luajit lib/luvit/buffer.lua
"/Users/me/code/luvit/build/Debug/luajit" -b "lib/luvit/buffer.lua" "/Users/me/code/luvit/build/DerivedSources/Debug/generated/buffer_jit.c"
note: luajit lib/luvit/childprocess.lua
"/Users/me/code/luvit/build/Debug/luajit" -b "lib/luvit/childprocess.lua" "/Users/me/code/luvit/build/DerivedSources/Debug/generated/childprocess_jit.c"
/bin/sh: /Users/me/code/luvit/build/Debug/luajit: No such file or directory
make: *** [/Users/me/code/luvit/build/DerivedSources/Debug/generated/childprocess_jit.c] Error 127
make: *** Waiting for unfinished jobs....
/bin/sh: /Users/me/code/luvit/build/Debug/luajit: No such file or directory
make: *** [/Users/me/code/luvit/build/DerivedSources/Debug/generated/buffer_jit.c] Error 127

The full build results, in case they are useful:

Build buildvm of project luajit with configuration Release

CompileC build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm.o /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm.o

CompileC build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_asm.o /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_asm.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_asm.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_asm.o

CompileC build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_peobj.o /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_peobj.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_peobj.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_peobj.o

CompileC build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_lib.o /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_lib.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_lib.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_lib.o

CompileC build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_fold.o /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_fold.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/buildvm_fold.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm_fold.o

Ld /Users/grahamwakefield/code/luvit/deps/build/Release/buildvm normal i386
cd /Users/grahamwakefield/code/luvit/deps
setenv MACOSX_DEPLOYMENT_TARGET 10.4
/Developer/usr/bin/gcc-4.2 -arch i386 -L/Users/grahamwakefield/code/luvit/deps/build/Release -F/Users/grahamwakefield/code/luvit/deps/build/Release -filelist /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/buildvm.build/Objects-normal/i386/buildvm.LinkFileList -mmacosx-version-min=10.4 -Wl,-search_paths_first -o /Users/grahamwakefield/code/luvit/deps/build/Release/buildvm

Build libluajit Support of project luajit with configuration Release

PhaseScriptExecution "Action "generate_lj_libdef"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-E4810850ABF9588A92A7C39B.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-E4810850ABF9588A92A7C39B.sh""

PhaseScriptExecution "Action "generate_lj_recdef"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-F6B8B748EB60A872E0FC6C8F.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-F6B8B748EB60A872E0FC6C8F.sh""

PhaseScriptExecution "Action "generate_lj_folddef"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-3F89DCF3F9D3EF221FBF75D3.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-3F89DCF3F9D3EF221FBF75D3.sh""

PhaseScriptExecution "Action "generate_lj_vmdef"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-B6A26127208C291F55911FAE.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-B6A26127208C291F55911FAE.sh""

PhaseScriptExecution "Action "generate_lj_ffdef"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-36012346F246645FFEDA88F7.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-36012346F246645FFEDA88F7.sh""

PhaseScriptExecution "Action "generate_lj_bcdef"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-8385EEAF3F472A041B5E7211.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-8385EEAF3F472A041B5E7211.sh""

PhaseScriptExecution "Action "generate_lj_vm"" "/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-9ED9FDF82BEAD10859F08675.sh"
cd /Users/grahamwakefield/code/luvit/deps
/bin/sh -c ""/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit Support.build/Script-9ED9FDF82BEAD10859F08675.sh""

Build libluajit of project luajit with configuration Release

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_vm.o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release/luajit/src/lj_vm.s normal i386 assembler-with-cpp com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x assembler-with-cpp -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release/luajit/src/lj_vm.s -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_vm.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_aux.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_aux.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_aux.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_aux.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_init.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_init.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_init.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_init.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_base.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_base.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_base.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_base.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_math.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_math.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_math.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_math.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_string.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_string.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_string.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_string.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_table.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_table.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_table.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_table.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_io.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_io.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_io.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_io.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_os.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_os.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_os.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_os.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_package.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_package.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_package.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_package.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_debug.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_debug.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_debug.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_debug.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_bit.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_bit.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_bit.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_bit.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_jit.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_jit.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_jit.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_jit.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_ffi.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_ffi.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lib_ffi.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lib_ffi.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_gc.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_gc.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_gc.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_gc.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_alloc.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_alloc.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_alloc.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_alloc.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_api.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_api.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_api.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_api.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_asm.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_asm.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_asm.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_asm.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_bc.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_bc.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_bc.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_bc.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_bcread.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_bcread.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_bcread.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_bcread.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_bcwrite.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_bcwrite.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_bcwrite.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_bcwrite.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_carith.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_carith.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_carith.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_carith.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ccall.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ccall.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ccall.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ccall.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ccallback.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ccallback.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ccallback.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ccallback.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_cconv.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_cconv.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_cconv.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_cconv.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_cdata.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_cdata.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_cdata.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_cdata.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_char.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_char.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_char.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_char.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_clib.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_clib.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_clib.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_clib.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_cparse.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_cparse.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_cparse.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_cparse.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_crecord.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_crecord.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_crecord.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_crecord.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ctype.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ctype.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ctype.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ctype.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_debug.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_debug.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_debug.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_debug.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_dispatch.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_dispatch.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_dispatch.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_dispatch.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_err.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_err.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_err.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_err.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ffrecord.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ffrecord.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ffrecord.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ffrecord.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_func.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_func.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_func.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_func.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_gdbjit.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_gdbjit.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_gdbjit.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_gdbjit.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ir.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ir.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_ir.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_ir.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_lex.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_lex.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_lex.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_lex.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_lib.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_lib.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_lib.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_lib.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_mcode.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_mcode.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_mcode.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_mcode.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_meta.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_meta.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_meta.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_meta.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_obj.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_obj.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_obj.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_obj.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_opt_dce.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_opt_dce.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/DerivedSources/Release -Iluajit/src -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources/i386 -I/Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/DerivedSources -fno-strict-aliasing -c /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_opt_dce.c -o /Users/grahamwakefield/code/luvit/deps/build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_opt_dce.o

CompileC build/luajit.build/Release/libluajit.build/Objects-normal/i386/lj_opt_fold.o /Users/grahamwakefield/code/luvit/deps/luajit/src/lj_opt_fold.c normal i386 c com.apple.compilers.gcc.4_2
cd /Users/grahamwakefield/code/luvit/deps
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.2 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -Os -Wnewline-eof -DLUAJIT_ENABLE_LUA52COMPAT -DLUA_USE_APICHECK -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DEIO_STACKSIZE=262144 -DDARWIN -DDARWIN_10 -D_REENTRANT -DNDEBUG -mmacosx-version-min=10.4 -gdwarf-2 -Wall -Wendif-labels -W -Wno-unused-parameter -F/Users/grahamwakefield/code/luvit/deps/build/Release -I/Users/grahamwakefield/code/luvit/deps/build/Release/include -I/Users/grahamwakefield

LuaJIT doesn't compile as-is on OSX

Just for reference, LuaJIT doesn't compile as-is on OSX. You can read about the issue here;

http://lua-users.org/lists/lua-l/2011-06/msg00491.html

Basically, add this to your make line for LuaJIT; TARGET_CC="gcc-4.2"

I might pull some changes tomorrow if I can find the time to figure out some other issues I'm getting in the compile. For one, -lrt doesn't work, since OSX doesn't use librt. If I remove it though, I get this;

Undefined symbols for architecture x86_64:
"_AbsoluteToNanoseconds", referenced from:
_uv_hrtime in uv.a(darwin.o)
ld: symbol(s) not found for architecture x86_64

I'll see if I can figure out where to find that on OSX.

libuv supports writev(), so should do we

Hi!

Given the subj, we should make Stream#write() accept not only single string, but a table of strings. This will (i believe) dramatically improves chunked responses (which otherwise do either two concats, or three atomic write()s)

TIA,
--Vladimir


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Windows compatability

luvit should work on windows:

Trying in mingw-shell:
http-parser won't compile for windows.

luv_fs.c: line 52 + 54
==> S_ISLNK and S_ISSOCK don't exist on windows.

luv_tcp.c: line 71: int status = setsockopt(handle->fd, IPPROTO_TCP, TCP_NODELAY, &value, sizeof(int));
==> fd is a private field of handle; you shouldn't use it; and its only available on windows

luv_misc.c: line 74
You forgot ifdefs around for SIGTERM

Thats as far as I got.... theres plenty more.

Provide access to Lua's original require()

I'm trying to require some .so files (produced by luadbi) for database access in my project. Not only do I not want to shove all these files into modules/, it doesn't appear that luvit's require() can load .so files even if they are in the right place. Access to Lua's native require function would be nice.

Request misses 'end'/'closed' events

Test case:

require("http").create_server("0.0.0.0", 8080, function (req, res)
  req:on('closed', function () p('CLOSED') end)
  req:on('data', function () p('DATA') end)
  req:on('end', function () p('ENDED') end)
  res:finish()
end)

One can try curling http://localhost:8080/ and see no expected events.

The fix is to remove https://github.com/luvit/luvit/blob/master/lib/response.lua#L85 , but I believe this deserves more careful attention.

TIA,
--Vladimir


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Proper upgrade event handling

Hi!

Currently, when HTTP parser fails, at https://github.com/creationix/luvit/blob/master/lib/http.lua#L62 we emit 'error' event, which we have no chance to set handler for. This just causes error() to execute, since this is default behavior at https://github.com/creationix/luvit/blob/master/lib/emitter.lua#L29 . In effect, failure to parse request causes luvit dump.

I start to face this today, after pulling afresh luvit dependencies. luvit now chokes at WebSocket connection (i believe 8 bytes of binary nonce frighten the parser).

Please, consider softer way to report early errors.

TIA,
--Vladimir


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

native/vector example segfaults

cd examples/native
make
./vector.luvit

segmentation fault

OS: ubuntu 11.10 (Linux serenity.local 3.0.0-13-generic-pae #22-Ubuntu SMP Wed Nov 2 15:17:35 UTC 2011 i686 i686 i386 GNU/Linux)

Fix require to load relative modules relative to the file that requires them

This is a hard, but important one. I need require to load modules relative to the file that requires them, not the cwd as it does now. This will probably require monkey patching require a bit. Also optionally we can have something like node_modules (but just call it modules) and use that search path for non-relative requires.

The Lua default require system is messed up and there is constant fighting on the lua list about what's right. We will just do what's right for our ecosystem and not worry about anything else.

Add event for uncaught errors

We need a fallback way to handle uncaught errors so the server can shut itself down cleanly. Also all errors need to be properly routed to the right place in luvit core and uncaught errors need to show meaningful stack traces. No more silent exits.


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

feature request: Transfer-Encoding: chunked

Hi!

Please, consider supporting the subj in Response. Turns out that it should be enabled for any HTTP/1.1 client for bodyful responses unless Content-Length: is explicitly given.

TIA,
--Vladimir

fibers issue?

Hi!

The following code mimicking find doesn't work:

It dumps with different errors, either segfault or:

[string "(�~������..."]:26: string length overflow
stack traceback:
    [C]: ?
    [C]: in function 'xpcall'
    [string "luvit"]: in main chunk
    [C]: in function 'run'
    [string "luvit"]: in main chunk
    [C]: in function 'require'
    [string "assert(require('luvit'))"]:1: in main chunk

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Example script won't run

In the project root, lua -e "require('lib/http')" yields

lua: ./lib/http.lua:1: module 'tcp' not found:
    no field package.preload['tcp']
    no file './tcp.lua'
    no file '/usr/share/lua/5.1/tcp.lua'
    no file '/usr/share/lua/5.1/tcp/init.lua'
    no file '/usr/lib/lua/5.1/tcp.lua'
    no file '/usr/lib/lua/5.1/tcp/init.lua'
    no file './tcp.so'
    no file '/usr/lib/lua/5.1/tcp.so'
    no file '/usr/lib/lua/5.1/loadall.so'
stack traceback:
    [C]: in function 'require'
    ./lib/http.lua:1: in main chunk
    [C]: in function 'require'
    (command line):1: in main chunk
    [C]: ?

can not build on Windows

several issues in sources and Makefile, includes:

  • uv need a MSVC make variable, or set uname_S to MINGW
  • Windows don’t have dl and pthread, and missing psapi and iphlpapi on Windows
  • luajit don’t support mixed BUILDMODE in windows, so add BUILDMODE=static to makefile
  • In windows, -std=c89 hides putenv function, makes lenv.c fail.
  • luajit don’t have 10ef10 commit, don’t know why :-(
  • variable overwrite in file lenv.c:91 isn’t use in Windows version, makes -Werror fail.
  • luv.c use uv-private/ev.h, which don’t exists in Windows version.
  • typo in luvit_main.c, WIN32 should be _WIN32

after apply below patch the Windows version compiles, but still failed to run:

sw@WX-ACER /d/Work/Sources/luvit (master)
$ build/luvit
Welcome to the Luvit repl
> Assertion failed: loop->refs == 0, file src/win/core.c, line 246

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

unlucky :-(

this is the fix patch:

diff --git a/Makefile b/Makefile
index 673d81b..e556ea0 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,17 @@ LDFLAGS+=-L${BUILDDIR} -lluvit
 LDFLAGS+=${LUADIR}/src/libluajit.a
 LDFLAGS+=${UVDIR}/uv.a
 LDFLAGS+=${YAJLDIR}/yajl.a
-LDFLAGS+=-Wall -lm -ldl -lpthread
+LDFLAGS+=-Wall -lm
+
+ifdef MSVC
+OS_NAME=MINGW
+endif
+
+ifneq (${OS_NAME},MINGW)
+LDFLAGS+=-ldl -lpthread
+else
+LDFLAGS+=-lws2_32 -lpsapi -liphlpapi
+endif

 ifeq (${OS_NAME},Linux)
 LDFLAGS+= -lrt
@@ -111,7 +121,7 @@ ${LUADIR}/Makefile:

 ${LUADIR}/src/libluajit.a: ${LUADIR}/Makefile
    touch -c ${LUADIR}/src/*.h
-   $(MAKE) -C ${LUADIR}
+   $(MAKE) -C ${LUADIR} BUILDMODE=static

 ${YAJLDIR}/CMakeLists.txt:
    git submodule update --init ${YAJLDIR}
@@ -128,7 +138,7 @@ ${UVDIR}/Makefile:
    git submodule update --init ${UVDIR}

 ${UVDIR}/uv.a: ${UVDIR}/Makefile
-   $(MAKE) -C ${UVDIR} uv.a
+   $(MAKE) -C ${UVDIR} uv.a uname_S=${OS_NAME}

 ${HTTPDIR}/Makefile:
    git submodule update --init ${HTTPDIR}
@@ -147,7 +157,7 @@ ${BUILDDIR}/libluvit.a: ${GENDIR} ${ALLOBJS} deps

 ${BUILDDIR}/%.o: src/%.c deps
    mkdir -p ${BUILDDIR}
-   $(CC) --std=c89 -D_GNU_SOURCE -g -Wall -Werror -c $< -o $@ -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\"
+   $(CC) -D_GNU_SOURCE -g -Wall -Werror -c $< -o $@ -I${HTTPDIR} -I${UVDIR}/include -I${UVDIR}/src/ares -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\"

 ${BUILDDIR}/luvit: ${LUVITOBJS} ${LUVITLIB}
    $(CC) -g -o ${BUILDDIR}/luvit ${LUVITOBJS} ${LDFLAGS}
diff --git a/deps/luajit b/deps/luajit
index 10ef109..248cf2f 160000
--- a/deps/luajit
+++ b/deps/luajit
@@ -1 +1 @@
-Subproject commit 10ef109eefdf5c1742ea4c0a62e7a127bf1bb43b
+Subproject commit 248cf2ffa9f43e9645c345d58ae2822fd2225979
diff --git a/src/lenv.c b/src/lenv.c
index cd7f2e8..d44ed48 100644
--- a/src/lenv.c
+++ b/src/lenv.c
@@ -88,13 +88,13 @@ static int lenv_put(lua_State* L) {
 static int lenv_set(lua_State* L) {
   const char* name = luaL_checkstring(L, 1);
   const char* value = luaL_checkstring(L, 2);
-  int overwrite = luaL_checkint(L, 3);

 #ifdef _WIN32
   if (SetEnvironmentVariable(name, value) != 0) {
     return luaL_error(L, "Failed to set environment variable");
   }
 #else
+  int overwrite = luaL_checkint(L, 3);
   if (setenv(name, value, overwrite)) {
     return luaL_error(L, "Insufficient space in environment.");
   }
diff --git a/src/luv.c b/src/luv.c
index d06d9eb..c4560da 100644
--- a/src/luv.c
+++ b/src/luv.c
@@ -20,7 +20,9 @@
 #include <stdlib.h>
 #include <assert.h>
 #include <string.h>
+#ifndef _WIN32
 #include "uv-private/ev.h"
+#endif

 #include "luv_fs.h"
 #include "luv_dns.h"
diff --git a/src/luvit_main.c b/src/luvit_main.c
index fdac894..22bbe02 100644
--- a/src/luvit_main.c
+++ b/src/luvit_main.c
@@ -24,7 +24,7 @@
 #include "lualib.h"
 #include "lauxlib.h"

-#ifndef WIN32
+#ifndef _WIN32
 #include <pthread.h>
 #endif
 #include "uv.h"

Build failure (OSX 10.6.8)

git clone https://github.com/luvit/luvit.git
Cloning into luvit...
remote: Counting objects: 4747, done.
remote: Compressing objects: 100% (1730/1730), done.
remote: Total 4747 (delta 2940), reused 4689 (delta 2892)
Receiving objects: 100% (4747/4747), 1.96 MiB | 130 KiB/s, done.
Resolving deltas: 100% (2940/2940), done.

cd luvit/

git submodule init
Submodule 'deps/http-parser' (https://github.com/joyent/http-parser.git) registered for path 'deps/http-parser'
Submodule 'deps/luajit' (http://luajit.org/git/luajit-2.0.git) registered for path 'deps/luajit'
Submodule 'deps/uv' (https://github.com/joyent/libuv.git) registered for path 'deps/uv'
Submodule 'deps/yajl' (https://github.com/lloyd/yajl.git) registered for path 'deps/yajl'
Submodule 'deps/zlib' (https://github.com/creationix/zlib.git) registered for path 'deps/zlib'

git submodule update
Cloning into deps/http-parser...
remote: Counting objects: 888, done.
remote: Compressing objects: 100% (349/349), done.
remote: Total 888 (delta 596), reused 814 (delta 535)
Receiving objects: 100% (888/888), 217.60 KiB | 77 KiB/s, done.
Resolving deltas: 100% (596/596), done.
Submodule path 'deps/http-parser': checked out '489860682620ea5af40490e013f4ee821b472482'
Cloning into deps/luajit...
Submodule path 'deps/luajit': checked out '10ef109eefdf5c1742ea4c0a62e7a127bf1bb43b'
Cloning into deps/uv...
çremote: Counting objects: 8515, done.
remote: Compressing objects: 100% (2137/2137), done.
remote: Total 8515 (delta 6591), reused 8192 (delta 6326)
Receiving objects: 100% (8515/8515), 2.73 MiB | 139 KiB/s, done.
Resolving deltas: 100% (6591/6591), done.
Submodule path 'deps/uv': checked out '243cfcd078fea62662201d92d58f4923334ebc5a'
Cloning into deps/yajl...
remote: Counting objects: 1988, done.
remote: Compressing objects: 100% (673/673), done.
remote: Total 1988 (delta 1348), reused 1868 (delta 1244)
Receiving objects: 100% (1988/1988), 579.02 KiB | 132 KiB/s, done.
Resolving deltas: 100% (1348/1348), done.
Submodule path 'deps/yajl': checked out '8b48967c74e9b16c07f120b71598f5e5269e8f57'
Cloning into deps/zlib...
remote: Counting objects: 258, done.
remote: Compressing objects: 100% (225/225), done.
remote: Total 258 (delta 28), reused 258 (delta 28)
Receiving objects: 100% (258/258), 623.90 KiB | 127 KiB/s, done.
Resolving deltas: 100% (28/28), done.
Submodule path 'deps/zlib': checked out '6774188be0a1e6f4bbe02fc2def9ada858f19b51'

./configure
configure options: {'debug': None, 'prefix': None, 'arch': None}
creating ./options.gypi
Generating build system with GYP...
['/Users/wakefield/code/luvit/luvit.gyp', '-I', '/Users/wakefield/code/luvit/common.gypi', '-I', '/Users/wakefield/code/luvit/options.gypi', '--depth=.', '-f', 'make', '-f', 'xcode', '--generator-output', '/Users/wakefield/code/luvit/out', '-Goutput_dir=/Users/wakefield/code/luvit/out', '-Dcomponent=static_library', '-Dlibrary=static_library']

Done!

Now run make -C out to build!

make -C out
CC(host) /Users/wakefield/code/luvit/out/Debug/obj.host/buildvm/deps/luajit/src/buildvm.o
CC(host) /Users/wakefield/code/luvit/out/Debug/obj.host/buildvm/deps/luajit/src/buildvm_asm.o
CC(host) /Users/wakefield/code/luvit/out/Debug/obj.host/buildvm/deps/luajit/src/buildvm_peobj.o
CC(host) /Users/wakefield/code/luvit/out/Debug/obj.host/buildvm/deps/luajit/src/buildvm_lib.o
CC(host) /Users/wakefield/code/luvit/out/Debug/obj.host/buildvm/deps/luajit/src/buildvm_fold.o
LINK(host) /Users/wakefield/code/luvit/out/Debug/buildvm
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/http_parser/deps/http-parser/http_parser.o
LIBTOOL-STATIC /Users/wakefield/code/luvit/out/Debug/libhttp_parser.a
ACTION libluajit_generate_lj_vm /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/luajit/src/lj_vm.s
ACTION libluajit_generate_lj_libdef /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/lj_libdef.h
ACTION libluajit_generate_lj_recdef /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/lj_recdef.h
ACTION libluajit_generate_lj_folddef /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/lj_folddef.h
ACTION libluajit_generate_lj_vmdef /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/vmdef.lua
ACTION libluajit_generate_lj_ffdef /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/lj_ffdef.h
ACTION libluajit_generate_lj_bcdef /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/lj_bcdef.h
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/geni/luajit/src/lj_vm.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_aux.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_init.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_base.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_math.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_string.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_table.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_io.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_os.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_package.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_debug.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_bit.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_jit.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lib_ffi.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_gc.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_alloc.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_api.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_asm.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_bc.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_bcread.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_bcwrite.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_carith.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_ccall.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_ccallback.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_cconv.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_cdata.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_char.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_clib.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_cparse.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_crecord.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_ctype.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_debug.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_dispatch.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_err.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_ffrecord.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_func.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_gdbjit.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_ir.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_lex.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_lib.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_mcode.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_meta.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_obj.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_opt_dce.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_opt_fold.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_opt_loop.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_opt_mem.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_opt_narrow.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_opt_split.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_parse.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_record.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_snap.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_state.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_str.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_tab.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_trace.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_udata.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_vmevent.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_vmmath.o
LIBTOOL-STATIC /Users/wakefield/code/luvit/out/Debug/libluajit.a
libtool: file: /Users/wakefield/code/luvit/out/Debug/obj.target/libluajit/deps/luajit/src/lj_gdbjit.o has no symbols
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/bc.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/bcsave.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/dis_arm.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/dis_ppc.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/dis_x86.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/dis_x64.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/dump.lua
COPY /Users/wakefield/code/luvit/out/Debug/lua/jit/v.lua
TOUCH /Users/wakefield/code/luvit/out/Debug/obj.target/deps/luajit-datafiles.stamp
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/luajit/deps/luajit/src/luajit.o
LINK(target) /Users/wakefield/code/luvit/out/Debug/luajit
LINK(target) /Users/wakefield/code/luvit/out/Debug/luajit: Finished
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/uv-common.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_cancel.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares__close_sockets.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_data.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_destroy.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_expand_name.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_expand_string.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_fds.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_free_hostent.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_free_string.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_gethostbyaddr.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_gethostbyname.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares__get_hostent.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_getnameinfo.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_getopt.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_getsock.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_init.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_library_init.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_llist.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_mkquery.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_nowarn.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_options.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_aaaa_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_a_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_mx_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_ns_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_ptr_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_srv_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_parse_txt_reply.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_process.o
../deps/uv/src/ares/ares_process.c: In function ‘read_udp_packets’:
../deps/uv/src/ares/ares_process.c:481: warning: pointer targets in passing argument 6 of ‘recvfrom’ differ in signedness
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_query.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares__read_line.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_search.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_send.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_strcasecmp.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_strdup.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_strerror.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_timeout.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares__timeval.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_version.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_writev.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/bitncmp.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/inet_net_pton.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/inet_ntop.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/windows_port.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/core.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/uv-eio.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/fs.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/udp.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/tcp.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/pipe.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/tty.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/stream.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/cares.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/dl.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/error.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/thread.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/process.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/eio/eio.o
../deps/uv/src/unix/eio/eio.c: In function ‘etp_start_thread’:
../deps/uv/src/unix/eio/eio.c:594: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/eio/eio.c: In function ‘etp_poll’:
../deps/uv/src/unix/eio/eio.c:710: warning: comparison between signed and unsigned
../deps/uv/src/unix/eio/eio.c: In function ‘grp_try_feed’:
../deps/uv/src/unix/eio/eio.c:818: warning: comparison between signed and unsigned
../deps/uv/src/unix/eio/eio.c: In function ‘eio__mtouch’:
../deps/uv/src/unix/eio/eio.c:1400: warning: comparison between signed and unsigned
../deps/uv/src/unix/eio/eio.c:1402: warning: comparison between signed and unsigned
../deps/uv/src/unix/eio/eio.c:1398: warning: suggest explicit braces to avoid ambiguous ‘else’
../deps/uv/src/unix/eio/eio.c: In function ‘eio__realpath’:
../deps/uv/src/unix/eio/eio.c:1567: warning: label ‘done’ defined but not used
../deps/uv/src/unix/eio/eio.c: In function ‘eio_dent_radix_sort’:
../deps/uv/src/unix/eio/eio.c:1608: warning: comparison between signed and unsigned
../deps/uv/src/unix/eio/eio.c:1613: warning: comparison between signed and unsigned
../deps/uv/src/unix/eio/eio.c: In function ‘eio__scandir’:
../deps/uv/src/unix/eio/eio.c:1846: warning: suggest explicit braces to avoid ambiguous ‘else’
../deps/uv/src/unix/eio/eio.c: In function ‘eio_execute’:
../deps/uv/src/unix/eio/eio.c:2205: warning: implicit declaration of function ‘rename’
../deps/uv/src/unix/eio/eio.c: In function ‘eio_grp_add’:
../deps/uv/src/unix/eio/eio.c:2562: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/eio/eio.c: At top level:
../deps/uv/src/unix/eio/ecb.h:110: warning: ‘ecb_mf_lock’ defined but not used
../deps/uv/src/unix/eio/ecb.h:229: warning: ‘ecb_ctz64’ defined but not used
../deps/uv/src/unix/eio/ecb.h:265: warning: ‘ecb_ld64’ defined but not used
../deps/uv/src/unix/eio/ecb.h:279: warning: ‘ecb_popcount64’ defined but not used
../deps/uv/src/unix/eio/ecb.h:292: warning: ‘ecb_rotl8’ defined but not used
../deps/uv/src/unix/eio/ecb.h:293: warning: ‘ecb_rotr8’ defined but not used
../deps/uv/src/unix/eio/ecb.h:295: warning: ‘ecb_rotr16’ defined but not used
../deps/uv/src/unix/eio/ecb.h:296: warning: ‘ecb_rotl32’ defined but not used
../deps/uv/src/unix/eio/ecb.h:297: warning: ‘ecb_rotr32’ defined but not used
../deps/uv/src/unix/eio/ecb.h:298: warning: ‘ecb_rotl64’ defined but not used
../deps/uv/src/unix/eio/ecb.h:299: warning: ‘ecb_rotr64’ defined but not used
../deps/uv/src/unix/eio/ecb.h:323: warning: ‘ecb_bswap64’ defined but not used
../deps/uv/src/unix/eio/ecb.h:333: warning: ‘ecb_unreachable’ defined but not used
../deps/uv/src/unix/eio/ecb.h:348: warning: ‘ecb_big_endian’ defined but not used
../deps/uv/src/unix/eio/ecb.h:350: warning: ‘ecb_little_endian’ defined but not used
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/ev/ev.o
../deps/uv/src/unix/ev/ev.c: In function ‘array_nextsize’:
../deps/uv/src/unix/ev/ev.c:845: warning: comparison between signed and unsigned
../deps/uv/src/unix/ev/ev.c: In function ‘ev_feed_event’:
../deps/uv/src/unix/ev/ev.c:907: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘feed_reverse’:
../deps/uv/src/unix/ev/ev.c:916: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘fd_change’:
../deps/uv/src/unix/ev/ev.c:1043: warning: unused variable ‘ocur_’
In file included from ../deps/uv/src/unix/ev/ev.c:1538:
../deps/uv/src/unix/ev/ev_kqueue.c: At top level:
../deps/uv/src/unix/ev/ev_kqueue.c:49: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c:49: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c: In function ‘kqueue_change’:
../deps/uv/src/unix/ev/ev_kqueue.c:53: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev_kqueue.c: At top level:
../deps/uv/src/unix/ev/ev_kqueue.c:170: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c:170: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c:193: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c:193: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c:200: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_kqueue.c:200: warning: ‘inline’ is not at beginning of declaration
In file included from ../deps/uv/src/unix/ev/ev.c:1544:
../deps/uv/src/unix/ev/ev_poll.c:42: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_poll.c:42: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_poll.c: In function ‘poll_modify’:
../deps/uv/src/unix/ev/ev_poll.c:66: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev_poll.c: In function ‘poll_poll’:
../deps/uv/src/unix/ev/ev_poll.c:110: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev_poll.c: At top level:
../deps/uv/src/unix/ev/ev_poll.c:129: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_poll.c:129: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_poll.c:142: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_poll.c:142: warning: ‘inline’ is not at beginning of declaration
In file included from ../deps/uv/src/unix/ev/ev.c:1547:
../deps/uv/src/unix/ev/ev_select.c:269: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_select.c:269: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_select.c:298: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev_select.c:298: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev.c:1563: warning: ‘static’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev.c:1563: warning: ‘inline’ is not at beginning of declaration
../deps/uv/src/unix/ev/ev.c: In function ‘verify_watcher’:
../deps/uv/src/unix/ev/ev.c:1971: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:1974: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘verify_heap’:
../deps/uv/src/unix/ev/ev.c:1984: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:1985: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:1986: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘array_verify’:
../deps/uv/src/unix/ev/ev.c:1997: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_verify’:
../deps/uv/src/unix/ev/ev.c:2015: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2022: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2023: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘timers_reify’:
../deps/uv/src/unix/ev/ev.c:2200: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘periodics_reify’:
../deps/uv/src/unix/ev/ev.c:2248: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2235: warning: unused variable ‘feed_count’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_run’:
../deps/uv/src/unix/ev/ev.c:2398: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_io_start’:
../deps/uv/src/unix/ev/ev.c:2671: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2672: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2681: warning: suggest parentheses around arithmetic in operand of |
../deps/uv/src/unix/ev/ev.c: In function ‘ev_io_stop’:
../deps/uv/src/unix/ev/ev.c:2694: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_timer_start’:
../deps/uv/src/unix/ev/ev.c:2714: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2720: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_timer_stop’:
../deps/uv/src/unix/ev/ev.c:2742: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_periodic_start’:
../deps/uv/src/unix/ev/ev.c:2802: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2812: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_periodic_stop’:
../deps/uv/src/unix/ev/ev.c:2834: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_signal_start’:
../deps/uv/src/unix/ev/ev.c:2871: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c:2874: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_child_start’:
../deps/uv/src/unix/ev/ev.c:2991: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_idle_start’:
../deps/uv/src/unix/ev/ev.c:3388: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_prepare_start’:
../deps/uv/src/unix/ev/ev.c:3428: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_check_start’:
../deps/uv/src/unix/ev/ev.c:3466: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_embed_start’:
../deps/uv/src/unix/ev/ev.c:3561: warning: left-hand operand of comma expression has no effect
../deps/uv/src/unix/ev/ev.c: In function ‘ev_fork_start’:
../deps/uv/src/unix/ev/ev.c:3613: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_cleanup_start’:
../deps/uv/src/unix/ev/ev.c:3651: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c: In function ‘ev_async_start’:
../deps/uv/src/unix/ev/ev.c:3696: warning: unused variable ‘ocur_’
../deps/uv/src/unix/ev/ev.c:3910:27: warning: "/" within comment
../deps/uv/src/unix/ev/ev.c:3911:27: warning: "/
" within comment
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/darwin.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/unix/kqueue.o
LIBTOOL-STATIC /Users/wakefield/code/luvit/out/Debug/libuv.a
libtool: file: /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_strcasecmp.o has no symbols
libtool: file: /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_strdup.o has no symbols
libtool: file: /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/ares_writev.o has no symbols
libtool: file: /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/inet_ntop.o has no symbols
libtool: file: /Users/wakefield/code/luvit/out/Debug/obj.target/uv/deps/uv/src/ares/windows_port.o has no symbols
ACTION yajl_version_header /Users/wakefield/code/luvit/out/Debug/obj/gen/yajl/yajl_version.h
COPY /Users/wakefield/code/luvit/out/Debug/obj/gen/yajl/yajl_common.h
COPY /Users/wakefield/code/luvit/out/Debug/obj/gen/yajl/yajl_gen.h
COPY /Users/wakefield/code/luvit/out/Debug/obj/gen/yajl/yajl_parse.h
COPY /Users/wakefield/code/luvit/out/Debug/obj/gen/yajl/yajl_tree.h
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_alloc.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_buf.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_encode.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_gen.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_lex.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_parser.o
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_tree.o
../deps/yajl/src/yajl_tree.c: In function ‘yajl_tree_get’:
../deps/yajl/src/yajl_tree.c:464: warning: comparison between signed and unsigned
../deps/yajl/src/yajl_tree.c:470: warning: comparison between signed and unsigned
CC(target) /Users/wakefield/code/luvit/out/Debug/obj.target/yajl/deps/yajl/src/yajl_version.o
LIBTOOL-STATIC /Users/wakefield/code/luvit/out/Debug/libyajl.a
make: *** No rule to make target ../lib/buffer.lua', needed by/Users/wakefield/code/luvit/out/Debug/obj/gen/generated/buffer_jit.c'. Stop.

Write Basic API Docs / Samples

This is a task to write basic API docs of all the APIs included in luvit. The 'uv', 'http_parser', 'env', and 'constants' modules are considered private and don't need to be in this documentation. All docs need to link to a sample that uses them.


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Serving static files over HTTP corrupts data

I'm trying to server static JPEG data over HTTP, but for some reason the combination of reading file and writing to remote HTTP socket result in corrupted data in the client. The data is correct if localhost is used, or if the data is written as one single chunk. If it is written as it is received from the stream (as a pipe() would do, if it would work - it fails on remote connections because the socket is closed too early!), then the data is getting corrupted.

Here's my two faced server, which provides corrupt data from port 8080 and correct data from port 8081:

local http = require('http')
local fs = require('fs')
local table = require("table")

local resHead={
    ["Content-Type"] = "image/jpeg",
    ["Content-Length"] = 1197420, -- size of foo.jpg
}

http.createServer(function (req, res)
    res:writeHead(200, resHead)
    local src = fs.createReadStream("foo.jpg")
    src:on('data', function (chunk, len)
        res:write(chunk)
    end)
    src:on('end', function ()
        res:finish()
    end)
end):listen(8080)

http.createServer(function (req, res)
    res:writeHead(200, resHead)
    local src = fs.createReadStream("foo.jpg")
    local t={}
    src:on('data', function (chunk, len)
        table.insert(t, chunk)
    end)
    src:on('end', function ()
        res:finish(table.concat(t))
    end)
end):listen(8081)

print("listening")

Here's my results with luvit 0.1.4 on OSX 10.7.2:

jarnoh@hirmu:~/tmp$ curl -s http://192.168.1.70:8080 | md5sum
469ac969789985d575097aa64fe503a4  -
jarnoh@hirmu:~/tmp$ curl -s http://192.168.1.70:8080 | md5sum
8b373d35d3e5993427c19982ad322ac7  -
jarnoh@hirmu:~/tmp$ curl -s http://192.168.1.70:8080 | md5sum
5c45885309ea6a945f3da7f9bee5b8af  -
jarnoh@hirmu:~/tmp$ curl -s http://192.168.1.70:8081 | md5sum
85ab0df1ec5dd23df93d396574f87a4b  -
jarnoh@hirmu:~/tmp$ curl -s http://192.168.1.70:8081 | md5sum
85ab0df1ec5dd23df93d396574f87a4b  -

And here's binary diff of 16 bytes at 65536 boundaries, first the correct data and then corrupted:

< 00020000  44 ec ea 13 4c 2b 5b 98  41 3d 26 30 a4 35 76 58  |D...L+[.A=&0.5vX|
< 00030000  e7 a6 2a 39 3a 5f d7 2c  9f 5f d4 8c d1 86 d4 3d  |..*9:_.,._.....=|
< 00040000  70 a1 16 00 10 00 00 00  c4 81 ee 26 b1 fa 1b 8f  |p..........&....|
< 00050000  1a b8 40 22 a3 b6 25 31  6e e4 dc df 5e 34 5d 34  |..@"..%1n...^4]4|
< 00060000  b5 55 a1 49 51 23 ea a9  ee 85 b7 12 33 68 d3 72  |.U.IQ#......3h.r|
< 00070000  80 a1 16 00 14 00 00 00  41 3d 26 30 a4 35 76 58  |........A=&0.5vX|
< 00080000  41 82 36 55 f4 ce ca 9d  0e 0b 53 f2 d3 4c d1 b1  |A.6U......S..L..|
< 00090000  91 e5 04 cc da 7b b1 c0  80 cb 23 1d 15 15 98 e8  |.....{....#.....|
< 000a0000  e7 a6 2a 39 3a 5f d7 2c  9f 5f d4 8c d1 86 d4 3d  |..*9:_.,._.....=|
< 000b0000  70 a1 16 00 10 00 00 00  c4 81 ee 26 b1 fa 1b 8f  |p..........&....|
< 000c0000  1a b8 40 22 a3 b6 25 31  6e e4 dc df 5e 34 5d 34  |..@"..%1n...^4]4|
< 000d0000  2a b9 0a 1a 4d bb 40 bc  9b 45 c8 f2 b2 b4 36 3b  |*[email protected];|
> 00020000  29 2b 27 5b 2d 94 aa 5a  d7 fa 07 71 cb 97 15 c2  |)+'[-..Z...q....|
> 00030000  bb 27 a6 9d 06 66 9d 22  09 1c ac 06 be e8 6e 38  |.'...f."......n8|
> 00040000  7c 91 18 00 13 00 00 00  c4 81 ee 26 b1 fa 1b 8f  ||..........&....|
> 00050000  70 91 18 00 10 00 00 00  9b 45 c8 f2 b2 b4 36 3b  |p........E....6;|
> 00060000  41 82 36 55 f4 ce ca 9d  0e 0b 53 f2 d3 4c d1 b1  |A.6U......S..L..|
> 00070000  91 e5 04 cc da 7b b1 c0  80 cb 23 1d 15 15 98 e8  |.....{....#.....|
> 00080000  70 91 18 00 10 00 00 00  62 ce 22 48 e3 46 24 dc  |p.......b."H.F$.|
> 00090000  94 8c 76 f3 b6 90 39 9a  0a b8 96 14 a9 78 ee 07  |..v...9......x..|
> 000a0000  91 e5 04 cc da 7b b1 c0  80 cb 23 1d 15 15 98 e8  |.....{....#.....|
> 000b0000  7c 91 18 00 13 00 00 00  c4 81 ee 26 b1 fa 1b 8f  ||..........&....|
> 000c0000  41 82 36 55 f4 ce ca 9d  0e 0b 53 f2 d3 4c d1 b1  |A.6U......S..L..|
> 000d0000  70 91 18 00 10 00 00 00  9b 45 c8 f2 b2 b4 36 3b  |p........E....6;|

It appears that the queued data is written in incorrect order and some segments are duplicated, e.g. at 00060000 and 000c0000 have the data which should be at 00080000.


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

memcheck

Below is the log of valgrind --trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes luvit -e 'print(1)':

==19119== Memcheck, a memory error detector
==19119== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==19119== Using Valgrind-3.6.1-Debian and LibVEX; rerun with -h for copyright info
==19119== Command: luvit -e print(1)
==19119==
==19119== Conditional jump or move depends on uninitialised value(s)
==19119== at 0x805E207: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80627A5: lua_pushlstring (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8070A3A: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8070EEE: luaL_pushresult (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8070FB1: luaL_gsub (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F508: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809FB65: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F07E: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8063D0D: lua_pcall (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8051BA9: main (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== Uninitialised value was created by a stack allocation
==19119== at 0x8070F14: luaL_gsub (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== Conditional jump or move depends on uninitialised value(s)
==19119== at 0x805E207: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x805E757: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80799B2: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8073AB2: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F147: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8063D0D: lua_pcall (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8051BA9: main (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== Uninitialised value was created by a stack allocation
==19119== at 0x805E730: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== Conditional jump or move depends on uninitialised value(s)
==19119== at 0x805E207: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8062F09: lua_getfield (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8058127: luv_write (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F147: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8063D0D: lua_pcall (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8051BA9: main (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== Uninitialised value was created by a stack allocation
==19119== at 0x8052011: luv_checkudata (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119==
==19119== HEAP SUMMARY:
==19119== in use at exit: 1,008 bytes in 10 blocks
==19119== total heap usage: 11 allocs, 1 frees, 1,100 bytes allocated
==19119==
==19119== 8 bytes in 1 blocks are still reachable in loss record 1 of 7
==19119== at 0x4028876: malloc (vg_replace_malloc.c:236)
==19119== by 0x4028900: realloc (vg_replace_malloc.c:525)
==19119== by 0x80B3A40: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3A6A: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3CD6: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B421D: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B84C6: ev_io_start (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B492E: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B8FD4: ev_signal_start (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B7403: ev_default_loop (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80A76C0: uv_default_loop (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8059C27: luv_activate_signal_handler (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== 16 bytes in 1 blocks are still reachable in loss record 2 of 7
==19119== at 0x4028876: malloc (vg_replace_malloc.c:236)
==19119== by 0x4028900: realloc (vg_replace_malloc.c:525)
==19119== by 0x80B3A40: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3A6A: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3CD6: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3DE1: ev_feed_event (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80AF920: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80AFD6C: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B0E92: uv_write2 (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B0F1F: uv_write (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80581D4: luv_write (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== 16 bytes in 2 blocks are still reachable in loss record 3 of 7
==19119== at 0x4028876: malloc (vg_replace_malloc.c:236)
==19119== by 0x805968D: luv_new_tty (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F147: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8063D0D: lua_pcall (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8051BA9: main (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== 20 bytes in 1 blocks are still reachable in loss record 4 of 7
==19119== at 0x402732C: calloc (vg_replace_malloc.c:467)
==19119== by 0x40683AD: _dlerror_run (dlerror.c:142)
==19119== by 0x423317F: ???
==19119==
==19119== 84 bytes in 3 blocks are still reachable in loss record 5 of 7
==19119== at 0x4028876: malloc (vg_replace_malloc.c:236)
==19119== by 0x8059BE4: luv_activate_signal_handler (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F147: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8063D0D: lua_pcall (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8051BA9: main (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== 96 bytes in 1 blocks are still reachable in loss record 6 of 7
==19119== at 0x4028876: malloc (vg_replace_malloc.c:236)
==19119== by 0x4028900: realloc (vg_replace_malloc.c:525)
==19119== by 0x80B3A40: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3A6A: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3CD6: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B8439: ev_io_start (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B492E: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B8FD4: ev_signal_start (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B7403: ev_default_loop (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80A76C0: uv_default_loop (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8059C27: luv_activate_signal_handler (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== 768 bytes in 1 blocks are still reachable in loss record 7 of 7
==19119== at 0x4028876: malloc (vg_replace_malloc.c:236)
==19119== by 0x4028900: realloc (vg_replace_malloc.c:525)
==19119== by 0x80B3A40: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B3A6A: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B555F: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B63F8: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80B739F: ev_default_loop (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x80A76C0: uv_default_loop (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8059C27: luv_activate_signal_handler (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x809F147: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119== by 0x8074959: ??? (in /home/dvv/.luvm/0.1.4/bin/luvit)
==19119==
==19119== LEAK SUMMARY:
==19119== definitely lost: 0 bytes in 0 blocks
==19119== indirectly lost: 0 bytes in 0 blocks
==19119== possibly lost: 0 bytes in 0 blocks
==19119== still reachable: 1,008 bytes in 10 blocks
==19119== suppressed: 0 bytes in 0 blocks
==19119==
==19119== For counts of detected and suppressed errors, rerun with: -v
==19119== ERROR SUMMARY: 9 errors from 3 contexts (suppressed: 21 from 6)

Wonder if it's luvit specific?

Implement the rest of UDP

Implement the rest of the UDP bindings and write an example or two of how to use them. Multicast would be great if it's possible with just libuv.

install

Hi!

Please, consider adding proper 'install' target to Makefile.

TIA,
--Vladimir

node-ish modules

subj is needed. with the recent changes, require('./foo') loads the file beside the file which does the require. However, the following lazy loader won't work:

root/lib/mod.lua

  return {
    use = function(name) return require('./' .. name) end
  }

root/server.lua

  local Mod = require('./lib/mod') -- works ok
  local foo = Mod.use('bar') -- doesn't load 'root/lib/bar', instead tries to load 'root/bar', because the source file is   'root/server.lua'

"luaL_newstate has failed" on OS X 10.6

Hello,

I already found a solution, but adding this here for posterity.

The Problem:
I built a new install of luvit on OS X 10.6 using the directions on http://luvit.io

$ git clone https://github.com/luvit/luvit.git
$ cd luvit
$ make
$ make install

These worked great, but the when I run the program I get a "luaL_newstate" error:

$ luvit

luaL_newstate has failed

The Solution:
Turns out the issue was related to my machine choosing its build architecture as x86_64 instead of i386. Telling GCC to use i386 prior to make seemed to do the trick for me (the two export lines below).

$ export CC="gcc-4.2 -arch i386"
$ export CXX="g++-4.2 -arch i386"
$ make
$ make install

the switch to camelCase

Why the switch? I thought the API looked rather nice with underscores. When I first saw luvit, I was really happy that it wasn't forced (by javascript) to use camel case like node was. Now with the variable names everywhere that aren't camelcase, they end up creating an inconsistent style. It is more true to node to use camelcase, but I think it would be easy for anyone who knows the node API to think in underscores instead of camelcase when using luvit.

async mysql access libs for luvit?

Hi, I'm now working on luvit based MMOG server and I need MySQL access.
It's easy to use synchronous version of MySQL lua binding,
but ideally I'd like to use async version of it.

  • Do you know anything emerging?
  • Anyone have idea on implementing it?

require() cache

Luvit's require caches modules by their paths
Hence, formally, require('./foo') and require('bar/../foo') are considered different modules, though being identical by sense
This breaks assumption on that a module only initializes once
While seemingly a weak problem, i can be a PITA regarding luvit uses ../modules fallbacks during module lookup
Those, who use symlinks for organizing modules, should account for that
I do believe a module should be cached by it's absolute path
Which is resolved completely to contain no symlinks

Path.dirname

require('path').dirname('/usr/bin/') gives result different from node's and system's implementations

Stack.mount eats url

Hi!

Consider a stack layer which calls continue unless some conditions are met. When such layer is Stack.mounted onto a path, the latter will be eaten by Stack.mount while in logic mangling url. Hence, next layer will be provided with a wrong req.url.

How it can be fixed?

TIA,
--Vladimir

compilation fails on windows ( mingw )

i just clone Luvit and try to install ... and ended with an error

C:\dev\luvit>make CC=gcc
git submodule update --init deps/luajit
make -C deps/luajit
make[1]: Entering directory `C:/dev/luvit/deps/luajit'
==== Building LuaJIT 2.0.0-beta8 ====
make -C src
make[2]: Entering directory `C:/dev/luvit/deps/luajit/src'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `C:/dev/luvit/deps/luajit/src'
==== Successfully built LuaJIT 2.0.0-beta8 ====
make[1]: Leaving directory `C:/dev/luvit/deps/luajit'
mkdir -p build
gcc -Wall -Werror -c src/luv_udp.c -o build/luv_udp.o -Ideps/http-parser -Ideps/
uv/include -Ideps/luajit/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
In file included from src/luv_udp.c:4:0:
src/luv_udp.h:12:30: fatal error: inet_net_pton.h: No such file or directory
compilation terminated.
make: *** [build/luv_udp.o] Error 1

i read about the hack ... and comment the lines 12, 13 of luv_udp.h

#   include <inet_net_pton.h>
#   include <inet_ntop.h>

i tried again ...

C:\dev\luvit>make CC=gcc
git submodule update --init deps/luajit
make -C deps/luajit
make[1]: Entering directory `C:/dev/luvit/deps/luajit'
==== Building LuaJIT 2.0.0-beta8 ====
make -C src
make[2]: Entering directory `C:/dev/luvit/deps/luajit/src'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `C:/dev/luvit/deps/luajit/src'
==== Successfully built LuaJIT 2.0.0-beta8 ====
make[1]: Leaving directory `C:/dev/luvit/deps/luajit'
mkdir -p build
gcc -Wall -Werror -c src/luv_udp.c -o build/luv_udp.o -Ideps/http-parser -Ideps/
uv/include -Ideps/luajit/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
src/luv_udp.c: In function 'luv_udp_getsockname':
src/luv_udp.c:112:5: error: implicit declaration of function 'ares_inet_ntop' [-
Werror=implicit-function-declaration]
cc1.exe: all warnings being treated as errors

make: *** [build/luv_udp.o] Error 1

any idea?

nice work, i'm so happy to see a web project like that, keep improving!

i have some work on a cookie / session library in C, i wish i could add it to luvit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.