Go to the previous, next section.
Keep in mind that libguile is rapidly evolving. The -iii snapshot had changed so much since the -ii snapshot that it took a lot of work and some email from Tom Lord to merge the gnudl software with the new guile.
In this tutorial, all examples work with guile-iii, but my opinion is that the programmer interface to libguile has been spoiled in guile-iii. I am encouraging Tom to clean it up somewhat, and this tutorial will be re-written to reflect future (maybe cleaner) snapshots of guile.
A few things need to be done to the guile-iii snapshot to make it work well; here are some of them, though I'm sure I'm missing others:
gscm_vset() in `gscm.h' is wrong. It reads:
#define gscm_vset(V, I, VAL) scm_vector_set ((V), SCM_MAKINUM(I), (VAL))but it should read
#define gscm_vset(V, I, VAL) scm_vector_set_x ((V), SCM_MAKINUM(I), (VAL))You can just correct it in the `gscm.h' file.
scmconfig.h needs to be copied to
`/packages/include/guile/' manually; the software "make install"
procedure does not do that for some reason.
make clean and make distclean are not to be trusted.
If you make some change in the configuration of guile, or if you install
flex, you cannot just do a make distclean; ./configure
--prefix=whatever. I recommend that if you recompile with different
circumstances, you re-extract the guile-iii.tar.gz archive.
:-)
SCHEME_LIBRARY_PATH variable to be
`/packages/lib/scm/' (note the trailing / (slash) character: it is
necessary). But then Guile installs some things in /packages/lib/gls,
but not enough things. And then if you install Aubrey Jaffer's most
excellent slib (a portable scheme library with tons of goodies
(see see section Useful references)), in `/packages/lib/slib', then how
do you also have that searched? The SCHEME_LIBRARY_PATH variable
is not colon-separated... So you have to learn to live with this mess,
until Tom and Aubrey explain how we should do things in this department.
SCHEME_LIBRARY_PATH, if not the print procedure in scheme
will not work.
And in general, if you have trouble compiling, take a look at the
hypermail archive of the gel@cygnus.com mailing list (URL
http://www.cygnus.com/ml/gel/).
But even with these warnings, I still think that guile is the answer to a lot of questions in developing large software packages, and I strongly recommend you go ahead and use it.
Go to the previous, next section.