From: Josef W. <jw...@ra...> - 2009-09-18 13:10:23
|
Hello, I am new to clisp and are trying to get my feet wet. I have read the FAQ (appendix A) and are looking for more information (specifically, how to install asdf-install) now. My first attempt was to search through the mailing list archive. But I can not figure how to search the archives on http://sourceforge.net/mailarchive/forum.php?forum_name=clisp-list There is only one entry for search keywords, and this searches for sourceforge projects instead of the mailing list. Any hints? Then, I'd try to search through the http://clisp.cons.org/impnotes/ but this is split into lots of small documents. Anybody knows where to find this information as a single html page, so it can be searched and/or read offline? Thanks! |
From: Sam S. <sd...@gn...> - 2009-09-18 14:56:31
|
Hi, Josef Wolf wrote: > I am new to clisp and are trying to get my feet wet. Welcome! Are you new to CL too or just to the CLISP implementation? > (specifically, how to > install asdf-install) Well, you need to ask the asdf-install maintainers about that. Chances are, you need to compile the file(s) and add their location to *load-paths* or load them from your ~/.clisprc. > My first attempt was to search through the mailing list archive. > But I can not figure how to search the archives on > http://sourceforge.net/mailarchive/forum.php?forum_name=clisp-list > There is only one entry for search keywords, and this searches for > sourceforge projects instead of the mailing list. Any hints? Out homepage http://clisp.cons.org/ has search windows for clisp mailing lists (both SF archives and gmain) as well as the clisp implementation notes. > Then, I'd try to search through the http://clisp.cons.org/impnotes/ > but this is split into lots of small documents. Anybody knows where > to find this information as a single html page, so it can be searched > and/or read offline? Our homepage links to the clisp implementation notes both as a single page ("CLISP Implementation Notes" points to http://clisp.cons.org/impnotes.html) and as many pages ("[TOC]" points to http://clisp.cons.org/impnotes/). Sam. |
From: Josef W. <jw...@ra...> - 2009-09-18 21:30:26
|
On Fri, Sep 18, 2009 at 09:54:01AM -0400, Sam Steingold wrote: > Josef Wolf wrote: >> I am new to clisp and are trying to get my feet wet. > Welcome! Thanks! > Are you new to CL too or just to the CLISP implementation? Please assume I am new to both. I've read Paul Graham's "ANSI common lisp" and Peter Seibel's "Practical Common Lisp" a couple of years ago. I also started to read SICP, but due to lack of time, I did not get very far. I've even written a sudoku-solver in CL about two years ago. It solved all the "easy" and "hard" sudokus I threw at it, but it failed on some "devil" sudokus. and I never found the time to analyze the cause of the failure. Forgot most of everything in the meantime. Anyhow, I still don't have the feeling that I've "got it". OK, the sudoku code works, but it is not exactly what I would call "elegant". AFAIR Paul Graham said: it needs a real non-trivial project if you want to learn a new language. My sudoku-solver was not a real project. It took only a couple of evenings, and was kicked in the trash-bin after that. That's not exactly a "real non-trivial" project. >> (specifically, how to install asdf-install) > Well, you need to ask the asdf-install maintainers about that. > Chances are, you need to compile the file(s) and add their location to > *load-paths* or load them from your ~/.clisprc. Well, I'm trying to follow the steps described in http://www.cliki.net/FirstStepsWithAsdfAndAsdfInstall but it did not work as described. But before bothering the list, I thought I'd search the archives and the docs for similar problems. >> My first attempt was to search through the mailing list archive. >> But I can not figure how to search the archives on >> http://sourceforge.net/mailarchive/forum.php?forum_name=clisp-list >> There is only one entry for search keywords, and this searches for >> sourceforge projects instead of the mailing list. Any hints? > > Out homepage http://clisp.cons.org/ has search windows for clisp mailing > lists (both SF archives and gmain) as well as the clisp implementation > notes. Ah, thanks for the hint! But how can I see a complete topic thread? >> Then, I'd try to search through the http://clisp.cons.org/impnotes/ >> but this is split into lots of small documents. Anybody knows where >> to find this information as a single html page, so it can be searched >> and/or read offline? > > Our homepage links to the clisp implementation notes both as a single page > ("CLISP Implementation Notes" points to > http://clisp.cons.org/impnotes.html) and as many pages ("[TOC]" points to > http://clisp.cons.org/impnotes/). Thanks for the pointer! Please, would it be possible to mention this fine distinction in the FAQ? |
From: Sam S. <sd...@gn...> - 2009-09-21 14:22:17
|
Josef Wolf wrote: > > Well, I'm trying to follow the steps described in > http://www.cliki.net/FirstStepsWithAsdfAndAsdfInstall > but it did not work as described. But before bothering the list, I thought > I'd search the archives and the docs for similar problems. it did for me. I got asdf like this: git clone http://common-lisp.net/project/asdf/asdf.git and asdf-install like this: darcs get http://common-lisp.net/project/asdf-install here is my .clisprc: =========================================================== (defparameter *cl-dir* (merge-pathnames "src/cl/" (user-homedir-pathname))) (load (merge-pathnames "asdf/asdf" *cl-dir*)) (push (merge-pathnames "registry/" *cl-dir*) asdf:*central-registry*) (asdf:oos 'asdf:load-op :asdf-install) (let* ((asdfi (merge-pathnames "asdfi/" *cl-dir*)) (reg (merge-pathnames "registry/" asdfi))) (setq asdf-install:*locations* `((,asdfi ,reg "standard location"))) (push reg asdf:*central-registry*)) =========================================================== here is what I see: ;; Loading file /home/sds/.clisprc ... ;; Loading file /home/sds/src/cl/asdf/asdf.fas ... ;; Loaded file /home/sds/src/cl/asdf/asdf.fas ; loading system definition from /home/sds/src/cl/registry/asdf-install.asd into #<PACKAGE ASDF0> ;; Loading file /home/sds/src/cl/registry/asdf-install.asd ... ; registering #<SYSTEM ASDF-INSTALL #x00033AA12B50> as ASDF-INSTALL ;; Loaded file /home/sds/src/cl/registry/asdf-install.asd ;; Loading file /home/sds/src/cl/asdf-install/asdf-install/defpackage.fas ... ;; Loaded file /home/sds/src/cl/asdf-install/asdf-install/defpackage.fas ;; Loading file /home/sds/src/cl/asdf-install/asdf-install/split-sequence.fas ... ;; Loaded file /home/sds/src/cl/asdf-install/asdf-install/split-sequence.fas ;; Loading file /home/sds/src/cl/asdf-install/asdf-install/port.fas ... ;; Loaded file /home/sds/src/cl/asdf-install/asdf-install/port.fas ;; Loading file /home/sds/src/cl/asdf-install/asdf-install/variables.fas ... ;; Loaded file /home/sds/src/cl/asdf-install/asdf-install/variables.fas ;; Loading file /home/sds/src/cl/asdf-install/asdf-install/conditions.fas ... ;; Loaded file /home/sds/src/cl/asdf-install/asdf-install/conditions.fas ;; Loading file /home/sds/src/cl/asdf-install/asdf-install/installer.fas ... WARNING: The generic function #<STANDARD-GENERIC-FUNCTION ASDF:FIND-COMPONENT> is being modified, but has already been called. ;; Loaded file /home/sds/src/cl/asdf-install/asdf-install/installer.fas ;;; ASDF-Install version 0.6.14 0 errors, 0 warnings ;; Loaded file /home/sds/.clisprc [1]> (asdf-install:install :xmls) Install where? 1) standard location: System in /home/sds/src/cl/asdfi/registry/ Files in /home/sds/src/cl/asdfi/ 0) Abort installation. --> 1 ;;; ASDF-INSTALL: Downloading 58339 bytes from http://common-lisp.net/project/xmls/xmls-1.2.tar.gz to /home/sds/asdf-install-0.asdf-install-tmp ... ;;; ASDF-INSTALL: Downloading 189 bytes from http://common-lisp.net/project/xmls/xmls-1.2.tar.gz.asc to /home/sds/asdf-install-1.asdf-install-tmp ... ;;; ASDF-INSTALL: Installing /home/sds/asdf-install-0.asdf-install-tmp in /home/sds/src/cl/asdfi/, /home/sds/src/cl/asdfi/registry/ "ln -s \"/home/sds/src/cl/asdfi/xmls-1.2/xmls.asd\" \"/home/sds/src/cl/asdfi/registry/xmls.asd\"" ; loading system definition from /home/sds/src/cl/asdfi/xmls-1.2/xmls.asd into #<PACKAGE ASDF0> ;; Loading file /home/sds/src/cl/asdfi/xmls-1.2/xmls.asd ... ; registering #<SYSTEM :XMLS #x00033AA1D850> as XMLS ;; Loaded file /home/sds/src/cl/asdfi/xmls-1.2/xmls.asd ;; Compiling file /home/sds/src/cl/asdfi/xmls-1.2/xmls.lisp ... ;; Wrote file /home/sds/src/cl/asdfi/xmls-1.2/xmls.fas ;; Loading file /home/sds/src/cl/asdfi/xmls-1.2/xmls.fas ... ;; Loaded file /home/sds/src/cl/asdfi/xmls-1.2/xmls.fas 0 errors, 0 warnings (ASDF-INSTALL::XMLS) [2]> (asdf:oos 'asdf:load-op :xmls) 0 errors, 0 warnings #<ASDF:LOAD-OP NIL #x00033AA88298> [3]> (do-external-symbols (s :xmls) (print s)) XMLS:NODE-CHILDREN XMLS:NODE-ATTRS XMLS:TOXML XMLS:WRITE-XML XMLS:MAKE-NODE XMLS:NODE-NS XMLS:PARSE XMLS:NODE-NAME NIL [4]> Bye. > But how can I see a complete topic thread? click on the subject line in gmain. >> Our homepage links to the clisp implementation notes both as a single page >> ("CLISP Implementation Notes" points to >> http://clisp.cons.org/impnotes.html) and as many pages ("[TOC]" points to >> http://clisp.cons.org/impnotes/). > > Thanks for the pointer! Please, would it be possible to mention this fine > distinction in the FAQ? Hmmm.... One is supposed to navigate to http://clisp.cons.org/impnotes/ and http://clisp.cons.org/impnotes.html from the homepage, where the distinction is pretty obvious, so it is not clear to me that this is necessary. However, our tradition requires me to say PTC[1] Sam. [1] http://www.cygwin.com/acronyms/#PTC |
From: Sam S. <sd...@gn...> - 2009-09-22 19:13:14
|
Josef Wolf wrote: > clisp -q -norc -x '(compile-file "asdf/asdf")' why not: clisp -q -norc -c "asdf/asdf" > This kind of works. At least, all the files are loaded. But when I try to > install something, I get broken downloads: > > [1]> (asdf-install:install :xmls) > ;;; ASDF-INSTALL: Downloading 58339 bytes from > http://common-lisp.net/project/xmls/xmls-1.2.tar.gz to > /home/jw/asdf-install-0.asdf-install-tmp ... > [ ... lots of output deleted ... ] > gzip: stdin: not in gzip format > /bin/tar: Child returned status 1 > /bin/tar: Error exit delayed from previous errors > [ ... ] > > Calling tar manually confirms that the file is broken: > ... > Then I try to download the file with wget: > ... > tar output looks OK, so the file on the server is OK. > ... > length is identical, but contents differ > ... > Note that there's a linefeed prepended at the very start of the file that > was downloaded by asdf-install. Same thing happens if I try to install any > other package. Looks like the download of the tarball is broken. I have > tried several times, this seems to be very reproducible. > > Any ideas? this looks like a bug in asdf-install. I know for a fact that the asdf-latest is horribly broken in a few places (e.g., gpg signature checking for clisp), so I think you should either get the darcs version or ask the maintainer to make a release. Sam. |
From: Josef W. <jw...@ra...> - 2009-09-22 18:40:20
|
On Mon, Sep 21, 2009 at 10:22:01AM -0400, Sam Steingold wrote: > Josef Wolf wrote: >> >> Well, I'm trying to follow the steps described in >> http://www.cliki.net/FirstStepsWithAsdfAndAsdfInstall >> but it did not work as described. But before bothering the list, I thought >> I'd search the archives and the docs for similar problems. > > it did for me. Here's a transcript of what I do: I do the following as root, so asdf is available to all users: umask 022 mkdir -p /usr/local/lib/lisp cd /usr/local/lib/lisp wget http://common-lisp.net/project/asdf/asdf.tar.gz tar xzf asdf.tar.gz clisp -q -norc -x '(compile-file "asdf/asdf")' wget http://common-lisp.net/project/asdf/asdf-install.tar.gz tar xzf asdf-install.tar.gz clisp -q -norc \ -x '#-asdf (load "/usr/local/lib/lisp/asdf/asdf")' \ -x '(pushnew "/usr/local/lib/lisp/asdf-install/asdf-install/" *asdf:*central-registry*)' \ -x "(asdf:oos 'asdf:compile-op :asdf-install)" Use the defaults locations, so this should work without further configuration: mkdir -p /uar/local/asdf-install/site mkdir -p /uar/local/asdf-install/site-systems mkdir -p ~/.asdf-install-dir/site mkdir -p ~/.asdf-install-dir/systems Then I put the following into my .clisprc: #-asdf (load "/usr/local/lib/lisp/asdf/asdf") (pushnew "/usr/local/lib/lisp/asdf-install/asdf-install/" *asdf:*central-registry*) (pushnew "/usr/local/asdf-install/systems/" *asdf:*central-registry*) (pushnew "/home/jw/.asdf-install-dir/systems/" *asdf:*central-registry*) #-asdf-install (asdf:oos 'asdf:load-op :asdf-install) (setf asdf-install:*preferred-location* "Personal installation") This kind of works. At least, all the files are loaded. But when I try to install something, I get broken downloads: [1]> (asdf-install:install :xmls) ;;; ASDF-INSTALL: Downloading 58339 bytes from http://common-lisp.net/project/xmls/xmls-1.2.tar.gz to /home/jw/asdf-install-0.asdf-install-tmp ... [ ... lots of output deleted ... ] gzip: stdin: not in gzip format /bin/tar: Child returned status 1 /bin/tar: Error exit delayed from previous errors [ ... ] Calling tar manually confirms that the file is broken: jw@raven:~> tar tzvf asdf-install-0.asdf-install-tmp gzip: stdin: not in gzip format /bin/tar: Child returned status 1 /bin/tar: Error exit delayed from previous errors Then I try to download the file with wget: jw@raven:~> wget http://common-lisp.net/project/xmls/xmls-1.2.tar.gz jw@raven:~> tar tzvf xmls-1.2.tar.gz drwxr-xr-x miles/gfx 0 2004-09-27 22:57 xmls-1.2/ drwxr-xr-x miles/gfx 0 2004-09-27 22:57 xmls-1.2/tests/ drwxr-xr-x miles/gfx 0 2004-09-27 22:57 xmls-1.2/tests/ant/ [ ... ] tar output looks OK, so the file on the server is OK. jw@raven:~> ls -l xmls-1.2.tar.gz asdf-install-0.asdf-install-tmp -rw------- 1 jw jw 58339 22. Sep 18:43 asdf-install-0.asdf-install-tmp -rw------- 1 jw jw 58339 27. Sep 2004 xmls-1.2.tar.gz jw@raven:~> md5sum xmls-1.2.tar.gz asdf-install-0.asdf-install-tmp f67e68b05a75f47474868f92cd4d2b0a xmls-1.2.tar.gz 78ff841a1ad3b9b905b0eb5ee4cf7c31 asdf-install-0.asdf-install-tmp length is identical, but contents differ jw@raven:~> hexdump -C -n32 xmls-1.2.tar.gz 00000000 1f 8b 08 00 43 7f 58 41 00 03 ec 3d 6b 73 db 36 |....C.XA...=ks.6| 00000010 b6 f9 5a cf fe 08 54 ed 6c da 5e 4b d4 d3 6e bc |..Z...T.l.^K..n.| 00000020 jw@raven:~> hexdump -C -n32 asdf-install-0.asdf-install-tmp 00000000 0a 1f 8b 08 00 43 7f 58 41 00 03 ec 3d 6b 73 db |.....C.XA...=ks.| 00000010 36 b6 f9 5a cf fe 08 54 ed 6c da 5e 4b d4 d3 6e |6..Z...T.l.^K..n| 00000020 Note that there's a linefeed prepended at the very start of the file that was downloaded by asdf-install. Same thing happens if I try to install any other package. Looks like the download of the tarball is broken. I have tried several times, this seems to be very reproducible. Any ideas? BTW: this is clisp-2.44.1 as it is packaged on the 64bit suse-11.1: jw@raven:~> clisp --version GNU CLISP 2.44.1 (2008-02-23) (built on build17 [127.0.0.1]) Software: GNU-C 4.3.2 [gcc-4_3-branch revision 141291] gcc -g -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fno-strict-aliasing -fPIC -pipe -fno-gcse -g -O2 -Igllib -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Wno-unused -Wno-uninitialized -DSAFETY=3 -O -DUNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. -x none /usr/lib64/libreadline.so -lncurses -ldl /usr/src/packages/BUILD/clisp-2.44.1/ffcall/usr/lib64/libavcall.a /usr/src/packages/BUILD/clisp-2.44.1/ffcall/usr/lib64/libcallback.a -L/usr/src/packages/BUILD/clisp-2.44.1/libsigsegv/usr/lib64 -lsigsegv -lc -L/usr/lib64 SAFETY=3 TYPECODES WIDE SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY libsigsegv 2.5 libreadline 5.2 Features: (READLINE REGEXP SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI GETTEXT UNICODE BASE-CHAR=CHARACTER PC386 UNIX) C Modules: (clisp i18n syscalls regexp readline) Installation directory: /usr/lib64/clisp-2.44.1/ User language: ENGLISH Machine: X86_64 (X86_64) raven [127.0.0.2] |
From: Josef W. <jw...@ra...> - 2009-09-22 22:20:23
|
On Tue, Sep 22, 2009 at 03:13:00PM -0400, Sam Steingold wrote: > Josef Wolf wrote: >> clisp -q -norc -x '(compile-file "asdf/asdf")' > > why not: > > clisp -q -norc -c "asdf/asdf" Thanx, I'll remember this one. [ ... ] >> Note that there's a linefeed prepended at the very start of the file that >> was downloaded by asdf-install. Same thing happens if I try to install any >> other package. Looks like the download of the tarball is broken. I have >> tried several times, this seems to be very reproducible. >> >> Any ideas? > > this looks like a bug in asdf-install. > I know for a fact that the asdf-latest is horribly broken in a few places > (e.g., gpg signature checking for clisp), so I think you should either get > the darcs version or ask the maintainer to make a release. Hmm, the tutorial recommends to fall back to the stable release, which seems to be broken, too. Then I tried the unstable version from http://common-lisp.net/project/asdf-install/asdf-install-unstable/asdf-install.tar.gz but this gives the same error. Maybe it is related to clisp or suse? I have tried to analyze the problem: it seems that from the empty line that terminates the HTTP header, only the CR is read and the LF is left in the stream to be consumed when the content of the response is to be read. The stream is opened this way: (defun make-stream-from-url (url) #+:clisp (socket:socket-connect (url-port url) (url-host url) :external-format (ext:make-encoding :charset 'charset:iso-8859-1 :line-terminator :unix)) and the header lines are read with READ-LINE until the empty line is encountered. With a stream opened this way, shouldn't READ-LINE consume the LF along with the CR after the HTTP header? What am I missing? Anyway, here's a patch. Although it is ugly, but it seems to fix the problem and can hopefully serve as a starting point to track down the real problem. diff -ruw asdf-install.orig/asdf-install/port.lisp asdf-install/asdf-install/port.lisp --- asdf-install.orig/asdf-install/port.lisp 2009-09-21 23:39:12.000000000 +0200 +++ asdf-install/asdf-install/port.lisp 2009-09-22 23:06:52.000000000 +0200 @@ -333,6 +333,7 @@ (force-output) #+:clisp (setf (stream-element-type stream) '(unsigned-byte 8)) + #+(and :clisp :unix) (read-byte stream) (let ((ok? nil) (o nil)) (unwind-protect (progn |
From: Sam S. <sd...@gn...> - 2009-09-22 23:43:38
|
Josef Wolf wrote: > On Tue, Sep 22, 2009 at 03:13:00PM -0400, Sam Steingold wrote: >> Josef Wolf wrote: >>> clisp -q -norc -x '(compile-file "asdf/asdf")' >> why not: >> >> clisp -q -norc -c "asdf/asdf" > > Thanx, I'll remember this one. http://clisp.cons.org/impnotes/clisp.html > I have tried to analyze the problem: it seems that from the empty line that > terminates the HTTP header, only the CR is read and the LF is left in the > stream to be consumed when the content of the response is to be read. aha - this rings the bell. this is bug 2022362, fixed in 2.47 (see NEWS) please complain to SUSE and ask them to upgrade. Sam. |