> > ----- guiletest.cc -------------
> > #ifdef __cplusplus
> > extern "C"
> > #endif
> > char gh_scm2doubles();
> >
> > int main() {
> > gh_scm2doubles()
> > ; return 0; }
> > ----- end of guiletest.cc -------
>
> $ c++ guiletest.cc -lguile -ldl -lreadline -lm
> /usr/bin/ld: cannot open -lreadline: No such file or directory
> collect2: ld returned 1 exit status
>
> If I invoke c++ as follows, there are no errors ..
>
> $c++ guiletest.cc -lguile -ldl -qthreads -lm
> $
>
> $ guile-config link
> -L/usr/lib -lguile -lqthreads -ldl -lreadline -lm
>
> $ guile-config compile
> -I/usr/include
>
> This is configure's output ...
>
> checking for Guile... yes
> checking for gh_scm2doubles in -lguile... no
> configure: warning: You should install guile 1.3 or newer
>
> ------------------
>
> -lreadline causes the error because it
> isn't on my system but it doesn't appear to be needed.
So, the conclusion is:
- Lilypond doesn't need libreadline
- For some other applications of libguile, libreadline is needed,
therefore guile-config claims it's needed.
- configure has to use guile-config to find out what libraries are
necessary.
The easiest solution for you right now is to install the libreadlineg2
package, to avoid to have to edit config.make manually for each
release. What makes me a bit confused is that the libguile3 Debian
package that I have on my machine depends on libreadlineg2, how
did you manage to install only libguile3?
The best trick in configure is probably to try once without
-lreadline if the first attempt failed.
/Mats