#archlinux32 | Logs for 2023-01-29

[00:15:52] <KitsuWhooa> luajit is currently being built without any arch32 specific patches, correct?
[00:30:16] <KitsuWhooa> lldb: error while loading shared libraries: libLLVM-14.so: cannot open shared object file: No such file or directory
[02:22:31] -!- epony has quit [Remote host closed the connection]
[02:23:23] -!- epony has joined #archlinux32
[07:49:50] -!- abaumann has joined #archlinux32
[07:49:51] <buildmaster> Hi abaumann!
[07:49:51] <buildmaster> !rq abaumann
[07:49:52] <phrik> buildmaster: <abaumann> I'm all for an docdepends upstreams and a doc hook, in order to reduce all those silly dependencies just to get documentation nobody reads afterwards, because they don't know about the 'man' command.. (rant of the day)
[07:50:17] <abaumann> Yeah, I currently have problems with the buildmaster, every single operation takes up to an hour, no clue, what made it so slow suddenly..
[08:14:09] -!- abaumann has quit [Quit: leaving]
[09:30:41] -!- eloy has quit [Quit: eloy]
[09:32:18] -!- eloy has joined #archlinux32
[12:40:51] -!- GNUtoo has quit [Remote host closed the connection]
[12:46:05] -!- GNUtoo has joined #archlinux32
[13:16:39] -!- abaumann has joined #archlinux32
[13:16:40] <buildmaster> Hi abaumann!
[13:16:40] <buildmaster> !rq abaumann
[13:16:41] <phrik> buildmaster: <abaumann> the world would be a better place if less would be programmed in C, or at least by people knowing C :-)
[13:22:34] <abaumann> uh, quite some expired keys.. :-)
[13:40:34] <abaumann> so, plasma and libreoffice look much better now.
[13:40:39] <abaumann> Gnome is still a mess. :-(
[13:41:10] <abaumann> mesa has a llvm 14 issue, ye, for llvmpipe composers I suppose (don't care)
[13:41:35] <abaumann> that said, llvm/clang/rust have huge rebuild issues, this delays many/many packages ATM
[13:44:58] <KitsuWhooa> I wonder if it'd be worth patching the mpv package to use lua instead of luajit
[13:45:11] <KitsuWhooa> at least on i686
[13:45:51] <KitsuWhooa> luajit falls back to an interpreter when there's no sse2 present, so I assume it's going to be slower
[13:48:03] <abaumann> mmh. interesting. luajit is quite old and for lua 5.1 IIRC, so it fails without SSE2
[13:48:06] <abaumann> ?
[13:48:06] <abaumann> sad.
[13:48:48] <KitsuWhooa> luajit is supposed to fall back to the interpreter without sse2
[13:49:02] <abaumann> Ah, that sounds reasonable.
[13:49:09] <KitsuWhooa> but presumably the compiler detected that it was being built on a system with sse2, and emitted sse2 instructions on the interpreter itself
[13:49:13] <KitsuWhooa> I can't even do luajit --help
[13:49:15] <KitsuWhooa> or whatever
[13:49:26] <KitsuWhooa> but at the same time, lua is probably going to be faster :p
[13:49:27] <abaumann> mmh. I saw something similar in tetex or so?
[13:49:45] <abaumann> differences can be 10 times.
[13:49:59] <abaumann> but I though luajit is basically dead with lua >5.1
[13:50:05] <KitsuWhooa> I honestly have no idea
[13:50:10] <KitsuWhooa> upstream mpv still seems built with luajit
[13:51:07] <KitsuWhooa> .oO(I wonder how long it'd take to build luajit on my Pentium 3)
[13:51:53] <abaumann> lua is quite small, so is luajit.
[13:52:29] <KitsuWhooa> https://github.com
[13:52:30] <KitsuWhooa> hmmmm
[13:53:18] <abaumann> mmh. yeah, this line looks wrong in so many ways :-)
[13:53:31] <KitsuWhooa> Well, time to try it I guess :p
[13:53:37] <abaumann> we could also do some proper patching for luajit and leave the dependency to luajit for mpv
[13:53:58] <KitsuWhooa> I was thinking doing both, especially if we can get any kind of perf boost for mpv
[13:54:06] <KitsuWhooa> apparently lua is used at least for the osc
[13:54:08] <abaumann> true
[13:54:43] <KitsuWhooa> I assume gcc happily emits sse2 on a system that doesn't support it, if you do -msse2, right?
[13:54:51] <abaumann> yep.
[13:55:03] <abaumann> and also probably if you set march high enough..
[13:55:54] <abaumann> ..and sometimes it emits things like endbr32 for no good reason, ignoring any march settings. :-)
[13:56:11] <KitsuWhooa> nice
[13:56:36] <abaumann> my i486 floppy has endbr32 on it in musl :-)
[13:56:44] <abaumann> I patch it out manually for now..
[13:56:52] <KitsuWhooa> I don't know what instruction it is in luajit that breaks it because gdb doesn't work :p
[13:57:03] <abaumann> gdb should work again.
[13:57:11] <abaumann> there was a source-highlight boost gdb messup
[13:57:24] <abaumann> not on 486, I think, just i686 and pentium4 should be fine again.
[13:57:35] <KitsuWhooa> Oooooh
[13:57:37] <KitsuWhooa> let me Syu again
[13:58:06] <KitsuWhooa> wow, it does work. Thanks!
[13:58:16] <KitsuWhooa> it does spew these at the beginning
[13:58:22] <abaumann> good. I don't want to keep you from debugging. :->
[13:58:23] <KitsuWhooa> JIT failed to initialize disabling automatic JIT compilation JIT failed due to resource exhaustion disabling automatic JIT compilation
[13:59:11] <KitsuWhooa> >paddq
[13:59:26] <KitsuWhooa> that's sse2 alright
[14:00:00] <KitsuWhooa> Right, let's see how long it takes to build luajit :p
[14:01:59] <KitsuWhooa> maybe we should specify -DLUAJIT_DISABLE_JIT
[14:02:03] <KitsuWhooa> > # Disable the JIT compiler, i.e. turn LuaJIT into a pure interpreter.
[14:02:05] <KitsuWhooa> for i686
[14:07:38] <abaumann> depends on what the switch is doing.
[14:08:00] <abaumann> I thing luajit should JIT fine on i686, just somebody slammed a -sse -sse2 into the Makefile.. :-)
[14:08:37] <KitsuWhooa> its JIT requires sse2 sadly
[14:08:51] <KitsuWhooa> http://lua-users.org
[14:08:52] <phrik> Title: Re: LuaJIT and SSE2 (at lua-users.org)
[14:09:18] <KitsuWhooa> so there's no point in building it
[14:15:02] <KitsuWhooa> wow, it built in just 3 minutes
[14:15:21] <KitsuWhooa> $ luajit
[14:15:23] <KitsuWhooa> LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2022 Mike Pall. https://luajit.org
[14:15:25] <phrik> Title: The LuaJIT Project (at luajit.org)
[14:15:25] <KitsuWhooa> JIT: OFF
[14:15:27] <KitsuWhooa> cool
[14:16:15] <KitsuWhooa> mpv still fails with SIGILL in libluajit...
[14:16:40] <abaumann> is mpv using the system luajit or a local one
[14:16:43] <abaumann> ?
[14:16:49] <KitsuWhooa> [ 1200.517849] traps: mpv/lua script [5253] trap invalid opcode ip:b5e82a43 sp:ab9a6830 error:0 in libluajit-5.1.so.2.1.0[b5e82000+3d000]
[14:16:52] <KitsuWhooa> presumably the system one
[14:16:55] <KitsuWhooa> but let me verify
[14:18:14] <KitsuWhooa> yeah it's loading the system one openat(AT_FDCWD, "/usr/lib/libluajit-5.1.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
[14:19:10] <KitsuWhooa> It's failing on a cvtsi2sd now, so I guess it got further
[14:19:54] <abaumann> src/vm_x86.dasc
[14:19:58] <abaumann> full of cvtsi2sd
[14:19:58] <KitsuWhooa> ...oh no
[14:20:07] <KitsuWhooa> welp
[14:21:14] <KitsuWhooa> It looks like there isn't much hope for luajit then, unless I patch it to not do that
[14:21:15] <abaumann> yea, but the good news is: we could simply go back in time with luajit 51
[14:21:40] <abaumann> we could find the git version before all SSE2 optimization happened.
[14:22:03] <abaumann> but, mpv will use lua just for some scripting I suppose, there performance should not reawlly matter that much
[14:22:33] <KitsuWhooa> the osc is written in lua
[14:22:36] <KitsuWhooa> I think that's important :p
[14:22:48] <KitsuWhooa> https://github.com
[14:23:08] <KitsuWhooa> but again, mpv can just use normal lua, so if that works, we can just do that anyway
[14:23:45] <KitsuWhooa> I wonder if there's a C implementation of that VM that we can enable, too
[14:24:13] <abaumann> maybe not, but as lua 5.1 is stable in luajit, almost every version of luajit should do fine.
[14:25:04] <KitsuWhooa> of course, but eventually I bet things will change and it'll stop building
[14:25:57] <KitsuWhooa> hm, there seems to be a thing called DUALNUM
[14:26:03] <KitsuWhooa> that avoids the sse2 instructions
[14:26:11] <abaumann> Not every, or does it?
[14:26:14] <abaumann> *everywhere
[14:26:36] <KitsuWhooa> well, maybe not, but it makes it easier to patch the rest of it manually :p
[14:26:43] <KitsuWhooa> but for example https://github.com
[14:26:56] <KitsuWhooa> also > |.if X64
[14:27:05] <KitsuWhooa> I wonder why that's in there, when there's a separate x64 file
[14:28:14] <abaumann> not well maintained :-)
[14:28:41] <abaumann> dynasm is a nice meta-macro-thingy, you can do whatever you want when JITing..
[14:28:56] <abaumann> ..you just have to do it.
[14:28:58] <KitsuWhooa> first time I'm hearing of it
[14:31:15] <abaumann> https://luajit.org
[14:31:17] <phrik> Title: DynASM (at luajit.org)
[14:31:32] <KitsuWhooa> > DynASM has been developed primarily as a tool for LuaJIT
[14:31:34] <KitsuWhooa> Ah
[14:32:50] <KitsuWhooa> Yeah, it went much further now
[14:32:53] <KitsuWhooa> stuck on a movsd :p
[14:34:54] <KitsuWhooa> mpv actually prints its help at least
[14:35:49] <abaumann> https://luajit.org
[14:35:50] <phrik> Title: DynASM (at luajit.org)
[14:35:55] <abaumann> sorry. wrong link.
[14:35:57] <abaumann> https://bugs.archlinux32.org
[14:35:58] <phrik> Title: FS#36 : texlive-core: SSE2 required (at bugs.archlinux32.org)
[14:36:05] <abaumann> This could be the same root cause..
[14:36:17] <abaumann> This also means it is there for quite a while :-)
[14:36:23] <KitsuWhooa> yup
[14:36:42] <KitsuWhooa> I'm having trouble finding out from gdb which line it is in the dasm file
[14:38:25] <abaumann> I can imagine, yes..
[14:38:28] <abaumann> .. a layer more
[14:38:43] <KitsuWhooa> Doesn't help that I'm not familiar with x86 asm :p
[15:50:18] <KitsuWhooa> https://github.com
[15:50:20] <KitsuWhooa> hmmm
[15:53:53] <KillerWasp> firefox is very broken, i don't know if is by the bad managing of memory from linux kernel or from firefox, where firefox have a own system and own language, all in firefox are crap....
[15:54:49] <KillerWasp> i still have a little free in normal memory and all free in swap where i get those errors
[15:55:45] <KillerWasp> today the programers believe that catch malloc() and run own codes is cool. (?)
[15:56:13] <KillerWasp> bad channel... sorry...
[16:08:22] <abaumann> ui, that's an old patch..
[16:08:41] <abaumann> actually.. it fits quite nicely to that channel..
[16:08:42] <abaumann> :-)
[16:11:34] <abaumann> many people don't check error codes on malloc because Linux is overcommitting memory and people are used to not checking the error codes, because nothing bad happens. :-)
[16:11:42] <abaumann> I patched lua52 into mpv, let's see..
[16:13:26] <KitsuWhooa> and I'm already trying to revert that patch :p
[16:13:46] <abaumann> :-)
[16:16:20] <KitsuWhooa> the indentation is... not great :p
[16:17:27] <KitsuWhooa> if ((features[0] & 0x0ff00f00) == 0x00000f00) /* P4. */
[16:17:29] <KitsuWhooa> flags |= JIT_F_P4; /* Currently unused. */
[16:17:31] <KitsuWhooa> wtf is this
[16:17:47] <abaumann> cpuinfo?
[16:17:52] <KitsuWhooa> I'm referring to the indentation levels
[16:17:56] <abaumann> ah. :-)
[16:18:07] <abaumann> yeah, not great.
[16:18:08] <KitsuWhooa> Oh
[16:18:10] <KitsuWhooa> it's tabs mixed with spaces...
[18:47:59] -!- T`aZ has quit [Ping timeout: 248 seconds]
[18:49:23] -!- GNUtoo has quit [Remote host closed the connection]
[18:49:40] -!- GNUtoo has joined #archlinux32
[18:50:06] -!- T`aZ has joined #archlinux32
[19:02:49] -!- abaumann has quit [Quit: leaving]
[19:05:34] <KillerWasp> KitsuWhooa: i put all in one line and without comment
[19:31:13] -!- epony has quit [Quit: QUIT]
[20:05:08] <KitsuWhooa> I give up on luajit for now
[20:05:25] <KitsuWhooa> I've been trying to do a rebase without that commit, and it's an absolute nightmare
[20:58:17] -!- epony has joined #archlinux32