Re: [E-devel] Is luajit/lua-old a hard dependency of EFL 1.20.6?
On 17/12/17 21:08, Andreas Metzler wrote: > On 2017-12-17 Carsten Haitzlerwrote: >> On Sun, 17 Dec 2017 07:21:41 +0100 Andreas Metzler said: > [...] >>> luajit generally has support for arm64 but EFL breaks with "bad light >>> userdata pointer" (T6156), so as a workaround we have switched to >>> lua-old on Debian/arm64. > >> well luajit didn't even document this limitation until fairly recently >> (end of 2016). in fact it's a limitation for x86-64 too... for a long >> time before being documented. it's a very very very odd thing to limit >> and no one would expect a pointer can only use a limited number of >> bits for the address unless clearly and distinctly documented. (the >> pull request came in end of 2016, and luajit is STILL broken for 52bit >> addressing for example). my take is that luajit is basically broken on >> 64bit as it makes major assumptions on the VALUE of an address - if >> the kernel were to remap elsewhere in virtual memory in certain ways >> it'd still be broken if we just used basic raw pointers. adding the >> documentation at least kind of helps... but it's still a major design >> error. we've worked around it in git by now. > > Hello, > > my layman's reading of the respective bug-reports also was that the > respective luajit interface was broken. Is the suggested solution > ("switch to FFI bindings") a real solution? > > Will the workaround in EFL GIT possibly end up in a 1.20.x release or is > t strictly 1.21 material? > > TIA, cu Andreas > Once we can test and verify that it works its probably worthy of being in a 1.20.X however at the moment the fixes just lead to a segfault further on, and I guess i'll have to set up a proper build env outside obs to debug that, but I haven't looked further yet. [ 5131s] ELUA_EOLIAN_LIBRARY_PATH=../src/lib/eolian/.libs ../src/bin/elua/elua -I/home/abuild/rpmbuild/BUILD/efl-1.20.6/src/bindings/luajit -C/home/abuild/rpmbuild/BUILD/efl-1.20.6/src/scripts/elua/core -M/home/abuild/rpmbuild/BUILD/efl-1.20.6/src/scripts/elua/modules -A/home/abuild/rpmbuild/BUILD/efl-1.20.6/src/scripts/elua/apps lualian -I. -o lib/ecore_audio/ecore_audio.eo.lua lib/ecore_audio/ecore_audio.eo [ 5132s] make[4]: *** [Makefile:54388: lib/ecore_audio/ecore_audio.eo.lua] Segmentation fault (core dumped) If you'd like to try the set of patches in debian you can pull them from here, https://build.opensuse.org/package/show/X11:Enlightenment:Testing/efl Unfortunately its not at the top of my todo list atm. -- Simon Lees (Simotek)http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B signature.asc Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Is luajit/lua-old a hard dependency of EFL 1.20.6?
On Sun, 17 Dec 2017 07:21:41 +0100 Andreas Metzlersaid: > On 2017-12-17 Carsten Haitzler wrote: > > On Sat, 16 Dec 2017 14:08:11 +0100 Andreas Metzler said: > > >> (sid):/tmp/EFL/efl-1.20.6$ ./configure --help | grep -i lua > >> --enable-lua-oldEnable interpreted Lua support (5.1 or 5.2). > >> --enable-elua enable ELUA support. [default=enabled] > >> --with-elua=PATHspecify a specific path to elua [default=elua] > >> --with-bin-elua=PATHspecify a specific path to elua [default=elua] > > >> seemed to /suggest/ to me that EFL could be built without lua support. > >> However even with > > > it cannot. choices are luajit or "old regular lua". and even then old > > regular lua is basically being deprecated. > > Hello, > > Thanks for the explanation. > > > the new luajit release in beta has arm64 > > support now, so ... it's pretty much time to move on. > [...] > > luajit generally has support for arm64 but EFL breaks with "bad light > userdata pointer" (T6156), so as a workaround we have switched to > lua-old on Debian/arm64. well luajit didn't even document this limitation until fairly recently (end of 2016). in fact it's a limitation for x86-64 too... for a long time before being documented. it's a very very very odd thing to limit and no one would expect a pointer can only use a limited number of bits for the address unless clearly and distinctly documented. (the pull request came in end of 2016, and luajit is STILL broken for 52bit addressing for example). my take is that luajit is basically broken on 64bit as it makes major assumptions on the VALUE of an address - if the kernel were to remap elsewhere in virtual memory in certain ways it'd still be broken if we just used basic raw pointers. adding the documentation at least kind of helps... but it's still a major design error. we've worked around it in git by now. > cu Andreas > -- > `What a good friend you are to him, Dr. Maturin. His other friends are > so grateful to you.' > `I sew his ears on from time to time, sure' > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- - Codito, ergo sum - "I code, therefore I am" -- Carsten Haitzler - ras...@rasterman.com -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Is luajit/lua-old a hard dependency of EFL 1.20.6?
On 2017-12-17 Carsten Haitzlerwrote: > On Sat, 16 Dec 2017 14:08:11 +0100 Andreas Metzler said: >> (sid):/tmp/EFL/efl-1.20.6$ ./configure --help | grep -i lua >> --enable-lua-oldEnable interpreted Lua support (5.1 or 5.2). >> --enable-elua enable ELUA support. [default=enabled] >> --with-elua=PATHspecify a specific path to elua [default=elua] >> --with-bin-elua=PATHspecify a specific path to elua [default=elua] >> seemed to /suggest/ to me that EFL could be built without lua support. >> However even with > it cannot. choices are luajit or "old regular lua". and even then old regular > lua is basically being deprecated. Hello, Thanks for the explanation. > the new luajit release in beta has arm64 > support now, so ... it's pretty much time to move on. [...] luajit generally has support for arm64 but EFL breaks with "bad light userdata pointer" (T6156), so as a workaround we have switched to lua-old on Debian/arm64. cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Is luajit/lua-old a hard dependency of EFL 1.20.6?
On Sat, 16 Dec 2017 14:08:11 +0100 Andreas Metzlersaid: > Hello, > > this > > (sid):/tmp/EFL/efl-1.20.6$ ./configure --help | grep -i lua > --enable-lua-oldEnable interpreted Lua support (5.1 or 5.2). > --enable-elua enable ELUA support. [default=enabled] > --with-elua=PATHspecify a specific path to elua [default=elua] > --with-bin-elua=PATHspecify a specific path to elua [default=elua] > > seemed to /suggest/ to me that EFL could be built without lua support. > However even with it cannot. choices are luajit or "old regular lua". and even then old regular lua is basically being deprecated. the new luajit release in beta has arm64 support now, so ... it's pretty much time to move on. > --disable-elua --without-bin-elua --disable-lua-old > > ./configure fails with > configure: error: pkg-config missing luajit >= 2.0.0 > > due to this line in configure.ac: > if test "${want_lua_old}" = "yes"; then >EFL_CHECK_LUA_OLD([EVAS]) > else >EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0]) > fi > > Is lua (i.e. either luajit or lua-old) a hard dependency of efl or is > this simply an overstrict dependency in ./configure? it's a dependency. edje has depended on lua for many years now. there is a whole lua script only mode for edje groups (that no one uses ... :)). evas filters rely on lua to describe the filter pipeline. just for starters. > thanks, cu Andreas > -- > `What a good friend you are to him, Dr. Maturin. His other friends are > so grateful to you.' > `I sew his ears on from time to time, sure' > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- - Codito, ergo sum - "I code, therefore I am" -- Carsten Haitzler - ras...@rasterman.com -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Is luajit/lua-old a hard dependency of EFL 1.20.6?
Hello, this (sid):/tmp/EFL/efl-1.20.6$ ./configure --help | grep -i lua --enable-lua-oldEnable interpreted Lua support (5.1 or 5.2). --enable-elua enable ELUA support. [default=enabled] --with-elua=PATHspecify a specific path to elua [default=elua] --with-bin-elua=PATHspecify a specific path to elua [default=elua] seemed to /suggest/ to me that EFL could be built without lua support. However even with --disable-elua --without-bin-elua --disable-lua-old ./configure fails with configure: error: pkg-config missing luajit >= 2.0.0 due to this line in configure.ac: if test "${want_lua_old}" = "yes"; then EFL_CHECK_LUA_OLD([EVAS]) else EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0]) fi Is lua (i.e. either luajit or lua-old) a hard dependency of efl or is this simply an overstrict dependency in ./configure? thanks, cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel