1. linux preprocessor permission denied
- Posted by slowmaker Feb 03, 2013
- 1326 views
I'm experimenting with the preprocessor option, and hit a situation where I don't see what I'm doing wrong yet.
I'm attempting to write a preprocessor which is itself written in a form that has to be preprocessed.
When running the command line:
eui -p foo:foo.lex -p lex:literate.ex test.foo
I am getting the error text:
sh: 1: /media/40g/src/foo/foo.lex: Permission denied
Preprocessor command failed (32256): foo.lex -i test.foo -o test.pp.foo
When I take away a preprocessor layer by specifying a euphoria-only version of foo.lex (foo.ex) it runs fine:
eui -p foo:foo.ex test.foo
just runs as expected (just spits out a list of words found in test.foo, then writes the text of test.foo to test.pp.foo unmodified).
My euphoria install is manually unpacked from the tar.gz version. I originally installed from the deb file, then when I got this error I tried uninstalling that and just putting in the binaries from the tar. They are in /bin/euphoria.
EUDIR is set to /bin/euphoria (verified w/ echo $EUDIR)
/bin/euphoria/bin is in the path (verified w/ echo $PATH)
include path is set by a eu.cfg located in /bin/euphoria/bin
Not sure what other info to include...
2. Re: linux preprocessor permission denied
- Posted by slowmaker Feb 03, 2013
- 1297 views
A little more experimental results:
Making foo.lex executable gets past the 'permission denied', and the resulting error output made it clear that it was being run as a shell script. Which makes sense, and clears things up a bit, I think.
So...the file extension checking with regard to preprocessor interpretation by Euphoria does not apply to the preprocessors themselves. That was the assumption that was messing me up; I thought they would just work through the recognized extensions as needed, and only try to run something as a standalone if the extension was not recognized.
I'm off to try to figure a workaround - I really want to make this multiple level thing work.
3. Re: linux preprocessor permission denied
- Posted by mattlewis (admin) Feb 03, 2013
- 1303 views
I'm off to try to figure a workaround - I really want to make this multiple level thing work.
It seems like the preprocessor isn't recognizing foo.lex as something it can run. Try something like:
-- foo.ex include foo.lex
...and passing foo.ex as the preprocessor, instead of foo.lex.
Matt
4. Re: linux preprocessor permission denied
- Posted by slowmaker Feb 03, 2013
- 1316 views
It seems like the preprocessor isn't recognizing foo.lex as something it can run. Try something like:
-- foo.ex include foo.lex
...and passing foo.ex as the preprocessor, instead of foo.lex.
Matt
Thank you, that worked very nicely! Also much cleaner than the bash script nonsense I was fussing about with before reading your post.