chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Noob question: (re)compile FFI-accessing code within


From: John Cowan
Subject: Re: [Chicken-users] Noob question: (re)compile FFI-accessing code within REPL
Date: Mon, 2 Jul 2007 11:58:15 -0400
User-agent: Mutt/1.5.13 (2006-08-11)

Martin Percossi scripsit:

> On CMD.EXE, chicken-setup crashes because it 
> attempts to execute a pipe: `gunzip <FILE> | tar xvf -'. Unfortunately 
> gunzip doesn't exist, and as a result the command fails (even if it did 
> succeed, I'm not sure that windows supports piping so that the command 
> would fail at the next step anyway!). 

Windows does support piping in the shell, though not the pipe()
system call.

> I've seen a open ticket which details the changes necessary: replacing 
> the tar and gzip commands with scheme versions that come preinstalled 
> with the distribution.

The trouble is that a clean-room reinvention of gzip is no small matter,
and gzip itself is GPLed, which is inconsistent with the overall Chicken
license.  (There are GPLed eggs, but they are separate products.)

You mention in another email "the Windows equivalent of LD_LIBRARY_PATH".
The native Windows DLL loader (as opposed to dlopen on Cygwin, which is a
port of the Linux version) searches as follows:

1) the directory where the .exe lives;

2) certain Windows system directories;

3) the current directory;

4) PATH.

(In versions of Windows older than SP XP2, items 2 and 3 are reversed
by default; this was changed to avoid spoofing system libraries.)

Most native Windows programs depend on (1) and sometimes (2) (which is a
Bad Thing, you aren't supposed to put application-private DLLs into the
system directories, but people do); Cygwin depends heavily on (4).

-- 
Barry gules and argent of seven and six,        John Cowan
on a canton azure fifty molets of the second.   address@hidden
        --blazoning the U.S. flag               http://www.ccil.org/~cowan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]