This is the README for Guile Web 0.5.0 (-*- text -*-) Guile Web is Copyright (C) 2002,2003,2004,2005 Clinton Ebadi. It is a set of modules designed to make web programming easier with Guile (in combination with guile-www). I. Dependencies A. Guile 1.6.x. Guile-Web may works with Guile 1.7.x, but I have yet to test it. Bug reports related to 1.7.x are welcome though. B. libcgi [used by (web session)] C. Optional: SimpleSQL [for use with the (web db) module] II. Troubleshooting A. Using scheme files as CGI with Apache If you have problems using guile-web scripts and see something like: ERROR: In procedure dynamic-link: ERROR: file: "libgwebsession", message: "file not found" Then you need to add some stuff to httpd.conf. This may be slightly different for Apache 2.0 (I don't use it). 1. Uncomment or add LoadModule env_module /usr/lib/apache/1.3/mod_env.so' to your httpd.conf (or where you put your LoadModule statements if you have a more complicated setup). If you installed Apache somewhere other than /usr, you will need to change /usr/lib to the approriate directory. 2. Add 'SetEnv LTDL_LIBRARY_PATH $PREFIX/lib' where $PREFIX is your install prefix for guile-web (the default install prefix is /usr/local). Reload Apache's config and the error should go away. If you are using mod_guile you will have to put: (setenv "LTDL_LIBRARY_PATH" (string-append "$PREFIX/lib:" (if (getenv "LTDL_LIBRARY_PATH") (getenv "LTDL_LIBRARY_PATH") ""))) in whatever file you set with the GuileInit option in your Apache configuartion for mod_guile (remember to change $PREFIX to the prefix you installed guile-web to). III. Notes The (web db) module is only useful if you are using simplesql. You can get simplesql from http://guile-simplesql.sourceforge.net/. Simplesql is very easy to use database interface that can access MySQL and PostgreSQL databases (support for other databases is easy to add too). You may want to use mod_guile with your Scheme scripts because the overhead of starting and stopping Guile for every page hit is _very_ high. You can get mod_guile from http://sv.nongnu.org/projects/mod-guile/ . IV. Documentation Documentation is provided as texinfo. To read the docs run 'info guile-web', use Emacs built in info browser, or whatever your favorite info browser is. If the texinfo documentation is confusing or doesn't explain something thoroughly enough, please send an email to clinton [at] unknownlamer.org so I can make the documentation better. If there are any features you want added, please send me an email and I'll consider it. Same goes for bugs/patches/anything. I could really use suggestions for interface improvements. V. Compatibility A. Pre-1.0 Before 1.0 any incompatible changes will result in the release of a new 0.N.0 release, any changes which do not break compatibility will result in a new 0.0.N release. B. Post-1.0 After 1.0, only new features will be added. The behaviour of old features may be deprecated but will remain until the next major (N.0.0) release alongside the replacement. VI. Related Projects A. Guile-WWW Very featureful WWW library for Guile. This is essential when writing CGI with Guile B. Guile-PG Advanced postgresql interface for Guile. This is THE database interface for Guile. Highly Recommended. C. Guile-DBI Database Independent Interface for Guile. It works but is not nearly as featurely as the Perl or PHP DBI implemenations. It is a fairly new projects [as of 2005-05] so it should eventually have a fully featured interface.