VCVRack / VCV-Prototype

Other
130 stars 23 forks source link

Windows LuaJIT build error #19

Closed SteveRussell33 closed 4 years ago

SteveRussell33 commented 4 years ago

Latest pull, Win 10 Mingw64 GCC v9.2.0 (python turned off in makefile; QuickJS and LuaJIT on)

g++  -std=c++11 -Wsuggest-override  -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES  -c -o build/src/Prototype.cpp.o src/Prototype.cpp
g++  -std=c++11 -Wsuggest-override  -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES  -c -o build/src/QuickJSEngine.cpp.o src/QuickJSEngine.cpp
In file included from src/QuickJSEngine.cpp:2:
dep/include/quickjs/quickjs.h: In function 'JSValue JS_NewCFunctionMagic(JSContext*, JSValue (*)(JSContext*, JSValue, int, JSValue*, int), const char*, int, JSCFunctionEnum, int)':
dep/include/quickjs/quickjs.h:826:49: warning: cast between incompatible function types from 'JSValue (*)(JSContext*, JSValue, int, JSValue*, int)' to 'JSValue (*)(JSContext*, JSValue, int, JSValue*)' [-Wcast-function-type]
  826 |     return JS_NewCFunction2(ctx, (JSCFunction *)func, name, length, cproto, magic);
      |                                                 ^~~~
g++  -std=c++11 -Wsuggest-override  -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES  -c -o build/src/LuaJITEngine.cpp.o src/LuaJITEngine.cpp
wget -c "http://luajit.org/download/LuaJIT-2.0.5.tar.gz"
--2019-10-21 14:56:22--  http://luajit.org/download/LuaJIT-2.0.5.tar.gz
Resolving luajit.org (luajit.org)... 163.172.177.144
Connecting to luajit.org (luajit.org)|163.172.177.144|:80... connected.
HTTP request sent, awaiting response... 416 Requested Range Not Satisfiable

    The file is already fully retrieved; nothing to do.

sha256check() { echo "$2  $1" | sha256sum -c; }; sha256check LuaJIT-2.0.5.tar.gz 874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979
LuaJIT-2.0.5.tar.gz: OK
cd dep && tar xf ../LuaJIT-2.0.5.tar.gz
cd dep/LuaJIT-2.0.5 && make
make[1]: Entering directory '/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/LuaJIT-2.0.5'
==== Building LuaJIT 2.0.5 ====
make -C src
make[2]: Entering directory '/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/LuaJIT-2.0.5/src'
make[2]: Nothing to be done for 'default'.
make[2]: Leaving directory '/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/LuaJIT-2.0.5/src'
==== Successfully built LuaJIT 2.0.5 ====
make[1]: Leaving directory '/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/LuaJIT-2.0.5'
cd dep/LuaJIT-2.0.5 && make PREFIX="/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep" install
make[1]: Entering directory '/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/LuaJIT-2.0.5'
==== Installing LuaJIT 2.0.5 to /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep ====
mkdir -p /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/bin /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/include/luajit-2.0 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/share/man/man1 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/pkgconfig /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/share/luajit-2.0.5/jit /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/share/lua/5.1 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/lua/5.1
cd src && install -m 0755 luajit /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/bin/luajit-2.0.5
cd src && test -f libluajit.a && install -m 0644 libluajit.a /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.a || :
rm -f /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/bin/luajit /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.so.2.0.5 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.so /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.so.2
cd src && test -f libluajit.so && \
  install -m 0755 libluajit.so /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.so.2.0.5 && \
  ldconfig -n /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib && \
  ln -sf libluajit-5.1.so.2.0.5 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.so && \
  ln -sf libluajit-5.1.so.2.0.5 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/libluajit-5.1.so.2 || :
cd etc && install -m 0644 luajit.1 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/share/man/man1
cd etc && sed -e "s|^prefix=.*|prefix=/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep|" -e "s|^multilib=.*|multilib=lib|" luajit.pc > luajit.pc.tmp && \
  install -m 0644 luajit.pc.tmp /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/lib/pkgconfig/luajit.pc && \
  rm -f luajit.pc.tmp
cd src && install -m 0644 lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/include/luajit-2.0
cd src/jit && install -m 0644 bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua dis_arm.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua bcsave.lua vmdef.lua /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/share/luajit-2.0.5/jit
ln -sf luajit-2.0.5 /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/bin/luajit
==== Successfully installed LuaJIT 2.0.5 to /c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep ====
make[1]: Leaving directory '/c/_Projects/VCVRack/v1/Rack/plugins/VCV-Prototype_JS/dep/LuaJIT-2.0.5'
g++ -o plugin.dll build/src/Prototype.cpp.o build/src/QuickJSEngine.cpp.o build/src/LuaJITEngine.cpp.o dep/lib/libefsw-static-release.a dep/lib/quickjs/libquickjs.a dep/lib/libluajit-5.1.a  -shared -L../.. -lRack
g++.exe: error: dep/lib/libluajit-5.1.a: No such file or directory
make: *** [../../compile.mk:59: plugin.dll] Error 1
AndrewBelt commented 4 years ago

Fixed with 7926216