[Olsr-dev] lua in olsrd sources

Markus Kittenberger (spam-protected)
Fri Feb 10 00:34:26 CET 2012


why not just remove this plugin,..

Markus

On Thu, Feb 9, 2012 at 5:35 PM, Hans-Christoph Steiner <
(spam-protected)> wrote:

>
> On 02/07/2012 11:37 AM, Bernd Petrovitsch wrote:
> > On Die, 2012-02-07 at 10:11 -0500, Hans-Christoph Steiner wrote:
> >> On Feb 4, 2012, at 7:51 AM, Bernd Petrovitsch wrote:
> > [....]
> >>> Perhaps Andreas T. - from which I more or less took over maintainership
> >>> ages ago - knows how/when/why the LUA interpreter ended up in there.
> >>
> >> Its easy enough to make it build against an external version of Lua,
> >> and Lua is included in Debian, Ubuntu, Fedora, Mac OS X/Fink,
> >> MacPorts, Cygwin, etc.  Its also easy to build using MinGW.
> >
> > Very probably - that is really not the problem.
> > But not the whole world is some well-known Linux distro on a
> > IBM-compatible PC (and from the pure deployed numbers of systems they
> > are actually not really that relevant. Yes, the PC world doesn't know or
> > fail to accept that. But that's another story ...).
> >
> >> I think the path of least resistance would be to remove the lua
> >> sources and just build against external sources.  I can do the build
> >> part.
> >
> > Strategically olsrd never used external libs (except of course libc but
> > that is always a special case).
> > One reason was that there were no real tempting candidates for anything,
> > e.g.
> > - glib, liboop or something similar for the main-loop.
> > - APR or something similar to "ease porting"</salesdroid> is
> >   IMHO for olrsd far more work to integrate, use and maintain then the
> >   gain because olsrd is quite small and compact anyways.
> > - a lib for the Dijkstra algo: I don't know if such a beast actually
> >   exists.
> >
> > The next reason is that that lib should exist/work/be ported on all
> > supported platforms - at that time Linux distros, openwrt, *BSD, CygWin.
> >
> > In an ideal world, you have cooperative people with sufficient know-how
> > and interest to work with who - at least - try new versions out and help
> > to nail bugs - both build time and run-time.
> > Well, the world was (much) less then ideal (and many thanks once more
> > for those who tried to make the world more ideal and who sent not only
> > bug reports but also patches fixing it locally for them at least).
> >
> > The 3rd reason is that using external libs usually
> > a) implies run-time bloat because it is quite unlikely that a daemon
> >    needs really all of it.
> >    IIRC we actually avoided libm explicitly.
> >    So think twice about it in the embedded world.
> >    And you very probably get the run-time bloat even if you link the
> >    lib statically hoping the linker removes all unused parts (because
> >    most libs tend to have lots internal stuff which is not trivially
> >    avoidable).
> >    Try that with GNU-libc and see how much code is pulled in ....
> > b) implies another abstraction layer (the API of the lib) and at that
> >    time olsrd already had (far) too many of them internally (and Hannes
> >    Gredler and I tried to kill some of them mainly because the didn't
> >    buy anything and just costs performance and source code and run-time
> >    code bloat).
> >    Don't know about today.
> > c) you have to cope with their API - which maybe easy or not.
> > d) possibly handle with a changing API - both feature-wise and bug-wise.
> >    Compile-testing is easy, but that won't catch all changes -
> >    especially not the semantic ones.
> >    In the Linux distro area, the distributor handles updates etc. here,
> >    but who does it for openwrt, CygWin or *BSD?
> >    And there people actually update there systems once in a while too.
> >
> > And the main issue with external libs is that historically openwrt
> > running on Linksys with 16 MB RAM[0] and other (somewhat) embedded stuff
> > were the main platform - and some not some random "PC Linux distro".
> > I don't know how that is today - Henning should know.
> >
> > IMHO it's the maintainers opinion that counts and, consequently,
> > decision - the above is just my experience with (real) embedded Linux
> > systems[1] and view on that issue (and I purposely do not write (more
> > about;-) what I should have done ages ago or what I would do today if I
> > were in that position;-).
> >
> > Kind regards,
> >       Bernd
> >
> > [0]: That was - later on - the "L" edition. A stripped down version of
> >      openwrt (no webinterface or other bells and whistles) actually ran
> >      on the newer, smaller ones with smaller ones - 8 MB RAM.
> > [1]: Hardware with 128 MB RAM and 1 GB Flash-RAM is easy - just run some
> >      stripped down Linux distro on them. But there was hardware with 4
> >      MB Flash-RAM and and 16 MB RAM.
>
> Thanks for the thorough explanation, I agree it makes perfect sense for
> a project like olsrd to avoid all libraries.  My essential point was not
> that olsrd should only target systems that include Lua, but rather when
> a system includes Lua, olsrd should use that one over the included one.
>  This is Debian policy, for example.
>
> Removing the Lua code from olsrd is much less important, its fine by me
> if the Lua sources stay there.  But Lua is a program that was built to
> be embedded, so its easy to build on just about any platform.
> Therefore, it would be easy for someone to download lua and included it
> into olsrd.  Having the sources there means that people will likely use
> the old version included with olsrd, security bugs and all, rather than
> get an up-to-date release.
>
> For a fun diversion, I've done a fair amount of work on very limited
> platforms, for example, I helped port Pure Data, a synthesis engine, to
> 1st gen iPods, so 83Mhz ARM with 8MB RAM.  This was a Linux kernel with
> not much else but a super simple GUI, and the version of Pd was ported
> to use ints as much as possible, where normally the synthesis is all
> floats:
> http://www.youtube.com/watch?v=bMtOKvJFetk
>
> .hc
>
>
> --
> Olsr-dev mailing list
> (spam-protected)
> https://lists.olsr.org/mailman/listinfo/olsr-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.olsr.org/pipermail/olsr-dev/attachments/20120210/6c2e951d/attachment.html>


More information about the Olsr-dev mailing list