From: Mark Carter
Subject: asdf on windows: soft links problem
Date: 
Message-ID: <2vhr1sF2l6nbsU1@uni-berlin.de>
The Standard Operating Procedure for ASDF is that there is a soft link 
from an .asd file in the systems directory to its source directory. The 
problem is that Windows XP doesn't have soft links (it has "shortcuts", 
but those are not the same thing).

Is there a convenient solution to this problem; preferrably something 
that doesn't involve a whole edifice of plumbing?

From: Steven E. Harris
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <jk4oei487ap.fsf@W003275.na.alarismed.com>
Mark Carter <··@privacy.net> writes:

> Is there a convenient solution to this problem; preferrably
> something that doesn't involve a whole edifice of plumbing?

Just to be sure, are we considering Cygwin such an edifice?

-- 
Steven E. Harris
From: Edi Weitz
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <ur7n05dln.fsf@agharta.de>
On Thu, 11 Nov 2004 12:22:38 -0800, "Steven E. Harris" <···@panix.com> wrote:

> Mark Carter <··@privacy.net> writes:
>
>> Is there a convenient solution to this problem; preferrably
>> something that doesn't involve a whole edifice of plumbing?
>
> Just to be sure, are we considering Cygwin such an edifice?

Cygwin won't help much if you're using a "native" Win32 Lisp like
LispWorks or AllegroCL. Cygwin can create symbolic links but these
aren't recognized by other applications.

Edi.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Mark Carter
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <2vi4g2F2l7c8gU1@uni-berlin.de>
Steven E. Harris wrote:
> Mark Carter <··@privacy.net> writes:
> 
> 
>>Is there a convenient solution to this problem; preferrably
>>something that doesn't involve a whole edifice of plumbing?
> 
> 
> Just to be sure, are we considering Cygwin such an edifice?

Actually, I had kinda dismissed Cygwin out of hand due my preconceptions 
as to size, deployability and licensing issues.

I've had a quick shufty at the Cygwin site, and it appears that it's OK 
to distribute their DLL providing the software is Open Source. So that 
would make it OK for me to deliver freeware and internal stuff. I can't 
see the size of the DLL offhand (which is at least has to be considered 
it I want to make stuff available over the net).

I've tried Cygwin on a few occasions before, but for some reason or 
other, it never managed to stay on my hard drive. By rights, of course, 
it ought to be quite attractive to people who like UNIX but have to 
swallow Windows. Maybe it's something I should re-evaluate.
From: John Thingstad
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <opshc073kepqzri1@mjolner.upc.no>
On Thu, 11 Nov 2004 21:39:36 +0000, Mark Carter <··@privacy.net> wrote:

>
> I've tried Cygwin on a few occasions before, but for some reason or  
> other, it never managed to stay on my hard drive. By rights, of course,  
> it ought to be quite attractive to people who like UNIX but have to  
> swallow Windows. Maybe it's something I should re-evaluate.

I have used Cygwin on all Windows machines I  have used for years.
It basically delivers on making available Unix command line utilities.
They are painfully slow but it seems to work.
Cygwin also provides a Linux compatibility layer which simplifies
getting Linux applications to run under window.
Many can run right out of the box.
Command line/console utilities that is.
You can also get a X-server but I find that excessive.
It uses up 612 Mb of my hard drive so it's not small.
Still, given that I have a 40 GB disc, I really don't care.
A broadband conection certainly helps if you want to download it.

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Edi Weitz
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <ulld86uke.fsf@agharta.de>
On Thu, 11 Nov 2004 18:58:26 +0000, Mark Carter <··@privacy.net> wrote:

> The Standard Operating Procedure for ASDF is that there is a soft
> link from an .asd file in the systems directory to its source
> directory. The problem is that Windows XP doesn't have soft links
> (it has "shortcuts", but those are not the same thing).
>
> Is there a convenient solution to this problem; preferrably
> something that doesn't involve a whole edifice of plumbing?

There are several ways, I think. None of them is as convenient as the
Unix way, though.

1. With newer versions of Windows on NTFS file systems you can create
   "hard links" with tools like these:

     <http://hermann.schinagl.tripod.com/nt/hardlinkshellext/hardlinkshellext.html>
     <http://www.rekenwonder.com/linkmagic.htm>

