scsh-users
[Top] [All Lists]

Re: scx-0.2 on cygwin

To: scsh-users@scsh.net, "Brian D. Carlstrom" <bdc@carlstrom.com>
Subject: Re: scx-0.2 on cygwin
From: Marcus Crestani <marcus@crestani.de>
Date: Thu, 3 Jun 2004 22:41:54 +0200
List-id: <scsh-users.list-id.scsh.net>
Reply-to: marcus@crestani.de
>>>>> BD == Brian D. Carlstrom writes:
BD>   I get the same as you including the message:
BD>     Scheme48 heap overflow
BD>   which bothers me as well.

Now I know: due to this heap overflow the load.scm file is not getting 
generated.

On my very first try to install scx-0.2 I encounterd this problem:
$ scsh-install-pkg --prefix /usr/local/lib/scsh/scx/
[...]
/bin/bash ../mkinstalldirs 
//usr/local/lib/scsh/scx/0.6/scx-0.2/lib/i686-pc-cygwin
mkdir -p -- //usr/local/lib/scsh/scx/0.6/scx-0.2/lib/i686-pc-cygwin
mkdir: cannot create directory
`//usr/local/lib/scsh/scx/0.6/scx-0.2/lib/i686-pc
-cygwin': No such host or network path
make[3]: *** [install-libsysLTLIBRARIES] Error 1
make[3]: Leaving directory `/home/crestani/scx-0.2/c'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/crestani/scx-0.2/c'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/crestani/scx-0.2/c'
make: *** [install-recursive] Error 1

The problem are the two forward slashes // in the mkdir call. The two slashes 
also show up under Unix/Linux but there it doesn't result in an error. Since 
Windows uses two slashes to address hosts in the local network, it fails 
under cygwin.

In pkg-def.scm make is called with the variable DESTDIR set to one forward 
slash "/". This causes the additional slash in the mkdir call in c/Makefile: 
$(mkinstalldirs) $(DESTDIR)$(libsysdir).

In pkg-def.scm the call (get-option-value 'dest-dir) is used to set the 
variable (see l. 20).

After removing (get-option-value 'dest-dir) I was able to install scx. Then 
load.scm got generated, there was no heap overflow!

Martin Gasbichler gave me the hint to try --dest-dir "" with scsh-install-pkg 
and the unmodified pkg-def.scm. Now the mkdir call was successful, but --- as 
I see now --- this somehow causes the heap overflow and prevents load.scm 
from getting generated. Due to my former installation the load.scm was 
already generated, so I didn't discover that the problem existed.

BTW: To run scx, you'll need heap-images, which is part of sunterlib-0.6.

-- 
Marcus

<Prev in Thread] Current Thread [Next in Thread>