pkulchenko / ZeroBraneStudio

Lightweight Lua-based IDE for Lua with code completion, syntax highlighting, live coding, remote debugger, and code analyzer; supports Lua 5.1, 5.2, 5.3, 5.4, LuaJIT and other Lua interpreters on Windows, macOS, and Linux
http://studio.zerobrane.com/
Other
2.59k stars 518 forks source link

ARM support on Linux? #1156

Closed Vovkiv closed 1 year ago

Vovkiv commented 1 year ago

So, recently i become happy Raspberry Pi 4 user (with ARM Fedora Workstation). I Started preparing my usual lua/love2d environment there. And i forgot about fact that raspberry pi is arm based, while Zerobrane provide only x86_64 builds. So, i installed .sh archive and obviously failed to run zerobrane. My question is: is there will be arm support and if it possible to build for arm?

pkulchenko commented 1 year ago

Yes, it should be possible, but you'd have to build it yourself (using the included build script). See #745 for details and related arm-build discussion.

Vovkiv commented 1 year ago

Oh, thanks!

Vovkiv commented 1 year ago

Welp, i tried to build it, but i can't?

#!/bin/bash
sudo dnf install -y gcc-c++ git cmake gtk3-devel wget sqlite mesa-libGL-devel lua
git clone https://github.com/pkulchenko/ZeroBraneStudio.git ~/ZerobraneSource/
cd ~/ZerobraneSource/build/
./build-linux.sh lua wxwidgets wxlua luasocket

but it fails on building wxlua:
[ 95%] Building CXX object modules/luamodule/CMakeFiles/wxLuaModule.dir/__/wxlua/wxlstate.cpp.o
make[2]: *** No rule to make target "~/Downloads/ZeroBraneStudio-master/build/deps/lib/libwx_gtk3u_gl-3.1.a", needed by "lib/MinSizeRel/libwx.so".  Stop
make[2]: *** Waiting for unfinished jobs...
[ 97%] Building CXX object modules/luamodule/CMakeFiles/wxLuaModule.dir/__/wxlua/wxlua_bind.cpp.o
make[1]: *** [CMakeFiles/Makefile2:378: modules/luamodule/CMakeFiles/wxLuaModule.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Error: failed to build wxLua

cmake ./

I'm not really big expert in cmake, building from source and in bash in general, so i might doing something wrong. lua, wxwidgets, luasocket, builds without errors. I tried to build it on Raspberry Pi 4 itself, with Fedora Workstation 37, with everything updated.

pkulchenko commented 1 year ago

It looks like gl library is not found for some reason; I suspect it may be because some of its dependencies are missing, wxwidgets didn't build it.

you can try removing gl from the following two lines in build-linux.sh to see if this helps (as gl library is not strictly needed for the IDE):

diff --git a/build/build-linux.sh b/build/build-linux.sh
index b0944b62..a75d1f93 100755
--- a/build/build-linux.sh
+++ b/build/build-linux.sh
@@ -303,8 +303,8 @@ if [ $BUILD_WXLUA ]; then
     -DCMAKE_BUILD_TYPE=$WXLUABUILD -DBUILD_SHARED_LIBS=FALSE \
     -DCMAKE_SKIP_RPATH=TRUE \
     -DwxWidgets_CONFIG_EXECUTABLE="$INSTALL_DIR/bin/wx-config" \
-    -DwxWidgets_COMPONENTS="xrc;xml;stc;gl;html;aui;adv;core;net;base" \
-    -DwxLuaBind_COMPONENTS="xrc;xml;stc;gl;html;aui;adv;core;net;base" \
+    -DwxWidgets_COMPONENTS="xrc;xml;stc;html;aui;adv;core;net;base" \
+    -DwxLuaBind_COMPONENTS="xrc;xml;stc;html;aui;adv;core;net;base" \
     -DwxLua_LUA_LIBRARY_USE_BUILTIN=FALSE \
     -DwxLua_LUA_INCLUDE_DIR="$INSTALL_DIR/include" -DwxLua_LUA_LIBRARY="$INSTALL_DIR/lib/liblua.a" .
   (cd modules/luamodule; make $MAKEFLAGS) || { echo "Error: failed to build wxLua"; exit 1; }
pkulchenko commented 1 year ago

You'd only need to rerun the wxlua build: ./build-linux.sh wxlua luasocket

Vovkiv commented 1 year ago

Yep, it builds now