Hi Peter,
Here's the output:
src/cmdline/Makefile:TERMCAP_LIB = -ltermcap src/cmdline/Makefile:# readline_LIB = -L$(top_srcdir)/readline -lreadline $(TERMCAP_LIB) src/cmdline/Makefile:readline_LIB = $(top_srcdir)/readline/libreadline.a $(TERMCAP_LIB) readline/Makefile:TERMCAP_LIB = -ltermcap readline/Makefile: $(CC) $(CCFLAGS) -o $@ ./examples/rl.c ../libreadline.a ${TERMCAP_LIB} # locate termcap: /usr/lib/libtermcap.so.2 /usr/lib/libtermcap.so.2.0.8 /usr/lib/termcap/libtermcap.a /usr/lib/termcap/libtermcap.so # locate curses: /usr/lib/curses/libcurses.a /usr/lib/curses/libcurses.so /usr/lib/libcurses.so.1 /usr/lib/libcurses.so.1.0.0
Thanks for the report. That looks like the change to configure did what it was supposed to do: instead of having './lib/termcap/libtermcap.a', it now has '-ltermcap'. The odd things to me are that a) libtermcap.a seems to be in an odd location (/usr/lib/termcap), which makes me wonder how any readline applications work. b) you still end up with a './lib/termcap/libtermcap.a' somewhere in your Makefile, but *not* as TERMCAP_LIB=./lib/termcap/libtermcap.a I have no idea where that would be coming from. I don't think that an extra '-L./lib/termcap' is causing a problem (it's ok to have '-L' arguments that point nowhere) but that the linking can't find the right libtermcap.a with '-ltermcap' alone. If the Makefiles said TERMCAP_LIB= '-L/usr/lib/termcap -ltermcap' that would work for sure. I've been relying on a 'BASH_CHECK_LIB_TERMCAP' macro in autoconf, which apparantly doesn't know to look in /usr/lib/termcap. At this point, it may be easier to just write a function to look for the right termcap library. I think readline can use termcap, curses, or ncurses, and to be honest, I find the differences confusing. Anyway, thanks for the help! --Matt