[Box Backup-dev] editline/readline

Chris Wilson boxbackup-dev at fluffy.co.uk
Tue Jan 3 23:08:09 GMT 2006


Hi Martin and all,

I think there's something borked with Box Backup's editline/readline 
detection in trunk.

I'm trying to compile it on a "SUSE LINUX Enterprise Server 9 (ppc)" 
system, which has readline, and also a heimdal-devel package that includes 
libeditline.a but no headers for editline.

On this system, configure detects libeditline.a, and so links with it, but 
then detects that readline has history support, so it defines 
HAVE_READLINE_HISTORY. libeditline.a does not include a using_history 
function, so bbackupquery fails to compile:

g++   -o ../../debug/bin/bbackupquery/bbackupquery 
../../debug/bin/bbackupquery/BackupQueries.o 
../../debug/bin/bbackupquery/autogen_Documentation.o 
../../debug/bin/bbackupquery/bbackupquery.o 
../../debug/lib/backupclient/backupclient.a ../../debug/lib/win32/win32.a 
../../debug/lib/crypto/crypto.a ../../debug/lib/compress/compress.a 
../../debug/lib/server/server.a ../../debug/lib/common/common.a -lcrypto 
-lssl -ldb -lz  -leditline -lncurses
../../debug/bin/bbackupquery/bbackupquery.o(.text+0x704): In function 
`main':
/home/users/g/gc/gcc/boxi-openpower-linux1/boxbackup/bin/bbackupquery/bbackupquery.cpp:209: 
undefined reference to `using_history'

I can see three possible solutions or workarounds:

1. Maximum functionality. Try to find a library and headers with history
    support (editline or readline). If we can't find one, try to find a
    basic readline-compatible library.

2. Maximum freedom. Try to find a readline-compatible library and headers,
    and then detect whether it supports history, using the appropriate set
    of history headers. Not sure what these are for libeditline.

3. Hacky workaround. Try to find a readline-compatible library, and then
    detect whether it supports history, using the appropriate set of
    history headers. Smallest change, but may find and try to use editline
    without history, even when no editline headers are installed, and
    compilation will still fail (?).

A slightly different issue is that editline is detected and used before 
readline at the moment, even if the --enable-gnu-readline option is used, 
which means that I can't work around this by configuring with that option. 
I think I need to hack the source to do so, as I don't have root access to 
this box and I can't uninstall heimdal-devel.

What do you think?

Cheers, Chris.
-- 
_ ___ __     _
  / __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Perl/SQL/HTML Developer |
\ _/_/_/_//_/___/ | We are GNU-free your mind-and your software |




More information about the Boxbackup-dev mailing list