2. I have something like this in my LispWorks initialization file

     #+:asdf
     (dolist (dir-candidate (directory "c:/home/lisp/*"))
       (when (lw:file-directory-p dir-candidate)
         (let ((asd-candidate (merge-pathnames "*.asd" dir-candidate)))
           (when (directory asd-candidate)
             (push dir-candidate asdf:*central-registry*)))))

   and obviously put all libraries into the c:/home/lisp/ directory.

3. I describe a similar approach here:

     <http://weitz.de/asdf-install/#load-asdf-install>

2 and 3 suffer from the fact that they won't automatically find the
newest version if you have libraries foo-1.3 and foo-1.4
installed. But then again, if you use (soft or hard) links you have to
update them, too.

HTH,
Edi.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Mark Carter
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <2vi2kjF2kp5beU1@uni-berlin.de>
Edi Weitz wrote:
> On Thu, 11 Nov 2004 18:58:26 +0000, Mark Carter <··@privacy.net> wrote:
> 
> 
>>The Standard Operating Procedure for ASDF is that there is a soft
>>link from an .asd file in the systems directory to its source
>>directory. The problem is that Windows XP doesn't have soft links
>>(it has "shortcuts", but those are not the same thing).
>>

> 1. With newer versions of Windows on NTFS file systems you can create
>    "hard links" with tools like these:

Aha! Although I didn't mention it, I looked into the hard link option. 
Unfortunately I'm running XP on FAT rather than NTFS. It helps Linux.


> 3. I describe a similar approach here:
> 
>      <http://weitz.de/asdf-install/#load-asdf-install>

Thanks.

I discovered that a combination of pushnew and operate works.

I am trying to get cl-smtp working just now. I got it working on my 
Debian system in a snap. Windows is proving a much more tiring 
proposition, though.

I'm thinking I'd /eventually/ like to put together a Lisp distribution 
of my own, based on the integration of other components. My hope is to 
give Lispers, especially newbies like me, a more pleasant out-of-the-box 
experience.

I've had a stab at getting a GUI up-and-running. Gratifyingly, at least 
I've got /something/ working. An rough outline of how I did it is 
available here:
http://www.markcarter.me.uk/computing/lisp/apps.htm
Kudos go to Peter van Eerten for gtk-server:
http://www.turtle.dds.nl/gtk-server/index.html
It's how I got CLISP to interact with GTK. Works on both Linux and XP!


I wrote my first macro a few days ago :) , although I must admit that 
there was an element of Lady Luck in getting it to work. Monkeys bashing 
typewriters, and all that. For the curious, here it is:

