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