Hunchentoot + ECL , installed with quicklisp problem

Discussion of Common Lisp

Hunchentoot + ECL , installed with quicklisp problem

Postby womblegonebad » Wed Jul 31, 2013 6:26 am

Hi,
I am a lisp newbie, and i was wanting to set up hunchentoot as a lisp application/web server (apache -> hunchentoot)
I am using ECL as it is supported on my platform (ARM)
Everything looked good initially i installed ecl, added quicklisp and did

Code: Select all
(ql:quickload "hunchentoot")


this downloads a bunch of packages, but all seems good, so i try to start up a test server with

Code: Select all
(hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242))


and.... IT WORKS!! i browse to the page on localhost:4242 , great!

I then quit out of ecl and later go back in, and try to recreate

Code: Select all
(ql:quickload "hunchentoot")


seems ok, (but obviously doens't download a bunch of stuff this time)

Code: Select all
(hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242))


Uh oh, this time i get the following error

Condition of type: BORDEAUX-MP-CONDITION
There is no support for this method on this implementation.


I have tried lots of things (such as using require instead of ql:quickload) , this is being thrown up by the brodeaux-mp-threads package, but i dont know how or why. Here is what seems to be the relevant code snippet from the bordeaux-threads in case it helps...

Code: Select all
(defgeneric make-threading-support-error ()
  (:documentation "Creates a BORDEAUX-THREADS condition which specifies
  whether there is no BORDEAUX-THREADS support for the implementation, no
  threads enabled for the system, or no support for a particular
  function.")
  (:method ()
    (make-condition
     'bordeaux-mp-condition
     :message (if *supports-threads-p*
                  "There is no support for this method on this implementation."
                  "There is no thread support in this instance."))))


If i delete my 'quicklisp' folder completely and then re-install quickload, and then load (ql:quickload 'hunchentoot) , the 'test' server will work fine, but if i quit ecl and go back in and try to load it again then I get the error above.
It looks as if something is being loaded up when hunchentoot is being downloaded/loaded for the first time, which it is missing when i go back in. Im not sure if this is a quickload issue, or an issue with the hunchentoot package, or a 'weirdness' specific to ECL,

Does anyone have any ideas?
womblegonebad
 
Posts: 2
Joined: Wed Jul 31, 2013 6:01 am

Re: Hunchentoot + ECL , installed with quicklisp problem

Postby smithzv » Wed Jul 31, 2013 8:41 pm

Note that I get exactly the same behavior on my ECL running on normal X86-64 with a build that has threading support.
smithzv
 
Posts: 94
Joined: Wed Jul 23, 2008 11:36 am

Re: Hunchentoot + ECL , installed with quicklisp problem

Postby corvir » Thu Aug 01, 2013 9:20 am

Have you tried with latest ECL in the repository? I seem to recall this issue and moving to the repository version fixed it.
corvir
 
Posts: 1
Joined: Thu Aug 01, 2013 9:07 am

Re: Hunchentoot + ECL , installed with quicklisp problem

Postby womblegonebad » Fri Aug 02, 2013 12:50 am

THANKS corvir!!!!! , i should have thought of that.

I have been using my distro's package (arch linux), but it is obviously out of date (this is rare for arch, but i guess this is a bit of a niche package).
I did my own build of ecl from the latest git, and this problem disappeared.
womblegonebad
 
Posts: 2
Joined: Wed Jul 31, 2013 6:01 am


Return to Common Lisp

Who is online

Users browsing this forum: Google [Bot], Yahoo [Bot] and 4 guests

cron