On 2010-02-05, at 8:48 AM, Álvaro Castro-Castilla wrote:
>
>
> El 5 de febrero de 2010 14:28, Marc Feeley <feeley(a)iro.umontreal.ca> escribió:
>
> On 2010-02-05, at 8:17 AM, Álvaro Castro-Castilla wrote:
>
> > A) If I use import, it says that c-lambda is not available in interpreted mode. But then I'm trying with compile-modules!
> > However, it tries to write to /usr/lib/modules/ns.dat, and I don't have the permission. Using this compiler option:
> >
> > bsc -:~~DIR=/data/projects/scheme -i
>
> I'm just guessing, but you probably meant:
>
> bsc -:~~=/data/projects/scheme -i
>
> The "DIR" part is a meta variable in the documentation, to be replaced by "lib", "bin", etc or be empty when the central installation directory is meant (i.e. the meaning of a path like "~~/...").
>
> Also, in your Scheme files (and maybe blackhole) there seems to be references to the library directory with a path like this:
>
> ~~/lib
>
> Note that it is better to use
>
> ~~lib
>
> so that proper redirection will occur (if the system is started with -:~~lib=/foo/bar).
>
> Marc
>
>
>
> Ah, I tried that, but then it doesn't find gambit#.scm, and with ~~bin it gives a weirder error:
>
> *** ERROR IN #<procedure #2>, "/usr/lib64/modules/module.scm"@1038.23 -- No such file or directory
> (open-process
> '(path: "/data/projects/scheme/gambc-cc.bat" arguments: ("dyn") directory: "/data/projects/scheme/" environment: ("GAMBC...
> )
>
> I tried doing this as root and it works.
> I guess that if I don't have access to default ~~lib, then I need to copy all the gambit library distributed files to the place where ns.dat could be written?
As root you could change the write permission of /usr/lib/modules to allow you or the group you are in to write. This of course has obvious security issues. Perhaps blackhole should distinguish between modules that are available system-wide and those that are user specific.
Alternatively, compile the Gambit system from scratch and install it in your home directory. Something like this:
./configure --prefix=/home/foobar/gambit --enable-single-host
make
make install
Then ~~lib will be /home/foobar/gambit/lib and you will have write access to it.
Marc