Subject: Re: Readline headers/libs can't be found (wm/ratpoison update)
To: None <tech-pkg@NetBSD.org>
From: Vladislav Sekulic <vlad.sekulic@utoronto.ca>
List: tech-pkg
Date: 01/26/2005 10:18:40
Hi Greg, 

On 26 Jan 2005 09:11:47 -0500
Greg Troxel <gdt@ir.bbn.com> wrote:

> Basically you have to look at config.log to see the 'failed program'
> that it tried to compile.  Sometimes configure scripts manually look
> for headers, or do other odd things.
> 

I've fixed the problem now, but for the sake of completeness, the relevant
lines in config.log (while configure was not working) were,

---
<snip>

configure:4457: checking for add_history in -lhistory
configure:4488: cc -o conftest -O2 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include -I/usr/include -L/usr/p
kg/lib -L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -L/usr/X11R6/lib -Wl,-R/usr/X11R6/lib conftest.c -lhistory 
  >&5
/usr/lib/libedit.so: undefined reference to `tgetnum'
/usr/lib/libedit.so: undefined reference to `tgoto'
/usr/lib/libedit.so: undefined reference to `tgetflag'
/usr/lib/libedit.so: undefined reference to `tputs'
/usr/lib/libedit.so: undefined reference to `tgetent'
/usr/lib/libedit.so: undefined reference to `tgetstr'

<snip>
---

> You may want to set
> 
> USE_GNU_READLINE=yes
> 
> and include readline/builtin.mk instead
> 

Ah, including builtin.mk fixes the problem:

---
===> Checking for vulnerabilities in ratpoison-1.3.0
=> Checksum OK for ratpoison-1.3.0.tar.gz.
===> Extracting for ratpoison-1.3.0
===> Required installed package bash-[0-9]*: bash-3.0nb1 found
===> Required installed package readline>=5.0: readline-5.0 found
===> Required installed package x11-links>=0.24: x11-links-0.24 found
===> Patching for ratpoison-1.3.0
<snip>
---

It compiles and installs normally now.  Looking at the pkgsrc 
guide section 9.3, it states that in this kind of a situation,
builtin.mk should be included in addition to buildlink3.mk, which
is a point that I had previously missed.

> Are you seeing readline links in the buildlink tree?
> 
> I suspect that if configure looks for things manually, rather than
> doing test compiles, it may look in the main fs rather than the
> buildlink tree.  (This would be arguably buggy of it, and
> cross-unfriendly.)
> 

Previous to the above Makefile changes, there were no links at all.
Post-changes, they pop up in .buildlink_readline_done.  

Thanks for the help,
Vlad