From: Julian St.
Subject: CL-HTTP 70.23 on CMUCL 18c
Date: 
Message-ID: <5ry9iudsc5.fsf@blitz.comp.com>
Hello,

I just wanted to play around with CL-HTTP server, but compiling fails
on CMUCL 18c. Some web pages I found claim this to be a known bug, but
as there was obviously no development of CL-HTTP for a long time, no
patches are in sight.

Has somebody experiences with that issue?

The complete error message:

;; Loading #p"/usr/home/blitz/src/cl-http-70-23/cmucl/server/sysdcl.lisp".

Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
   #() is not of type (OR CONS
                          BASE-STRING
                          (MEMBER NIL :UNSPECIFIC :WILD)
                          COMMON-LISP::PATTERN)

Thanks in advance.

Regards,
  Julian St.

From: Pierre R. Mai
Subject: Re: CL-HTTP 70.23 on CMUCL 18c
Date: 
Message-ID: <87it9ydkrn.fsf@orion.bln.pmsf.de>
·········@gmx.net (Julian St.) writes:

> Has somebody experiences with that issue?
> 
> The complete error message:
> 
> ;; Loading #p"/usr/home/blitz/src/cl-http-70-23/cmucl/server/sysdcl.lisp".
> 
> Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
>    #() is not of type (OR CONS
>                           BASE-STRING
>                           (MEMBER NIL :UNSPECIFIC :WILD)
>                           COMMON-LISP::PATTERN)

This issue is caused by the very old version of MK-DEFSYSTEM that is
included in the CL-HTTP release.  If you replace the file
cmucl/defsystem.lisp with a current release of defsystem.lisp from
clocc.sourceforge.net (look in the defsystem-3.x directory of the CVS
repository[1]), and apply the following patch, this should tide you over
the build issues.  OTOH I haven't had luck with either 70.23, or the
devo-prerelease with current (i.e. post 18c) cmucl.  You might have
more luck with 18c...

Regs, Pierre.

Footnotes: 
[1]  The following URL should give you the defsystem.lisp file:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/clocc/clocc/src/defsystem-3.x/defsystem.lisp?rev=HEAD&content-type=text/plain


diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/client/sysdcl.lisp cl-http-70-23/cmucl/client/sysdcl.lisp
--- /mnt/cl-http-70-23/cmucl/client/sysdcl.lisp	Wed Dec 15 19:53:36 1999
+++ cl-http-70-23/cmucl/client/sysdcl.lisp	Thu Jan 17 20:46:22 2002
@@ -12,7 +12,7 @@
 
 (in-package "CL-USER")
 
