Gregor Best wrote:
> On Wed, Mar 16, 2016 at 12:04:31AM -0400, Michael McConville wrote:
> > Michael McConville wrote:
> > > For some reason, it picks up guile if available and uses it even if
> > > guile2 (which is the only one that works here) is installed. I didn't
> > > see a configure option to force guile2. If only guile2 is installed, it
> > > works as expected. What's the best way of dealing with this?
> > 
> > I should probably give a little more information on this, as I spent a
> > while on it:
> > 
> > When guile 1.x is present, the configure script still recognizes and
> > chooses guile 2. Moreover, the correct pkg-config seems to be used, as
> > the guile 2 include headers are visible in the cc commands. I tried
> > looking into where things are failing, but it uses all sorts of
> > unfamiliar GNU build gunk (I think it might even bootstrap).
> > 
> 
> I think the issue is that guile1.x installs its main header to
>       /usr/local/include/libguile.h
> and guile2.x installs it to
>       /usr/local/include/guile/2.0/libguile.h
> 
> If you use pkg-config to get flags for guile2.x, the header for guile1.x
> is still in your include path and, depending on the order of flags, gets
> picked up before the one for guile2.
> 
> I've had a similar problem when I worked on a project of mine. I think
> the correct way to fix this would be to have the guile1.x port install
> its headers to /usr/local/include/guile/1.8 or something like that.

I think you're right. I was misunderstanding how include precedence
works. I though that because they were specified in this order:

> -I/usr/local/include/guile/2.0 -I/usr/local/include

guile2 should be picked up, but it seems that that isn't the case.

Reply via email to