-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Termux/aarch64: Segfaults at 97% build progress #230
Comments
Having the same issue. Anyone looked into this yet? Really want to be able to run luvit on my Raspberry PIs :D |
thanks to Nameless (aka truemedian) for this. |
Just to clear stuff out. The build did indeed work on a aarch64 using that script, not necessary fixed, might just mean your exact setup had a less chance of encountering the same segfault, specially in your case it wasn't a Termux setup. Will have to do more investigating on this. |
|
This is making a lot less sense than it should, could it possibly be a Termux bug? |
that is a high chance indeed, but according to @drveoj, this did happen with their Raspberry as well as Termux.
@athraxkobal Can you try the instructions in this reply? if you haven't already
|
@Bilal2453 Fails the exact same way after looking at the install.log |
Happy to pitch in on the Raspberry side if I can help... |
I've debugged this farther than I wanted to, it appears to be a bug in aarch64 luajit. If anyone has an actual aarch64 machine and the knowledge, we might want to submit a bug report to luajit about this. |
Just to confirm (for the absence of doubt) this doesn't work on PI(4)
curl -L https://github.com/truemedian/luvit-bin/raw/main/install.sh | sh yeilds:
|
I bisected luajit to this bad commit: 3143b218946395834f0bfef741061ac6ef3f5b56. Not really sure how to proceed from here. |
Can indeed confirm it compiles just fine on aarch64 using Edit: Do note that both latest LuaJIT and the problematic commit compile just fine under aarch64 with default |
Managed to get luvi to compile with commit 3143b218. Seemingly the issue with commit 3143b218 is that when building luajit, luv isn't passing the correct flags to DASM to set the endianness. By patching the luajit.cmake file in luv to add |
Could |
You should pass |
If endianness does actually happen to be the only issue here, then luvit/luv#570 should fix this issue once and for all. However, in the interest of keeping the rest of the cmake file still functional on older versions of luajit I only added the few missing things. In the future it probably needs to be reworked or redone to be more in line with the current luajit makefile. |
Cloning and doing "make regular" works as intended, but building luvi tends to display segfaults at 97% or 98%
The build process runs fine until 97%, where "jitted_tmp/src/lua/init.lua_luvi_generated.o" and
"jitted_tmp/src/lua/luvibundle.lua_luvi_generated.o" both segfault.
At 98%, "jitted_tmp/src/lua/init.lua_luvi_generated.o" segfaults again and "jitted_tmp/deps/lpeg/re.lua_luvi_generated.o" joins the party.
Screenshot: https://cdn.discordapp.com/attachments/598878518570385420/687727043022290992/Screenshot_20200312-1419541.png
This error occasionally pops up around here:
deps/luv/luajit: ./jit/bcsave.lua:0: attempt to compare two table values
The text was updated successfully, but these errors were encountered: