Re: [RFC] Add expat to the GDB sources

Daniel Jacobowitz
2006-07-24T20:43:21Z

On Mon, Jul 24, 2006 at 11:28:53PM +0300, Eli Zaretskii wrote:
> They come with GCC and with Binutils.

Yes, that's true. But they also come with instructions that their
development headers should not be installed, and by default 'make
install' does not install them - precisely because they're not meant to
be used this way.

> Also, you seem to be saying that, once we remove readline, say, one
> would have to use the last released version of readline for building
> GDB, while the build out of CVS will still use the CVS version, is
> that right? If so, it's a bad idea, IMHO.

I apologize if I gave that impression! Neither CVS nor released GDB
tarballs would go out and download readline for you; both would use the
same thing, i.e. what you have installed.

This can be a pain if you have tight version requirements on the
supported libraries; but we don't. We've worked with the last several
years of releases of readline, for instance, basically without change.

> > In an ideal world, maybe there would be independent
> > releases, and we could use them. But BFD in particular doesn't have a
> > stable API and (as recently discussed on the binutils list) doesn't
> > have an interest in one.
> >
> > Compare to readline, tcl, and expat, each used by hundreds of different
> > programs.
>
> Sorry, I don't see any significant difference. The number of packages
> is not really relevant; what is relevant is how easier or harder would
> things become for Joe Random Hacker Who Just Wants To Build GDB.
> Perhaps Chris and Daniel don't see any problem because they have the
> latest versions of everything on their machines, at all times. From
> my point of view, about the worst annoyance of Free Software is what
> happens when I "./configure; make" just to find out that I need two
> more packages, which in turn want each one two more packages, which
> want yet some more ...

This is what installation documentation is for! We already have a
section in the manual that covers running configure.

I don't always have things installed. I confess that I do use a modern
packaging system that makes installing dependencies relatively
painless, but I do it by hand from time to time too.

And neither readline nor expat has a substantial dependency chain.

I wouldn't suggest that we require an installation of GNOME, on the
other hand.

> In other words, when I download a package, I want it ideally to build
> out of the box, period. No questions asked, and no additional
> prerequisites that could turn a simple build job into an agony that
> lasts the better part of my day, because each prerequisite package
> needs a bit of tweaking to build and install properly. By contrast,
> when I get readline etc. with GDB, I can be _certain_ that someone
> already tried and succeeded to build _this_ version of the library
> with _this_ configury and _this_ GDB release.

FYI, what we are doing with readline is against the FSF's recently
clarified policy. We're shipping a locally modified copy of a GNU
package. This was the subject of one of the past few messages to
gnu-prog.

--
Daniel Jacobowitz
CodeSourcery