[PD] Permission error: writing txt with Lua

IOhannes m zmölnig zmoelnig at iem.at
Sun May 10 20:02:38 CEST 2015


On 05/10/2015 06:35 PM, Luiz Naveda wrote:
> Dear List,
> 
> I am trying to write a txt with pdlua (using pdluax) in a Mac (yosemite)
> Everything is clear but I can't solve a permission error:
> 
> lua: error in dispatcher:
> [string "txtwrite.pd_luax"]:11: example.txt: Permission denied

that should be unrelated to pdlua.

the problem is, that you do not really know *where* on the filesystem
you are writing the file.
contrary to what you might expect (e.g. besides the "problem.pd" patch),
a simple call to `open()` (and lua's io.open() is just a thing wrapper
around the underlying C-function) will create a file in the working
directory of the calling application - which is determined at startup to
the place where you started Pd from.
since you are on OSX, i assume that you are starting Pd from simply
clicking on the application icon, which IIRC uses the filesystem root
(`/`) as your working directory (at least some older versions of Pd,
probably including Pd-extended).

now in general it's a good thing that you are not allowed to write stuff
in `/`.
the fix is rather easy: provide full pathnames when using low-level file
io-functions. for testing it might be a good idea to use a tempdir, e.g.
/tmp/example.txt

gfdsar
IOhannes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20150510/4699695f/attachment.sig>


More information about the Pd-list mailing list