Re: [E-devel] Is luajit/lua-old a hard dependency of EFL 1.20.6?

2017-12-17 Thread Simon Lees


On 17/12/17 21:08, Andreas Metzler wrote:
> On 2017-12-17 Carsten Haitzler  wrote:
>> 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?

2017-12-17 Thread Carsten Haitzler
On Sun, 17 Dec 2017 07:21:41 +0100 Andreas Metzler  said:

> 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?

2017-12-16 Thread Andreas Metzler
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.

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?

2017-12-16 Thread Carsten Haitzler
On Sat, 16 Dec 2017 14:08:11 +0100 Andreas Metzler  said:

> 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?

2017-12-16 Thread Andreas Metzler
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