freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: Steve Langasek <vorlon AT netexpress.net>
- To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] FreeTDS 0.61 Compile Problem
- Date: Mon, 14 Jul 2003 23:41:59 -0500
On Sun, Jul 13, 2003 at 04:22:24PM -0400, James K. Lowden wrote:
> I'll do some more checking. Below is the configure.in test for readline.
> Freddy added it a year ago, and I imagine he found it elsewhere. I'm not
> sure what to change; afaict we're doing as you suggest, unless tputs(3) is
> intrinsically different from tgetent(3).
> dnl readline test
> dnl Readline is needed by the tty session. Set up a special RL_LIBS
> dnl substitution for it.
> OLDLIBS="$LIBS"
> dnl Readline is linked with curses, and on some systems termcap must be
> dnl linked in. Others (inc debian) have termcap built into ncurses.
> LIBS=""
> AC_SEARCH_LIBS(tgetent, [readline ncurses curses termcap])
> ^^^^^^^ ^^^^^^^^ Good, no?
> AC_CHECK_LIB([readline], [readline], [LIBS="$LIBS -lreadline"
> AC_DEFINE(HAVE_READLINE, 1, [Define to 1 if you have the GNU Readline
> library.])] )
> READLINE_LIBS="$LIBS"
> AC_SUBST(READLINE_LIBS)
> LIBS="$OLDLIBS"
This adds -lreadline after the other libs that have been detected, which
is incorrect on many platforms; the linker is not required to keep track
of symbols that have not been requested, so every library must have its
dependencies listed *after* it on the link line (on platforms where they
must be specified at all).
LIBS="-lreadline $LIBS" is probably what's wanted above.
> > I find it frustrating. It makes me wonder if the world of
> > Linux is starting to look like the world of M$. :-(
> In this way: management of shared library dependency information is a
> thankless task that no one wants to do. We create one itsy bitsy teewny
> weeny yellow polka dot library here (OK, four), and have a dickens of a
> time keeping straight what major/minor numbers to bump when. Multiply our
> problem by (something like) the square of the number of libraries on a
> typical system, and you have a fair proxy for the size of the problem.
With the apparent exception of Slackware, this is not a Linux problem;
by and large, it's a problem caused by proprietary Unices with crufty or
incomplete shared library handling. The GNU linker provides mature,
scalable handling of interlibrary dependencies:
$ objdump -p /usr/lib/libreadline.so|grep NEEDED
NEEDED libtermcap.so.2
NEEDED libc.so.6
$
On a good platform, you specify only the libraries that *you* need, not
the ones that *they* need. Unfortunately, there's a tendency for Open
Source developers to be willing to sink countless hours into their build
scripts, to work around the limitations of stagnant, dead-end platforms
in the name of "portability".
Not forgiving libtool any time soon,
--
Steve Langasek
postmodern programmer
-
[freetds] FreeTDS 0.61 Compile Problem,
io, 07/12/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
Steve Murphree, 07/13/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
James K. Lowden, 07/13/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
Steve Murphree, 07/13/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
James K. Lowden, 07/13/2003
- Re: [freetds] FreeTDS 0.61 Compile Problem, Steve Murphree, 07/13/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
James K. Lowden, 07/13/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
Steve Murphree, 07/13/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
James K. Lowden, 07/13/2003
- <Possible follow-up(s)>
- Re: [freetds] FreeTDS 0.61 Compile Problem, Steve Langasek, 07/15/2003
- Re: [freetds] FreeTDS 0.61 Compile Problem, Steve Langasek, 07/15/2003
- Re: [freetds] FreeTDS 0.61 Compile Problem, Chase Hargraves, 07/15/2003
- RE: [freetds] FreeTDS 0.61 Compile Problem, Lowden, James K, 07/16/2003
-
Re: [freetds] FreeTDS 0.61 Compile Problem,
Steve Murphree, 07/13/2003
Archive powered by MHonArc 2.6.24.