Hunchentoot Problem with installing

Discussion of Common Lisp
Post Reply
I X Code X 1
Posts: 59
Joined: Sun May 29, 2011 8:52 pm
Location: NY
Contact:

Hunchentoot Problem with installing

Post by I X Code X 1 » Mon Jul 04, 2011 9:14 pm

Hi everyone,

I'm trying to install hunchentoot and am having some problems. I'm still quite new to Common Lisp and don't totally grasp the concept of how to install libraries to my lisp. This is what is happening:

Code: Select all

COMMON-LISP-USER>
(require 'asdf)

NIL

COMMON-LISP-USER>
(require 'asdf-install)

("ASDF-INSTALL")

COMMON-LISP-USER>
(asdf-install:install 'hunchentoot)

and then this is displayed:

Code: Select all

Install where?
1) System-wide install: 
   System in C:\Users\Eric\Desktop\eclipse\plugins\sbcl_win32_1.0.6\sbcl\site-systems\
   Files in C:\Users\Eric\Desktop\eclipse\plugins\sbcl_win32_1.0.6\sbcl\site\ 
2) Personal installation: 
   System in C:\Users\Eric\.sbcl\systems\
   Files in C:\Users\Eric\.sbcl\site\ 

I've tried selecting both options and both times I am getting the same error:

Code: Select all

>> 2
Downloading 139617 bytes from http://weitz.de/files/hunchentoot.tar.gz ...
No such program: "gpg"
   [Condition of type SIMPLE-ERROR]
	0: [SKIP-GPG-CHECK] Don't check GPG signature for this package
	1: [ABORT] Return to SLIME's top level.
	2: [CLOSE-CONNECTION] Close SLIME connection
	3: [ABORT] Exit debugger, returning to top level.
Does anyone know what is going on? I really don't understand how to download/install libraries from places. If anyone could tell me what is going wrong and maybe let me in on how you all install libraries to your Lisp that would be greatly appreciated. I am running CUSP which uses SBCL. However, I also have ACL and am willing to use either.

I would also like to install CLSQL, but can't seem to figure that out either :cry: Please help!

Thanks a lot!

Edit: When I try to do this on ACL I can't even get asdf to work. Can't find any good instructions on how to download libraries and where to put them when I actually have them installed.

Edit 2: Okay, monkeying around on SBCL I think I've figured out how to get CLSQL working, but still does not explain why hunchentoot is giving me the above error.

ramarren
Posts: 613
Joined: Sun Jun 29, 2008 4:02 am
Location: Warsaw, Poland
Contact:

Re: Hunchentoot Problem with installing

Post by ramarren » Mon Jul 04, 2011 10:24 pm

I X Code X 1 wrote:I'm trying to install hunchentoot and am having some problems.
Your problem is that you are trying to use asdf-install. It never worked very well and is now obsolete. Use quicklisp. Despite being called a beta it works perfectly fine.
I X Code X 1 wrote:Does anyone know what is going on?
GPG is a set of cryptographic tools which, in this particular case, was used by asdf-install to verify that the systems downloaded were signed by the author. This is because asdf-install used publicly editable wiki to find files and downloaded them from random places on the internet, which is an obvious security risk. Having to verify keys was not really practical, so most people disabled it and hoped that nobody would try to hack lisp users this way. This was only one of motivation for creation of quicklisp, which uses a trusted repository model.
I X Code X 1 wrote:Edit: When I try to do this on ACL I can't even get asdf to work. Can't find any good instructions on how to download libraries and where to put them when I actually have them installed.
ASDF has a manual. You download Lisp libraries in the same way you download every other file. Since Common Lisp is image based you don't even install them as such, you just need to have a way to load the into an image. This is typically achieved using asdf, and the great majority of libraries come with system definition file with extension asd . You have to configure asdf to find those files. This is described in the manual.

I X Code X 1
Posts: 59
Joined: Sun May 29, 2011 8:52 pm
Location: NY
Contact:

Re: Hunchentoot Problem with installing

Post by I X Code X 1 » Tue Jul 05, 2011 6:17 am

Thanks!

I am using quicklisp on ACL but unfortunately when trying to load hunchentoot:

Code: Select all

Error: An allocation request for 80 bytes caused a need for 4456448
       more bytes of heap. This request cannot be satisfied because you
       have hit the Allegro CL Free Express heap limit.  
That's alright though, at least I know it was going to work. I could always get the student edition if I really wanted to. I just have one more question, If I am using SBCL I can't seem to get quicklisp to work. Where do I put the downloaded file? In which directory/folder?

Also, when I load something with Quicklisp, will it need to be reloaded every time I quit my lisp and come back into it? Or is it a "load once, always have" type deal?

ramarren
Posts: 613
Joined: Sun Jun 29, 2008 4:02 am
Location: Warsaw, Poland
Contact:

Re: Hunchentoot Problem with installing

Post by ramarren » Tue Jul 05, 2011 7:18 am

I X Code X 1 wrote:Where do I put the downloaded file? In which directory/folder?
It doesn't matter. Quicklisp install itself somewhere (I think home directory by default), you just need to load the installer. If you downloaded it to directory different than the one SBCL is running in then provide full path to LOAD.
I X Code X 1 wrote:Also, when I load something with Quicklisp, will it need to be reloaded every time I quit my lisp and come back into it?
Yes. Common Lisp is image based, and having every single system you ever installed in memory at all times wouldn't be very wieldy. They are, however, installed, which means they can be loaded without using the internet, and are available as ASDF dependencies. That is, systems that you define using ASDF can depend on them and it will work transparently.

I X Code X 1
Posts: 59
Joined: Sun May 29, 2011 8:52 pm
Location: NY
Contact:

Re: Hunchentoot Problem with installing

Post by I X Code X 1 » Tue Jul 05, 2011 7:36 am

Thanks Ramarren, I really do appreciate all the help. I found out what I was doing wrong and have now successfully installed quicklisp onto SBCL.

I guess I just have one final question: When I type (ql:quickload "system-name"), does this do everything I need to be able to use the library? I am reading mixed things and is getting me a bit confused. Does (ql:quickload "system-name") suffice, or do I need to actually still do something with ASDF?


Again, thanks for all your help as I try to get through these tough times :oops: lol.

ramarren
Posts: 613
Joined: Sun Jun 29, 2008 4:02 am
Location: Warsaw, Poland
Contact:

Re: Hunchentoot Problem with installing

Post by ramarren » Tue Jul 05, 2011 8:01 am

Quicklisp uses ASDF to load systems. The ql:quickload functions ensures that the system and its dependencies are installed, and then loads the system using ASDF, which means that you don't have to do anything more within life of that image. If the system and all its dependencies are already installed (that is, downloaded and placed somewhere where the implementation can find them), then ql:quickload and asdf:load-system are equivalent. Generally you shouldn't be loading library systems explicitly, you should create a system definition for your own code which depends on other systems, and then load/reload that.

Post Reply