-(defsystem cl-http-client
+(mk:defsystem cl-http-client
   :source-pathname "HTTP:"
   :components
   ("client;variables"			; Client variables
diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/html-parser/sysdcl.lisp cl-http-70-23/cmucl/html-parser/sysdcl.lisp
--- /mnt/cl-http-70-23/cmucl/html-parser/sysdcl.lisp	Sat Oct  4 17:01:36 1997
+++ cl-http-70-23/cmucl/html-parser/sysdcl.lisp	Thu Jan 17 20:47:54 2002
@@ -18,7 +18,7 @@
   (pushnew 'values  pcl::*non-variable-declarations*)
   (pushnew 'compile pcl::*defgeneric-times*))
 
-#+cmu17
+#+cmu
 (setf c:*suppress-values-declaration* t)
 
 (defvar *http-directory*
@@ -53,7 +53,7 @@
 	`(("*.*.*" ,(namestring (merge-pathnames "html-parser/v8/*.*.*"
 						 *http-directory*))))))
 
-(defsystem html-parser
+(mk:defsystem html-parser
   :source-pathname "HTML-PARSER:"
   :components
   ("packages"
diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/lambda-ir/sysdcl.lisp cl-http-70-23/cmucl/lambda-ir/sysdcl.lisp
--- /mnt/cl-http-70-23/cmucl/lambda-ir/sysdcl.lisp	Fri Nov 28 02:45:19 1997
+++ cl-http-70-23/cmucl/lambda-ir/sysdcl.lisp	Thu Jan 17 20:48:07 2002
@@ -1,6 +1,6 @@
 
 ;;;
-(defsystem lambda-ir
+(mk:defsystem lambda-ir
     :source-pathname "HTTP:"
     :components
     ("lambda-ir;package"
diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/proxy/sysdcl.lisp cl-http-70-23/cmucl/proxy/sysdcl.lisp
--- /mnt/cl-http-70-23/cmucl/proxy/sysdcl.lisp	Sun May 24 19:46:12 1998
+++ cl-http-70-23/cmucl/proxy/sysdcl.lisp	Thu Jan 17 20:48:15 2002
@@ -5,7 +5,7 @@
 
 (in-package :cl-user)
 
-(defsystem cl-http-proxy
+(mk:defsystem cl-http-proxy
     :source-pathname "HTTP:"
     :components
     ("proxy;utils"
diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/server/sysdcl.lisp cl-http-70-23/cmucl/server/sysdcl.lisp
--- /mnt/cl-http-70-23/cmucl/server/sysdcl.lisp	Thu Sep  9 22:17:18 1999
+++ cl-http-70-23/cmucl/server/sysdcl.lisp	Thu Jan 17 20:48:33 2002
@@ -2,7 +2,7 @@
 
 (in-package "CL-USER")
 
-(defsystem cl-http                          
+(mk:defsystem cl-http                          
   :source-pathname "HTTP:"
   :components
   ("cmucl;server;cmucl-patch"	; CMU CL patches.
@@ -99,7 +99,7 @@
       :source-pathname "cmucl;server;"
       :components ("precom"))))
 
-(defsystem cl-http-examples
+(mk:defsystem cl-http-examples
     :source-pathname "HTTP:examples;"
     :components
     ("configuration"	; server configuration file
diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/start.lisp cl-http-70-23/cmucl/start.lisp
--- /mnt/cl-http-70-23/cmucl/start.lisp	Thu Dec 16 21:31:34 1999
+++ cl-http-70-23/cmucl/start.lisp	Thu Jan 17 20:51:12 2002
@@ -96,52 +96,52 @@
 	   ((:and :external :macro)
 	    (declare (optimize (safety 2))))
 	   (:macro (declare (optimize (speed 0))))))
-	(compile-system 'cl-http)
+	(mk:compile-system 'cl-http)
 	(when (member :cl-http-client *cl-http-options*)
-	  (compile-system 'cl-http-client))
+	  (mk:compile-system 'cl-http-client))
 	(when (member :cl-http-proxy *cl-http-options*)
-	  (compile-system 'cl-http-proxy))
+	  (mk:compile-system 'cl-http-proxy))
 	(when (member :w4-web-walker *cl-http-options*)
-	  (compile-system 'w4-web-walker))
+	  (mk:compile-system 'w4-web-walker))
 	(when (member :lambda-ir *cl-http-options*)
-	  (compile-system 'lambda-ir))
+	  (mk:compile-system 'lambda-ir))
 	(when (member :cl-http-examples *cl-http-options*)
-	  (compile-system 'cl-http-examples))
+	  (mk:compile-system 'cl-http-examples))
 	(when (member :w4-web-walker-demo *cl-http-options*)
-	  (compile-system 'w4-web-walker-demo))))
+	  (mk:compile-system 'w4-web-walker-demo))))
       (t
-       (load-system 'cl-http
+       (mk:load-system 'cl-http
 		    :compile-during-load ()
 		    :load-source-if-no-binary t
 		    :bother-user-if-no-binary ())
        (when (member :cl-http-client *cl-http-options*)
-	 (load-system 'cl-http-client
+	 (mk:load-system 'cl-http-client
 		      :compile-during-load ()
 		      :load-source-if-no-binary t
 		      :bother-user-if-no-binary ()))
        (when (member :cl-http-proxy *cl-http-options*)
-	 (load-system 'cl-http-proxy
+	 (mk:load-system 'cl-http-proxy
 		      :compile-during-load ()
 		      :load-source-if-no-binary t
 		      :bother-user-if-no-binary ()))
        (when (member :w4-web-walker *cl-http-options*)
-	 (load-system 'w4-web-walker
+	 (mk:load-system 'w4-web-walker
 		      :compile-during-load ()
 		      :load-source-if-no-binary t
 		      :bother-user-if-no-binary ()))
        (when (member :lambda-ir *cl-http-options*)
-	 (load-system 'lambda-ir
+	 (mk:load-system 'lambda-ir
 		      :compile-during-load ()
 		      :load-source-if-no-binary t
 		      :bother-user-if-no-binary ()))
        (when (member :cl-http-examples *cl-http-options*)
-	 (load-system 'cl-http-examples
+	 (mk:load-system 'cl-http-examples
 		      :compile-during-load ()
 		      :load-source-if-no-binary t
 		      :bother-user-if-no-binary ()))
        (when (and (member :cl-http-examples *cl-http-options*)
 		  (member :w4-web-walker-demo *cl-http-options*))
-	 (load-system 'w4-web-walker-demo
+	 (mk:load-system 'w4-web-walker-demo
 		      :compile-during-load ()
 		      :load-source-if-no-binary t
 		      :bother-user-if-no-binary ()))))
diff -u -r -N -x *.err -x *.lbytef -x *.x86f /mnt/cl-http-70-23/cmucl/w4/sysdcl.lisp cl-http-70-23/cmucl/w4/sysdcl.lisp
--- /mnt/cl-http-70-23/cmucl/w4/sysdcl.lisp	Thu Jun 11 20:15:58 1998
+++ cl-http-70-23/cmucl/w4/sysdcl.lisp	Thu Jan 17 20:48:50 2002
@@ -4,7 +4,7 @@
 
 (in-package "CL-USER")
 
-(defsystem w4-web-walker
+(mk:defsystem w4-web-walker
   :source-pathname "HTTP:"
   :components
   ("client;w4-client"			; W4 client support methods
@@ -18,7 +18,7 @@
    "w4;actions"				; Action definitions
    "w4;activity"))			; Activity definitions
 
-(defsystem w4-web-walker-demo
+(mk:defsystem w4-web-walker-demo
   :source-pathname "HTTP:"
   :components
   ("examples;configuration"             ; Standard configuration


-- 
Pierre R. Mai <····@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein
From: Julian St.
Subject: Re: CL-HTTP 70.23 on CMUCL 18c
Date: 
Message-ID: <5relkkgb28.fsf@blitz.comp.com>
"Pierre R. Mai" <····@acm.org> writes:


[...]

> This issue is caused by the very old version of MK-DEFSYSTEM that is
> included in the CL-HTTP release.  If you replace the file
> cmucl/defsystem.lisp with a current release of defsystem.lisp from
> clocc.sourceforge.net (look in the defsystem-3.x directory of the CVS
> repository[1]), and apply the following patch, this should tide you over
> the build issues.  OTOH I haven't had luck with either 70.23, or the
> devo-prerelease with current (i.e. post 18c) cmucl.  You might have
> more luck with 18c...

[...]

Your patch file works. CMU CL doesn't like to compile cl-http, but it
runs it interpreted (it refuses to load smtp.lisp). And it
works.... somehow... CMU CL garbage collects and garbage collects and
thus the output is really slow.  But at least I got a little idea of
what cl-http is/was like. Perhaps one should investigate whether one
could "repair" it, at least to be useable for lisp hackers. :)

I doubt there is another free Common Lisp HTTP server out there, or is
this wrong?

Regards, 
  Julian St.
From: Bill Clementson
Subject: Re: CL-HTTP 70.23 on CMUCL 18c
Date: 
Message-ID: <wkhepgnbl4.fsf@attbi.com>
·········@gmx.net (Julian St.) writes:

> I doubt there is another free Common Lisp HTTP server out there, or is
> this wrong?

Have you looked at any of the alternatives listed at:
http://ww.telent.net/cliki/Web
-- 
Bill Clementson
From: Johannes =?iso-8859-15?q?Gr=F8dem?=
Subject: Re: CL-HTTP 70.23 on CMUCL 18c
Date: 
Message-ID: <lzit9wevr0.fsf@bzzzt.fix.no>
* ·········@gmx.net (Julian St.):

> I doubt there is another free Common Lisp HTTP server out there, or is
> this wrong?

AllegroServe.  There is a port to CMUCL, too.  It's in CCLAN, in case
you're a Debian-user.

http://opensource.franz.com/
http://sourceforge.net/projects/portableaserve/
http://cclan.sourceforge.net/

-- 
johs
From: Julian St.
Subject: Re: CL-HTTP 70.23 on CMUCL 18c
Date: 
Message-ID: <5rsn8y2woq.fsf@blitz.comp.com>
"Johannes Gr�dem" <··@kopkillah.com> writes:

> * ·········@gmx.net (Julian St.):
> 
> > I doubt there is another free Common Lisp HTTP server out there, or is
> > this wrong?
> 
> AllegroServe.  There is a port to CMUCL, too.  It's in CCLAN, in case
> you're a Debian-user.
> 
> http://opensource.franz.com/
> http://sourceforge.net/projects/portableaserve/
> http://cclan.sourceforge.net/

Thanks for the links. But I do not use Linux. I do not believe the
hype. ;-) (Smiley set intentionally to avoid flame war) I will
investigate which server fits my needs. But at the moment Araneida
looks most interesting.

Regards,
  Julian St.