(defmacro mset (sym val)
   (princ sym)
   (princ ",")
   `(progn
      (setq ,sym ,val)
      (princ ,sym)
      (terpri)))

Basically, I use it as part of an equation-checker for a maths model 
that I wrote in VB6. The idea is that I can write something like:
	(mset srb1 (+ (* b1 si) (* (- 1 b1) sf)))
and Lisp calculates the value, and logs it.

The equivalent in VB6 is:
     SRB1 = B1 * SI + (1 - B1) * SF
     WriteLog "SRB1", SRB1
It's not very nice though, because you can see that the variable SRB1 
has to be written out 3 times. I have to do some human compiling on 
behalf of the language. In Lisp, I just write it down once. My mind 
flies at the other possibilities that could be achieved, like almost 
instant serialisation and deserialisation of these values.

Maybe that's not too impressive for regular Lispers, but I'm quite 
chuffed with my efforts.

Too bad there are no really great free CL implementations. My bosses 
would never swing for the commercial offerings; and neither would I. I'd 
also like to be able to write internal applications and distibute 
freeware apps, so I have to go with the Open Source solutions.
From: Peter Seibel
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <m3wtws3x4f.fsf@javamonkey.com>
Mark Carter <··@privacy.net> writes:

> I'm thinking I'd /eventually/ like to put together a Lisp
> distribution of my own, based on the integration of other
> components. My hope is to give Lispers, especially newbies like me,
> a more pleasant out-of-the-box experience.

You should check out Lisp in a Box at

  <http://www.common-lisp.net/project/lispbox/>

Mathew Danish did the Windows and OS X versions and Mikel Evins has
built an OS X version (not shown on that page). We're doing a bit of
work to try to merge the code bases and I'm planing to distribute it
with my book.

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Matthew Danish
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <87k6smrghq.fsf@mapcar.org>
Peter Seibel <·····@javamonkey.com> writes:
> Mark Carter <··@privacy.net> writes:
> > I'm thinking I'd /eventually/ like to put together a Lisp
> > distribution of my own, based on the integration of other
> > components. My hope is to give Lispers, especially newbies like me,
> > a more pleasant out-of-the-box experience.
> 
> You should check out Lisp in a Box at
> 
>   <http://www.common-lisp.net/project/lispbox/>

In addition, LIAB includes a solution to Mark Carter's original
problem of installing libraries in Windows.  It uses something I
cooked up a while back; it lets you dump libraries in a directory and
will search for the .asd files when needed.  I seem to have neglected
to document this on the new LIAB website.

See http://www.mapcar.org/~mrd/win-clc/

-- 
;; Matthew Danish -- user: mrd domain: cmu.edu
;; OpenPGP public key: C24B6010 on keyring.debian.org
From: Yuji Minejima
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <pan.2004.11.12.03.21.31.780750@nifty.ne.jp>
On Thu, 11 Nov 2004 21:07:54 +0000, Mark Carter wrote:

> I've had a stab at getting a GUI up-and-running. Gratifyingly, at least 
> I've got /something/ working. An rough outline of how I did it is 
> available here:
> http://www.markcarter.me.uk/computing/lisp/apps.htm
> Kudos go to Peter van Eerten for gtk-server:
> http://www.turtle.dds.nl/gtk-server/index.html
> It's how I got CLISP to interact with GTK. Works on both Linux and XP!

Hi,
I'm very much interested in the topic. I hadn't known gtk-server before
you mentioned it. Thanks for the interesting info.

I'm especially keen about learning how you used glade with gtk-server.

Although I'll periodically check your web site for any updates, how about
announcing the site on c.l.l when you finish it, because I guess there're
people out there like me who are interested in this topic, that is,
building GUI applications written in Lisp.

Yuji.
From: Mark Carter
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <2vjnvkF2lhmciU1@uni-berlin.de>
Yuji Minejima wrote:

> I'm very much interested in the topic. I hadn't known gtk-server before
> you mentioned it. Thanks for the interesting info.

gtk-server seemed to me a very nifty idea. The guy got it working with 
bask, awk, a whole bunch of stuff. There's a demo for CLISP. Basically, 
anything that can connect to stdin and stdout or tcp ought to be useable 
with gtk-server.

I had a quick look at cl-gtk, but with a user manual like:

foo.1 gorbag
asdf asdf
foo.1.1 barf
asdf asdf
foo.2 Real Soon Now


... I thought that it needed just a wee bit of time to mature. Also, the 
project seems to have been largely abandoned.

> I'm especially keen about learning how you used glade with gtk-server.

That would be good! I don't think that they could connect directly. 
Glade produces an XML file, and I noticed that xmls (or something 
similar) was a nice simple lisp library to convert from XML to a lisp 
list. The theory would, then be that there'd be a nice simple bit of 
lisp functionality to create the interface from the list. The annoying 
thing, though, is that the XML produced by the Linux and Windows version 
are different.

So, it all seems doable. It's mostly a question of getting it all 
integrated together. The plus side to this is what ones ends up with a 
full-featured GUI that is both Windows and Linux compatable. I would 
have thought that this was something that would be a great deal of 
interest to many people.
From: Bulent Murtezaoglu
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <87r7n0up92.fsf@p4.internal>
>>>>> "EW" == Edi Weitz <········@agharta.de> writes:

    EW> 1. With newer versions of Windows on NTFS file systems you can
    EW> create "hard links" with tools like these:  [...]

Wasn't there some talk about symbolic links being 'invented' by MS
back in 99 or 2000?  I tried to look it up but the original press
release has disappeared (folks here with a U of Rochester past might
enjoy googling about who exactly is said to have invented them for MS.)

I have nothing to add for a pure windows environment, but for the case 
where windows is mounting a SMB 'share' through samba on a *nix host 
symbolic links on the host work fine.

cheers,

BM
From: Christopher C. Stacy
Subject: Re: asdf on windows: soft links problem
Date: 
Message-ID: <ud5yk6m4u.fsf@news.dtpq.com>
Bulent Murtezaoglu <··@acm.org> writes:

> >>>>> "EW" == Edi Weitz <········@agharta.de> writes:
> 
>     EW> 1. With newer versions of Windows on NTFS file systems you can
>     EW> create "hard links" with tools like these:  [...]
> 
> Wasn't there some talk about symbolic links being 'invented' by MS
> back in 99 or 2000? 

I am pretty sure that symbolic links were invented on ITS.