News : The level of daily SPAM has reached insane proportions, all registrations are now manual. I ask you to send me an e-mail (john (at) murga (dot) org), to confirm that you want me to create an account for you.


Post Reply  Post Thread 
Pages (2): « First [1] 2 Next > Last »
MurgaLua 0.6.8
Author Message
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #1
MurgaLua 0.6.8

Hi,

OK, this isn't the proper release as I haven't tested or updated the documentation or mikshaw's stuff ...
But at least it gives you a chance to try things out.

The binaries should stay as they are unless serious bugs are found.

Tests for the new and changed functionality can be found in the "examples/new" directory.

Windows users will find a full distribution of the luacom extension (for COM/ActiveX) compiled for murgaLua, along with documentation and a couple of examples I knocked up (like a simple task tray example someone was asking about some time back).

Please forgive the rough-and-readiness of this snapshot ...

A rough list of changes is as follows :

  • Fixed a couple of long standing bugs in debugging and timeout support.
  • And some other bugs ...
  • Improved the FLTK binding ... Idle callback support is available now.
  • Upgraded : FLTK (Bugfixes), LZO, LuaFilesys, lzlib ...
  • Fixed and integrated Alien to murgaLua, tested on platforns and requiring libffi.
    This will enable some pretty cool stuff in future :-)
  • Alien brings with it the struct extension too, which is pretty useful.
  • Heavily modified luasys and integrated some of it's features (including improved IO, serial support and others).
  • Added bitlib for better bitwise operations.
  • Added slncypto to provide improved cryto functionality.
  • Integrated LuaTask ...
    I was finally convinced to provided some form of threading.

I hope I didn't forget anything ...

You can find the full snapshot at :

http://www.murga-projects.com/files/

Cheers
JohnM

04-14-2008 03:29 AM
Visit this user's website Find all posts by this user Quote this message in a reply
mikshaw
Senior Member
****


Posts: 522
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 5
Post: #2
RE: MurgaLua 0.6.8

