From: <jst...@co...> - 2008-03-21 19:30:38
|
Hello, I've recently decided to learn Lisp and have decided to start with SBCL, as it was the only open source/free version I found that supports both native compilation and real OS threads. However, I see that I'll have to set up a Linux box to have access to the threading. It has been a few years since I did any Linux work and am sadly behind the times on what distributions are good. What I'm hoping is someone on this list can suggest a distribution that will provide the minimum pain in getting SBCL up and working with threading. I don't need a "dumbed down" version: I'm comfortable with C and makefiles and all of that. However, my goal is to learn Lisp, not screw around with Linux, so the more straightforward the better. Thanks in advance Jeffrey Straszheim P.S. What is quickest way to get an HTTP application server up and running on SBCL? |
From: Brian M. <br...@ma...> - 2008-03-21 19:36:34
|
Jeffrey Straszheim wrote: > Hello, > > I've recently decided to learn Lisp and have decided to start with SBCL, as it > was the only open source/free version I found that supports both native > compilation and real OS threads. However, I see that I'll have to set up a > Linux box to have access to the threading. > > It has been a few years since I did any Linux work and am sadly behind the times > on what distributions are good. What I'm hoping is someone on this list can > suggest a distribution that will provide the minimum pain in getting SBCL up and > working with threading. > > I don't need a "dumbed down" version: I'm comfortable with C and makefiles and > all of that. However, my goal is to learn Lisp, not screw around with Linux, so > the more straightforward the better. > > Thanks in advance > > Jeffrey Straszheim > > P.S. What is quickest way to get an HTTP application server up and running on > SBCL? These days nearly anything should work. I'm using OpenSUSE 10.3 on my desktop and Debian stable (er, oldstable but upgrading soon) on my server. If you've got 64-bit capable hardware, you may want to look into a 64-bit distribution. Alternately, modern AMD and Intel processors can virtualize a 64-bit OS under a 32-bit host. I would recommend staying away from distribution packages for SBCL. Just download the latest binary from the web site, install it, and use it to compile the latest sources. It's relatively straightforward; the only thing that's even moderately tricky is building with threads. To do that, create a file named "customize-target-features.lisp" in the root of the SBCL sources containing something like: (lambda (list) (cons :sb-thread list)) Then just build SBCL as usual ("sh make.sh"). I'll let others answer the HTTP question as my views seem to be out of the mainstream these days... -- Brian Mastenbrook br...@ma... http://brian.mastenbrook.net/ |
From: Matt R. <mre...@gm...> - 2008-03-21 20:07:56
|
Second using a binary to build the latest from source. I use Ubuntu (server), but any should work. I've used Hunchentoot for several low-traffic sites and have no complaints. I believe there's a port of AllegroServe for SBCL that some claim offers better perfromance. On Mar 21, 2008, at 3:36 PM, Brian Mastenbrook <br...@ma...> wrote: > Jeffrey Straszheim wrote: >> Hello, >> >> I've recently decided to learn Lisp and have decided to start with >> SBCL, as it >> was the only open source/free version I found that supports both >> native >> compilation and real OS threads. However, I see that I'll have to >> set up a >> Linux box to have access to the threading. >> >> It has been a few years since I did any Linux work and am sadly >> behind the times >> on what distributions are good. What I'm hoping is someone on this >> list can >> suggest a distribution that will provide the minimum pain in >> getting SBCL up and >> working with threading. >> >> I don't need a "dumbed down" version: I'm comfortable with C and >> makefiles and >> all of that. However, my goal is to learn Lisp, not screw around >> with Linux, so >> the more straightforward the better. >> >> Thanks in advance >> >> Jeffrey Straszheim >> >> P.S. What is quickest way to get an HTTP application server up and >> running on >> SBCL? > > These days nearly anything should work. I'm using OpenSUSE 10.3 on my > desktop and Debian stable (er, oldstable but upgrading soon) on my > server. If you've got 64-bit capable hardware, you may want to look > into > a 64-bit distribution. Alternately, modern AMD and Intel processors > can > virtualize a 64-bit OS under a 32-bit host. > > I would recommend staying away from distribution packages for SBCL. > Just > download the latest binary from the web site, install it, and use it > to > compile the latest sources. It's relatively straightforward; the only > thing that's even moderately tricky is building with threads. To do > that, create a file named "customize-target-features.lisp" in the root > of the SBCL sources containing something like: > > (lambda (list) (cons :sb-thread list)) > > Then just build SBCL as usual ("sh make.sh"). > > I'll let others answer the HTTP question as my views seem to be out of > the mainstream these days... > > -- > Brian Mastenbrook > br...@ma... > http://brian.mastenbrook.net/ > > --- > ---------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Sbcl-help mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-help |
From: Jeffrey S. <jst...@co...> - 2008-03-29 02:59:51
|
Thanks for the help. Compiling it myself worked, except people should be warned that Ubuntu does not provide the C header files by default -- that took a little bit to figure out. Brian Mastenbrook wrote: > > I would recommend staying away from distribution packages for SBCL. > Just download the latest binary from the web site, install it, and use > it to compile the latest sources. It's relatively straightforward; the > only thing that's even moderately tricky is building with threads. To > do that, create a file named "customize-target-features.lisp" in the > root of the SBCL sources containing something like: > > (lambda (list) (cons :sb-thread list)) > > Then just build SBCL as usual ("sh make.sh"). > > I'll let others answer the HTTP question as my views seem to be out of > the mainstream these days... > -- Jeffrey Straszheim jst...@co... |
From: Lars R. N. <lar...@gm...> - 2008-03-23 11:33:29
|
On Fri, 21 Mar 2008 19:30:28 +0000, Jeffrey Straszheim wrote: > Hello, Hi > I've recently decided to learn Lisp and have decided to start with SBCL, > as it was the only open source/free version I found that supports both > native compilation and real OS threads. However, I see that I'll have > to set up a Linux box to have access to the threading. > > It has been a few years since I did any Linux work and am sadly behind > the times on what distributions are good. What I'm hoping is someone on > this list can suggest a distribution that will provide the minimum pain > in getting SBCL up and working with threading. > > I don't need a "dumbed down" version: I'm comfortable with C and > makefiles and all of that. However, my goal is to learn Lisp, not screw > around with Linux, so the more straightforward the better. I'd recommend Ubuntu. The "boring stuff"(#1) is taken care of for you, but it's not "dumbed down" and you have access to everything you need to do development work. I would not recommend using/installing any of the Lisp stuff that "comes with" any of the distros though. That has only lead to trouble and hassle for me. I instead install SBCL and Lisp libraries "manually" in my home folder. This is a rough write-up of how I get up and running: http://common-lisp.net/~lnostdal/writings/sbcl.html > Thanks in advance > > Jeffrey Straszheim > > P.S. What is quickest way to get an HTTP application server up and > running on SBCL? I run a couple of small sites using Hunchentoot. It works great and is surely more comfortable using than, say, PHP. I've set it up behind Lighttpd so it redirect requests based on host to separate SBCL cores each running its own version of Hunchentoot + a web app (site). Another use for this, if the traffic increases, is to spread the load of a single site to many SBCL cores (copies of the same core file) each running on different machines. #1: sound card drivers, gfx card drivers, network driver, wireless driver, etc.etc. .. these things _usually_ "just work" in Ubuntu -- Lars Rune Nøstdal http://nostdal.org/ |
From: Dr. H. G. E. <he...@cy...> - 2008-03-29 09:33:38
|
Jeffrey Straszheim wrote: > Hello, > ..... > > P.S. What is quickest way to get an HTTP application server up and running on > SBCL? As so far no one mentioned Debian :-), I'm using Debian, (the nice thing is installing for 64 bit or 32 bit is all the same proceedure.) apt-get install sbcl ... ready to run. apt-get install hunchentool ... ready to run with all the other cl-libs needed. I add apt-get install cl-who ,.. nice thing for writing html. apt-get install slime. With these 4 lines you have all you need. I'm using hunchentoot alot with no problems. I have pages with some megabytes and the bottleneck is always the browser. From my point of view you do not need apache in front of it. It is stable and if you have a problem it is easyly solved, as slime puts you to the point of the error in the source code, down to http problems. I have used apache as a frontend before, and most of the problems came from that constellation. (but be careful, it is just my point of view :-) I'm running hunchentoot as a standalone on a server (32 bit and 64 bit) without a gui. To work on the server(s) I use ssh and screen (very nice, you are working on the server, dettach, go home reattach and continue working) If you want port 80 and not sbcl running as root, you need privbind. Here are my start file. I chmod u+s /usr/bin/privbind and add (setq inferior-lisp-program "/usr/bin/privbind -u helmut -g helmut /usr/bin/sbcl") to my .emacs and add screen -t Hunchentoot emacs -f slime to my .screenrc and add (require 'hunchentoot) (hunchentoot:start-server :port 80 :address <ip of eth0:1>) to my .sbclrc :-) and add sudo -H -u helmut screen -d -m to my /etc/init.d/screens .... even after an reboot I login (or ssh to the server), do a screen -R .... and be happy. Emacs-slime-sbcl running in a screen is one unit for me, and I use for each project always a new 'unit'. I have a simple script to create a new user with the files above to start an new project. <off topic> I'm also using git.</off topic> Now my server has many eth0:x's with many hunchentoolies, listening all on port 80 :-) Helmut |