I have built the compiler (1.6.6) on Linux (using FreePascal) and manually installed it system-wide (somewhere in /opt/...). Initially it was working - but then I changed file permissions so that a regular user cannot access the compiler/library files for writing (precisely - I changed the file ownership from a regular user to root/admin - as it should be on a regular multiuser system) - and the compilations started failing, with rather strange errors, from:
/opt/retro/madpascal/lib/crt.pas (1,10) Error: Syntax error, '.' expected but 'unknown token' found
or
/opt/retro/madpascal/lib/types.pas (446,5) Error: Syntax error, '.' expected but 'END' found
to errors with "Access violation" (like the one in #112).
Using strace revealed (it doesn't matter if it is for C64 or Atari):
I have built the compiler (1.6.6) on Linux (using FreePascal) and manually installed it system-wide (somewhere in
/opt/...
). Initially it was working - but then I changed file permissions so that a regular user cannot access the compiler/library files for writing (precisely - I changed the file ownership from a regular user to root/admin - as it should be on a regular multiuser system) - and the compilations started failing, with rather strange errors, from:or
to errors with "Access violation" (like the one in #112).
Using
strace
revealed (it doesn't matter if it is for C64 or Atari):so the compiler indeed tries to open a library source (unit) for writing during compilation, and the compilation fails if it cannot...
A rather strange, not very safe behaviour, it would be good if it was corrected.