So far not having any luck getting it running in Damn Small Linux. The static version that worked before now tells me my system is too old.
/lib/libpthread.so.0: version `GLIBC_2.3.3' not found (required by ./murgaLua)
I'm not really suprised, though, since DSL does not bother staying cutting-edge on its collection of libs like most other distros.

Also haven't succeeded in compiling it. Bitlib won't build, and if I try to skip it I get many pages of errors from bind-fltk. Maybe an issue with the way FLTK was compiled, but I couldn't say. Here are the last few lines, though there are literally hundreds or possibly thousands of similar lines

Quote:
bind-fltk-ext.cxx:190: error: ISO C++ forbids declaration of `lua_setglobal'
with no type
bind-fltk-ext.cxx:190: error: redefinition of `int lua_setglobal'
bind-fltk-ext.cxx:184: error: `int lua_setglobal' previously defined here
bind-fltk-ext.cxx:190: error: initializer list being treated as compound
expression
bind-fltk-ext.cxx:190: error: invalid conversion from `const char*' to `int'
bind-fltk-ext.cxx:193: error: ISO C++ forbids declaration of `luaL_dostring'
with no type
bind-fltk-ext.cxx:193: error: redefinition of `int luaL_dostring'
bind-fltk-ext.cxx:187: error: `int luaL_dostring' previously defined here
bind-fltk-ext.cxx:193: error: initializer list being treated as compound
expression
bind-fltk-ext.cxx:193: error: invalid conversion from `const char*' to `int'
bind-fltk-ext.cxx:195: error: parse error before `return'
make[1]: *** [bind-fltk-ext.o] Error 1

The bitlib error didn't look like it was caused by bitlib itself, but I assume it's related since removing bitlib from the Makefile skipped that particular problem.

Quote:
cd ../3rd-party/bitlib-25;./configure > /dev/null
configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [linux] Error 77

Maybe bitlib's configure script is an idiot.
EDIT: I found this in config.log: gcc: /usr/local/lib/libffi.a: No such file or directory
No idea what libffi is, but it must be the culprit.

I'll check out this build next time I boot Slackware, but for now it looks like most of the additions were things I probably won't use any time soon....so I'm okay with 0.6.6 =o)

This post was last modified: 04-15-2008 09:01 AM by mikshaw.

04-15-2008 08:40 AM
Find all posts by this user Quote this message in a reply
mikshaw
Senior Member
****


Posts: 522
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 5
Post: #3
RE: MurgaLua 0.6.8

I wonder if you might consider some time in the future the possibility of including flags in the Makefile (or include a config.h) that can be used to disable unwanted packages. ...or are they stuck in there too tight?

This post was last modified: 04-15-2008 08:58 AM by mikshaw.

04-15-2008 08:56 AM
Find all posts by this user Quote this message in a reply
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #4
RE: MurgaLua 0.6.8

mikshaw Wrote:
I wonder if you might consider some time in the future the possibility of including flags in the Makefile (or include a config.h) that can be used to disable unwanted packages. ...or are they stuck in there too tight?

The idea is that everything in murgaLua forms part of a core platform, and as such you can ensure your code works as is on all supported OSs ... So disabling unwanted packages wouldn't make much sense.

I'll re-do the Linux builds tonight and test them on DSL.

The errors you are getting on the compile seem to be due to a bad build environment.

Cheers
JohnM

04-15-2008 11:58 PM
Visit this user's website Find all posts by this user Quote this message in a reply
mikshaw
Senior Member
****


Posts: 522
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 5
Post: #5
RE: MurgaLua 0.6.8

Probably is a bad environment. I installed Lua and FLTK into /opt so I could just mount them when needed...maybe I mistyped a path or variable name somewhere.
I'll try it again a little later, but I think I'll also need to install libffi first.

04-16-2008 03:55 AM
Find all posts by this user Quote this message in a reply
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #6
RE: MurgaLua 0.6.8

Ummm ... Getting a reliable cross-distro version with pThreads seems to be a bit of a challenge.

I'll try some more tomorrow.

Take this as a pretty bad testing build :-(

Cheers
JohnM

04-16-2008 09:48 AM
Visit this user's website Find all posts by this user Quote this message in a reply
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #7
RE: MurgaLua 0.6.8

I am hoping I'll have another build tonight ...

The problem is that pthreads on Linux are very closely tied to the version of libc being used ... I have a couple of ideas on how I may get around this, but for now I may just yank LuaTask and maybe release a 0.6.9 later.

Either way I haven't much feedback on this build, which I am assuming is bad :-(

Cheers
JohnM

04-16-2008 06:56 PM
Visit this user's website Find all posts by this user Quote this message in a reply
jpjacobs
Member
***


Posts: 113
Group: Registered
Joined: Jul 2007
Status: Offline
Reputation: 0
Post: #8
RE: MurgaLua 0.6.8

Well, i think this release has a lot of powerfull features like alien, and the crypto stuff, but i'm kinda loosing the oversight over all the features.
so maybe a little extra documentation which covers about what's possible with the extra libs (or even just links to the documentation of the libs) would be nice.

As for the rest, thumbs up, and thanks for the effort!

Jan-Pieter

04-16-2008 09:57 PM
Find all posts by this user Quote this message in a reply
JohnMurga
Administrator
*******


Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #9
RE: MurgaLua 0.6.8

I have done reading up on this ... And the threading features will be removed in tonights build.

Threads changed a lot in kernel 2.6 compared to 2.4 ...
And the overhead, hassle and uncertainty make it even less attractive to keep this in.

Specially with non-blocking IO and co-routines.

Sorry for wasting your time :-)

I want to ensure that the builds are compatible with DSL.

Cheers
JohnM

04-16-2008 11:00 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Juergen
Member
***


Posts: 81
Group: Registered
Joined: May 2007
Status: Offline
Reputation: 0
Post: #10
RE: MurgaLua 0.6.8

JohnMurga Wrote:
I have done reading up on this ... And the threading features will be removed in tonights build.

Threads changed a lot in kernel 2.6 compared to 2.4 ...
And the overhead, hassle and uncertainty make it even less attractive to keep this in.

Specially with non-blocking IO and co-routines.

Sorry for wasting your time :-)

I want to ensure that the builds are compatible with DSL.


Hi John

I don't think it would be justified to remove such a feature because of troubles with such old systems (glibc 2.3.3 is from January 2005). Even if you remove threading support it is not guaranteed that it will run on 3+ year old systems. Unfortunately in this respect Linux isn't Windows, where ancient binaries still run (except Windows Vista). I still remember those days, when most distributions switched from libc5 to glibc2 and it was nearly impossible to run binaries on different distributions or even on newer or older releases of the same distribution. Then later there were changes in the loader, the C++ ABI, ....

Even if you remove the threading functionality you can't expect that murgaLua runs on a system pre glibc2.3 or (I'm not even sure if glibc2.3.[01] works).

so if you wan't to support such old systems (I guess LD_ASSUME_KERNEL=2.2.5 still won't do the trick on DSL) then it would make sense to install such an old system (maybe with qemu or virtualbox) and compile there a murgaLua_vintage release (Although there could be problems with fltk). I guess luathreads also works with linuxthreads.

While it makes sense to use coroutines and async io multiplexing (I haven't had time to check everything, but I gess there is still no switch?), they can't replace seperate threads (there are situations where syscalls can block for seconds and this can't be handled with coroutines, if you still wan't at least some responsiveness). Also there are increasingly more multiprocessor systems which could benefit from thread support.

Btw.: I just did a few tests with io from luasys:
734121984 bytes (with hot caches of course) to /dev/null:

  • stock lua with stdio: ~1400ms
  • murgaLua with stdio: ~2200ms :-(
  • murgaLua with sys io and fresh buffers for every read: ~1100ms
  • murgaLua with sys io using the same buffer: ~355ms ;-)

I guess you count this as speedup. Unfortunately the stdio performance problem is still there.

Juergen

04-17-2008 01:55 AM
Find all posts by this user Quote this message in a reply
Pages (2): « First [1] 2 Next > Last »
Post Reply  Post Thread 

View a Printable Version
Send this Thread to a Friend
Subscribe to this Thread | Add Thread to Favorites

Forum Jump: