From: Erann Gat
Subject: Need help with CMUCL and Debian
Date: 
Message-ID: <gNOSPAMat-380D04.18235529052004@nntp1.jpl.nasa.gov>
I installed CMUCL on my Debian system thusly:

  apt-get install cmucl

It went swimmingly, but I got version 18c, which I gather is rather 
hopelessly out of date.  In particular, the FFI in that version does not 
appear to work as advertised.  (It complains that "int" and "void" are 
unknown alien types.)

Is there a Debian package for a more recent version of CMUCL?  How do I 
access it?  I tried various things, e.g.:

  apt-get upgrade cmucl -t '18e'

but to no avail.

Thanks.
E.

From: Kevin M. Rosenberg
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <slrncbil3n.rf0.kevin@tiger.med-info.com>
On 2004-05-30, Erann Gat <·········@flownet.com> wrote:
> Is there a Debian package for a more recent version of CMUCL?  How do I 
> access it?  I tried various things, e.g.:

The cmucl debian packages for testing and unstable will not work on
woody due to the differences in glibc.

For a development system, I'd recommend running testing (sarge) or
unstable (sid). If you're fairly new to Debian, I think sarge is a
better choice. Sarge is believed by many Debian developers to be
released in the next 6 months and is fairly stable at the moment.

-- 
       Kevin Rosenberg        |  .''`.  ** Debian GNU/Linux **
  http://b9.com/debian.html   | : :' :      The  universal
  GPG signed and encrypted    | `. `'      Operating System
     messages accepted.       |   `-    http://www.debian.org/
From: David Steuber
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <877jutkfnh.fsf@david-steuber.com>
"Kevin M. Rosenberg" <·····@news.swcp.com> writes:

> On 2004-05-30, Erann Gat <·········@flownet.com> wrote:
> > Is there a Debian package for a more recent version of CMUCL?  How do I 
> > access it?  I tried various things, e.g.:
> 
> The cmucl debian packages for testing and unstable will not work on
> woody due to the differences in glibc.
> 
> For a development system, I'd recommend running testing (sarge) or
> unstable (sid). If you're fairly new to Debian, I think sarge is a
> better choice. Sarge is believed by many Debian developers to be
> released in the next 6 months and is fairly stable at the moment.

I run Debian/testing (sarge) on my webserver.  I've not often had
things break on me with the unstable branch, but it has happened and
it always hurt.  So far, testing has never done that to me.  I think
with the suitable disclaimers and caveats, the testing branch is
suitable for production use.

The main caveat I think would be security related.  From what I
understand from the Debian docs, security patches are priority items
for Woody, but not for testing or unstable.  So I don't know how long
it would take for a fix to an ssh vulnerability to make it into the
testing branch for update/dist-upgrade.

-- 
An ideal world is left as an excercise to the reader.
   --- Paul Graham, On Lisp 8.1
From: Johannes Groedem
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <lz7juuekku.fsf@unity.copyleft.no>
* Erann Gat <·········@flownet.com>:

> Is there a Debian package for a more recent version of CMUCL?  How do I 
> access it?  I tried various things, e.g.:

There is, but it looks like you're using Debian-stable, which is very
stable in the sense that it doesn't change often (normally a good
thing), so CMUCL 18c is probably the newest version there.  If you
want to, you can try to install CMUCL from Debian-unstable.  This
should work, but it may cause a heap of other packages from
Debian-unstable to be installed, which might not be what you want.

Anyway, try "apt-get install -t unstable cmucl" and see what happens.
I think there is a prompt asking you if you want to continue, and it
also shows you what other packages might be dragged in to resolve
dependencies.

(Note that Debian-unstable doesn't mean that it's unstable in the
sense that it will install alpha-software that will crash your
machine, it just means that the distribution is changing a lot.  (And
you get the newest releases of software packages, generally.))

-- 
Johannes Gr�dem <OpenPGP: 5055654C>
From: Erann Gat
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <gNOSPAMat-D954F9.20070329052004@nntp1.jpl.nasa.gov>
In article <··············@unity.copyleft.no>,
 Johannes Groedem <······@ifi.uio.no> wrote:

> * Erann Gat <·········@flownet.com>:
> 
> > Is there a Debian package for a more recent version of CMUCL?  How do I 
> > access it?  I tried various things, e.g.:
> 
> There is, but it looks like you're using Debian-stable, which is very
> stable in the sense that it doesn't change often (normally a good
> thing), so CMUCL 18c is probably the newest version there.  If you
> want to, you can try to install CMUCL from Debian-unstable.  This
> should work, but it may cause a heap of other packages from
> Debian-unstable to be installed, which might not be what you want.

Well, what I really want is the FFI to work.  This is my real problem:

* (def-alien-routine "foo" void)

FOO
* (foo)

In: LAMBDA NIL
  (WITH-ALIEN ((FOO #'VOID :EXTERN "foo")) (VALUES (ALIEN-FUNCALL FOO)))
Error: (during macroexpansion)

Error in function ALIEN::%PARSE-ALIEN-TYPE:  Unknown alien type: VOID


(Actually, what I *really* really want is a multi-threaded Lisp that 
runs on x86-Linux that can talk to MySQL.  (Note that free is not one of 
my criteria, though all else being equal I'll take free over non.)  I 
can't get any of the open-source SQL systems to work.  I figured all of 
the problems I'm having might go away by upgrading to the latest 
version.)


> Anyway, try "apt-get install -t unstable cmucl" and see what happens.

clm:~# apt-get install -t unstable cmucl
Reading Package Lists... Done
Building Dependency Tree... Done
Sorry, cmucl is already the newest version.
0 packages upgraded, 0 newly installed, 0 to remove and 0  not upgraded.
clm:~# 


E.
From: Thomas F. Burdick
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <xcvlljatqeb.fsf@famine.OCF.Berkeley.EDU>
Erann Gat <·········@flownet.com> writes:

> Well, what I really want is the FFI to work.

Alien definately works in 18c; I'm pretty sure that an app that I
wrote with 18c, making moderately heavy use of alien, is still
running.

> This is my real problem:
> 
> * (def-alien-routine "foo" void)
> 
> FOO
> * (foo)
> 
> In: LAMBDA NIL
>   (WITH-ALIEN ((FOO #'VOID :EXTERN "foo")) (VALUES (ALIEN-FUNCALL FOO)))
> Error: (during macroexpansion)
> 
> Error in function ALIEN::%PARSE-ALIEN-TYPE:  Unknown alien type: VOID

In CMUCL, things are spread out across quite a few packages (and even
more so in SBCL).  If you're doing Alien stuff, you should use both
the ALIEN and C-CALL packages:

  CMU Common Lisp 18c, Built 2000-11-28, running on famine.OCF.Berkeley.EDU
  Send questions and bug reports to your local CMU CL maintainer, or to ···@xxx and ···@xxx respectively.
  Loaded subsystems:
      Python 1.0, target SPARCstation/Solaris 2
      CLOS based on PCL version:  September 16 92 PCL (f)
  * (use-package :alien)
  
  T
  * (use-package :c-call)
  
  T
  * (load-foreign "example.o")
  ;;; Running /usr/ccs/bin/ld...
  ;;; Done.
  NIL
  * (def-alien-routine "test" void)
  
  TEST
  * (funcall *)
  Compiling LAMBDA (#:G843): 
  Compiling Top-Level Form: 
  
  *** C here ***
  
  NIL

Maybe CL-USER should use them both by default (instead of just EXT,
which exports some of the Alien interface), but for real work you'll
be working in your own package anyway.

> (Actually, what I *really* really want is a multi-threaded Lisp that 
> runs on x86-Linux that can talk to MySQL.  (Note that free is not one of 
> my criteria, though all else being equal I'll take free over non.)  I 
> can't get any of the open-source SQL systems to work.  I figured all of 
> the problems I'm having might go away by upgrading to the latest 
> version.)

Hmm, I'm surprised they don't work with 18c -- it's old, but not
ancient.  If you don't update your Debian distro, you could always
just install from the 18e tarball; this is what I do, even on debian.
I untar it in /usr/local/packages/cmucl-xxx, then use a shell script
to launch the lisp:

  [···@famine]~/tmp$ which cmucl
  /opt/local/bin/cmucl
  [···@famine]~/tmp$ cat /opt/local/bin/cmucl
  #!/bin/sh
  
  CMUCLLIB=/opt/local/packages/cmucl-18d/lib
  CMUCL_EMPTYFILE=/usr/tmp/empty
  export CMUCLLIB CMUCL_EMPTYFILE

  exec /opt/local/packages/cmucl-18d/bin/lisp ··@"

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Erann Gat
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <gNOSPAMat-15AAA9.23043829052004@nntp1.jpl.nasa.gov>
In article <···············@famine.OCF.Berkeley.EDU>,
 ···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) wrote:

> In CMUCL, things are spread out across quite a few packages (and even
> more so in SBCL).  If you're doing Alien stuff, you should use both
> the ALIEN and C-CALL packages:

Thanks!

> > (Actually, what I *really* really want is a multi-threaded Lisp that 
> > runs on x86-Linux that can talk to MySQL.  (Note that free is not one of 
> > my criteria, though all else being equal I'll take free over non.)  I 
> > can't get any of the open-source SQL systems to work.  I figured all of 
> > the problems I'm having might go away by upgrading to the latest 
> > version.)
> 
> Hmm, I'm surprised they don't work with 18c -- it's old, but not
> ancient.

I've started another thread detailing the problem I'm having with CLSQL.

E.
From: Christophe Rhodes
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <sqy8naqsal.fsf@cam.ac.uk>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> In CMUCL, things are spread out across quite a few packages (and even
> more so in SBCL).  If you're doing Alien stuff, you should use both
> the ALIEN and C-CALL packages:

(probably not of terribly wide interest, but) in this case, this is
backwards.  SBCL has no equivalent of the C-CALL package; all of the
alien functionality, including the C interface, is in the SB-ALIEN
pacakge.

Christophe
-- 
http://www-jcsu.jesus.cam.ac.uk/~csr21/       +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%")    (pprint #36rJesusCollegeCambridge)
From: Thomas F. Burdick
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <xcvfz9hu69f.fsf@famine.OCF.Berkeley.EDU>
Christophe Rhodes <·····@cam.ac.uk> writes:

> ···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
> 
> > In CMUCL, things are spread out across quite a few packages (and even
> > more so in SBCL).  If you're doing Alien stuff, you should use both
> > the ALIEN and C-CALL packages:
> 
> (probably not of terribly wide interest, but) in this case, this is
> backwards.  SBCL has no equivalent of the C-CALL package; all of the
> alien functionality, including the C interface, is in the SB-ALIEN
> pacakge.

(Shoot, I was hoping no one would call me on that).  Yeah, after I
sent that message, I thought of this.  It does make sense to merge
them, what with the unlikelihood of anyone implementing Alien for
another language, and one with names that conflict with C's, to boot.

Personally, I'm a fan of the many-packages approach of the CMU-derived
Lisps.  But it's definately a point of potential culture shock for
anyone coming from the land of MCL, where almost everything seems to
be in the CCL package.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Alexey Dejneka
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <m3oeo6h4b8.fsf@comail.ru>
Erann Gat <·········@flownet.com> writes:

> * (def-alien-routine "foo" void)
> 
> FOO
> * (foo)
> 
> In: LAMBDA NIL
>   (WITH-ALIEN ((FOO #'VOID :EXTERN "foo")) (VALUES (ALIEN-FUNCALL FOO)))
> Error: (during macroexpansion)
> 
> Error in function ALIEN::%PARSE-ALIEN-TYPE:  Unknown alien type: VOID

Try (def-alien-routine "foo" c-call:void).

-- 
Regards,
Alexey Dejneka

"Alas, the spheres of truth are less transparent than those of
illusion." -- L.E.J. Brouwer
From: Erann Gat
Subject: Re: Need help with CMUCL and Debian
Date: 
Message-ID: <gNOSPAMat-C5EBE8.22541329052004@nntp1.jpl.nasa.gov>
In article <··············@comail.ru>,
 Alexey Dejneka <········@comail.ru> wrote:

> Erann Gat <·········@flownet.com> writes:
> 
> > * (def-alien-routine "foo" void)
> > 
> > FOO
> > * (foo)
> > 
> > In: LAMBDA NIL
> >   (WITH-ALIEN ((FOO #'VOID :EXTERN "foo")) (VALUES (ALIEN-FUNCALL FOO)))
> > Error: (during macroexpansion)
> > 
> > Error in function ALIEN::%PARSE-ALIEN-TYPE:  Unknown alien type: VOID
> 
> Try (def-alien-routine "foo" c-call:void).

Ah!  Thanks!

E.