I am unable to test this extensively on my machine, but the LightSpeed "toolkit" seems to be nothing more than a collection of 'files' (albeit needing initial compilation).
Adding this collection to the path causes it to shadow a core octave function (glob
) which happens not to exist in matlab.
A way around it is to create a namespace, i.e. instead of adding the offending items to the path directly, wrap them around a folder with a plus ('+') in front of the name (e.g. "+Lightspeed"), and add that to the path. You can then call all Lightspeed functions qualified by that namespace, e.g. "Lightspeed.digamma".
In theory this should work; it's up to the particular implementation how sanely they handled relative references etc, but in theory it should be fine.
Alternatively, you could just modify Lightspeed code a bit and replace all occurences of glob
with Lglob
or something like that.
Or, as Cris suggested, you could try removing Lightspeed from the path and only load it whenever you need to use one of its functions (or cd
to its folder before executing Lightspeed related things).
As pointed out in the comments, this is worth raising as a bug, both to Lightspeed1 and to Octave.
1: Though presumably Lightspeed will just say they don't support Octave and you're welcome to try fixing the code yourself
glob
withbuiltin('glob')
in their codebase. - Tasos Papastylianou