Details Ticket 2526


Comment | Reply | Take | Open


Serial Number 2526
Subject Fedora Core: compiling with readline
Area grass6
Queue grass
Requestors silke@intevation.de
Owner none
Status resolved
Last User Contact Tue Sep 13 00:17:22 2005 (3 yr ago)
Current Priority 30
Final Priority 70
Due No date assigned
Last Action Wed Sep 27 01:22:53 2006 (2 yr ago)
Created Thu Jul 8 17:43:51 2004 (4 yr ago)

Transaction History Ticket 2526


Thu, Jul 8 2004 17:43:51    Request created by silke  
Subject: compiling with readline


Hallo!

I had a little problem when compiling GRASS with readline on fedora 2: Linking
readline fails when ncurses is not linked as well. I adapted the configure
script accordingly such as the configure and make process are ending correctly.
The patch above shows the necessary changes.

Many greetings,

Silke

---------------------------------
--- configure.orig      2004-06-17 15:26:22.000000000 +0200
+++ configure   2004-07-01 17:02:03.119838488 +0200
@@ -8085,7 +8085,7 @@
 ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
-LIBS="-lreadline  $LIBS"
+LIBS="-lreadline -lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
 #line 8091 "configure"
 #include "confdefs.h"
@@ -8112,7 +8112,7 @@
 
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-  READLINELIB="$READLINELIB -lreadline "
+  READLINELIB="$READLINELIB -lreadline -lncurses "
 else
   echo "$ac_t""no" 1>&6
 
Fri, Jul 9 2004 07:06:10    Mail sent by glynn.clements@virgin.net  
Return-Path <glynn.clements@virgin.net>
Delivered-To grass-bugs@lists.intevation.de
From Glynn Clements <glynn.clements@virgin.net>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Message-ID <16622.9972.831736.602092@cerise.nosuchdomain.co.uk>
Date Fri, 9 Jul 2004 06:02:44 +0100
To Request Tracker <grass-bugs@intevation.de>
Cc grass5@grass.itc.it
Subject Re: [GRASS5] [bug #2526] (grass) compiling with readline
In-Reply-To <20040708154351.6DB4B139DA@lists.intevation.de>
References <20040708154351.6DB4B139DA@lists.intevation.de>
X-Mailer VM 7.07 under 21.4 (patch 15) "Security Through Obscurity" XEmacs Lucid
X-Spam-Status No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
X-Spam-Level
Request Tracker wrote:

> this bug's URL: http://intevation.de/rt/webrt?serial_num=2526

> Subject: compiling with readline

> I had a little problem when compiling GRASS with readline on fedora
> 2: Linking readline fails when ncurses is not linked as well. I
> adapted the configure script accordingly such as the configure and
> make process are ending correctly.

This is a known issue. However, we don't know of a reliable solution. 
Certainly, linking with -lncurses will fail on some platforms (i.e. if
they have libcurses rather than libncurses). Even if it works, it may
be overkill (readline only actually requires the termcap query
functions).

Essentially, the problem is that libreadline requires the following
termcap functions:

	tgetent
	tgetflag
	tgetnum
	tgetstr
	tgoto

There are several different libraries which might provide these
functions, including libtermcap, libtinfo and libcurses/libncurses. 
Many platforms have at least two of these libraries. Linking with any
of them will typically "work", in the sense that the configure checks
succeed and r.mapcalc links.

However, the behaviour may vary depending upon which one is used. In
particular one library may obtain terminal descriptions from the
termcap database (a single text file, typically /etc/termcap), while
another may use the terminfo database (a directory tree populated with
binary files, typically /usr/lib/terminfo or /usr/share/terminfo).

One some systems, one of the two databases might be either incomplete
or inaccurate (this is quite common), and there is no way to determine
this using a configure test. I.e. we might be able to get r.mapcalc to
compile, and link, and even run (in the sense that it doesn't crash or
terminate with an error code), but it may not actually be usable (i.e. 
pressing one of the arrow keys just appends an escape sequence to the
entered text).

Ultimately, the only real solution is for distribution vendors to
build libreadline with dependency information. They seem to manage it
for most of the other libraries, and some of them manage it for
libreadline (e.g. the RedHat 6.2 libreadline has a dependency against
libtermcap).

-- 
Glynn Clements <glynn.clements@virgin.net>


Fri, Jul 9 2004 17:45:50    Comments added by guest  
A comment from Jeff Johnson (RPM maintainer at Red Hat) is that this is a
rather trivial (but snarly) programming problem, and that the right answer is
to dump termcap and chase terminfo I believe.  Jeff has offered to help if
help is needed with the terminfo library.  He is jbj@redhat.com
Wed, Sep 1 2004 16:54:28    Mail sent by guest  
Glynn did you take up the comment by the redhat person
to help finding a real solution for this?
(Bernhard)
Thu, Sep 2 2004 02:50:12    Mail sent by glynn.clements@virgin.net  
Return-Path <glynn.clements@virgin.net>
Delivered-To grass-bugs@lists.intevation.de
From Glynn Clements <glynn.clements@virgin.net>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Message-ID <16694.28132.564473.524429@cerise.nosuchdomain.co.uk>
Date Thu, 2 Sep 2004 01:48:36 +0100
To guest user via RT <grass-bugs@intevation.de>
Subject Re: [bug #2526] (grass) compiling with readline
In-Reply-To <20040901145428.4897F100155@lists.intevation.de>
References <20040901145428.4897F100155@lists.intevation.de>
X-Mailer VM 7.07 under 21.4 (patch 15) "Security Through Obscurity" XEmacs Lucid
X-Spam-Status No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
X-Spam-Level
guest user via RT wrote:

> Glynn did you take up the comment by the redhat person
> to help finding a real solution for this?

The only real solution is to allow the user to explicitly specify
additional linker switches which should be used when linking against
the readline library.

It's effectively impossible to deduce the correct libraries
automatically.

-- 
Glynn Clements <glynn.clements@virgin.net>


Tue, May 10 2005 14:10:20    Comments added by hbowman  
note new spec file in CVS (grass6/rpm/fedora/grass.spec) works around this bug
by not using readline.


Hamish
Tue, May 10 2005 14:10:39    Subject changed to Fedora Core: compiling with readline by hbowman  
Tue, May 10 2005 14:11:52    Area changed to grass6 by hbowman  
Wed, Aug 31 2005 20:43:17    Mail sent by mneteler  
Silke,

is this bug still a bug?

Markus
Tue, Sep 13 2005 00:17:22    Mail sent by mneteler  
... no response, so I'll close it.

Markus
Tue, Sep 13 2005 00:17:25    Status changed to resolved by mneteler  
Tue, Sep 26 2006 18:32:55    Comments added by guest  
Good Luck! http://xoomer.alice.it/pik0/poker-rooms/
Tue, Sep 26 2006 22:38:11    Comments added by guest  
Cool design http://xoomer.alice.it/pik0/razz-poker/
Wed, Sep 27 2006 01:22:53    Comments added by guest  
Great work on website. <a href="http://xoomer.alice.it/pik0/rules-of-poker/">rules
of poker</a> [url=http://xoomer.alice.it/pik0/rules-of-poker/]rules of poker[/url]
http://xoomer.alice.it/pik0/rules-of-poker/
Comment | Reply | Take | Open

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request