Compilation
Posted: Sat Dec 29, 2012 8:50 am
Wow, premake is strange compared to cmake and automake. I got it to work though. I'm trying to compile the new version on the Mac. I've gotten pretty far into the build process; actually, I used the same instructions as the compile instructions for Linux Debian (Mac's not very different with liberal use of macports). I'll write about it if I succeed in building this. Now please don't let your eyes glaze over when you hear Mac OSX... mine is more of a programming question.
I generated a makefile successfully with premake. Now I'm just trying to get the build to work. The issues are mostly compiler issues, I found one that is, well; irritating, not quite sure how to handle it.
>> make
-------------------------------
==== Building luajit2 (debug) ====
Running pre-build commands
gcc -o ../src/luajit2/src/buildvm ../src/luajit2/src/buildvm*.c
../src/luajit2/src/buildvm -m machasm -o ../src/luajit2/src/lj_vm.s
../src/luajit2/src/buildvm -m bcdef -o ../src/luajit2/src/lj_bcdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m ffdef -o ../src/luajit2/src/lj_ffdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m libdef -o ../src/luajit2/src/lj_libdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m recdef -o ../src/luajit2/src/lj_recdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m vmdef -o ../src/luajit2/vmdef.lua ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m folddef -o ../src/luajit2/src/lj_folddef.h ../src/luajit2/src/lj_opt_fold.c
lib_base.c
lib_bit.c
lib_debug.c
lib_ffi.c
lib_io.c
lib_jit.c
lib_math.c
lib_os.c
lib_string.c
lib_table.c
lj_bc.c
lj_dispatch.c
lj_err.c
lj_ffrecord.c
lj_opt_fold.c
lj_record.c
lj_vm.s
Linking luajit2
ranlib: file: ../bin/Debug/liblua.a(lj_gdbjit.o) has no symbols
==== Building fov (debug) ====
==== Building luasocket (debug) ====
==== Building luaprofiler (debug) ====
==== Building lualanes (debug) ====
==== Building lpeg (debug) ====
==== Building tcodimport (debug) ====
==== Building lxp (debug) ====
==== Building expatstatic (debug) ====
==== Building luamd5 (debug) ====
==== Building luazlib (debug) ====
==== Building luabitop (debug) ====
==== Building te4-bzip (debug) ====
==== Building TEngine (debug) ====
bspatch.c
../src/bspatch.c:34: error: expected ‘)’ before ‘*’ token
../src/bspatch.c: In function ‘spatch’:
../src/bspatch.c:66: error: ‘u_char’ undeclared (first use in this function)
../src/bspatch.c:66: error: (Each undeclared identifier is reported only once
../src/bspatch.c:66: error: for each function it appears in.)
../src/bspatch.c:66: error: expected ‘;’ before ‘header’
../src/bspatch.c:67: error: ‘old’ undeclared (first use in this function)
../src/bspatch.c:67: error: ‘new’ undeclared (first use in this function)
../src/bspatch.c:92: error: ‘header’ undeclared (first use in this function)
../src/bspatch.c:145: error: ‘buf’ undeclared (first use in this function)
make[1]: *** [../obj/Debug/TEngine/bspatch.o] Error 1
make: *** [TEngine] Error 2
----------------------------
Oh blargh! It doesn't recognize u_char? It knows what u_char is in my testfile!!! If you've run across this before, do you have a suggestion as to how to fix it? I could replace it with char, but that might have some nasty side effects. Dark God? Anyone?
An unrelated question: Is Tales of Maj' Eyal what used to be Troubles of Middle Earth, what used to be Pernband (before Anne Macaffery tried to sue it's developer)?
I generated a makefile successfully with premake. Now I'm just trying to get the build to work. The issues are mostly compiler issues, I found one that is, well; irritating, not quite sure how to handle it.
>> make
-------------------------------
==== Building luajit2 (debug) ====
Running pre-build commands
gcc -o ../src/luajit2/src/buildvm ../src/luajit2/src/buildvm*.c
../src/luajit2/src/buildvm -m machasm -o ../src/luajit2/src/lj_vm.s
../src/luajit2/src/buildvm -m bcdef -o ../src/luajit2/src/lj_bcdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m ffdef -o ../src/luajit2/src/lj_ffdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m libdef -o ../src/luajit2/src/lj_libdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m recdef -o ../src/luajit2/src/lj_recdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m vmdef -o ../src/luajit2/vmdef.lua ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m folddef -o ../src/luajit2/src/lj_folddef.h ../src/luajit2/src/lj_opt_fold.c
lib_base.c
lib_bit.c
lib_debug.c
lib_ffi.c
lib_io.c
lib_jit.c
lib_math.c
lib_os.c
lib_string.c
lib_table.c
lj_bc.c
lj_dispatch.c
lj_err.c
lj_ffrecord.c
lj_opt_fold.c
lj_record.c
lj_vm.s
Linking luajit2
ranlib: file: ../bin/Debug/liblua.a(lj_gdbjit.o) has no symbols
==== Building fov (debug) ====
==== Building luasocket (debug) ====
==== Building luaprofiler (debug) ====
==== Building lualanes (debug) ====
==== Building lpeg (debug) ====
==== Building tcodimport (debug) ====
==== Building lxp (debug) ====
==== Building expatstatic (debug) ====
==== Building luamd5 (debug) ====
==== Building luazlib (debug) ====
==== Building luabitop (debug) ====
==== Building te4-bzip (debug) ====
==== Building TEngine (debug) ====
bspatch.c
../src/bspatch.c:34: error: expected ‘)’ before ‘*’ token
../src/bspatch.c: In function ‘spatch’:
../src/bspatch.c:66: error: ‘u_char’ undeclared (first use in this function)
../src/bspatch.c:66: error: (Each undeclared identifier is reported only once
../src/bspatch.c:66: error: for each function it appears in.)
../src/bspatch.c:66: error: expected ‘;’ before ‘header’
../src/bspatch.c:67: error: ‘old’ undeclared (first use in this function)
../src/bspatch.c:67: error: ‘new’ undeclared (first use in this function)
../src/bspatch.c:92: error: ‘header’ undeclared (first use in this function)
../src/bspatch.c:145: error: ‘buf’ undeclared (first use in this function)
make[1]: *** [../obj/Debug/TEngine/bspatch.o] Error 1
make: *** [TEngine] Error 2
----------------------------
Oh blargh! It doesn't recognize u_char? It knows what u_char is in my testfile!!! If you've run across this before, do you have a suggestion as to how to fix it? I could replace it with char, but that might have some nasty side effects. Dark God? Anyone?
An unrelated question: Is Tales of Maj' Eyal what used to be Troubles of Middle Earth, what used to be Pernband (before Anne Macaffery tried to sue it's developer)?