This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Add expat to the GDB sources


> Date: Mon, 24 Jul 2006 17:41:57 -0400
> From: Christopher Faylor <cgf-use-the-mailinglist-please@sourceware.org>
> 
> Also, we're not talking about having to track down scores of packages,
> we're talking about *one* package.  If we actually were talking about
> adding about more packages it would actually make less sense to do
> something like this.  'src' would be bloated and we'd be in constant
> package update mode.

Therefore we should not add random features to GDB that require more
"external" packages.

> It sounds like you're advocating that every project which relies on
> external libraries should include the source code for those libraries.
> If that is the case, it means that we shouldn't bother with shared
> libraries at all.  Every package would, instead, be bloated by the
> inclusion of its own version of expat, and openssl, and libtiff, etc.

Shared libraries are hard.  You can only do it right if you correctly
implement a version policy, which is almost impossible to do if you
don't have some sort of central control.  It really is only worth
doing if there are more than a handlful of different programs using
the same library that are likely to be used simultaniously.

> >In other words, when I download a package, I want it ideally to build
> >out of the box, period.
> 
> IMO, that is an unrealistic expectation.

But one that is true for the current GDB on many systems right now.

> >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.
> 
> And, if you are on linux or windows, you can be certain that your
> version of gdb has a different version of readline than every other
> package on the system and that gdb is slightly bigger and possibly
> slightly incompatible as a result.  I hate this about insight, also.
> The problem is even worse there.  That is a standard problem with
> including disparate versions of libraries.

A properly engineered Linux distribution solves this by building
everything, including gdb, with a properly chosen version of readline,
and testing this setup extensively.  When a user isn't satisfied with the 

> But, where does this philosophy end?  Are you *really* advocating that
> every shipping package should include the source code of any libraries
> that they use?  So gdb should also include ncurses?

The philosophy has always been that one should be able to build a GNU
toolchain without any external dependencies, to be able to bootstrap
into a situation wher you can use the toolchain to build other Free
Software.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]