This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: dejagnu version update?
- From: Mike Stump <mikestump at comcast dot net>
- To: Ramana Radhakrishnan <ramana dot radhakrishnan at foss dot arm dot com>
- Cc: Andreas Schwab <schwab at suse dot de>, Jeff Law <law at redhat dot com>, Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com>, David Malcolm <dmalcolm at redhat dot com>, gcc-patches List <gcc-patches at gcc dot gnu dot org>, GCC Development <gcc at gcc dot gnu dot org>
- Date: Wed, 16 Sep 2015 10:57:03 -0700
- Subject: Re: dejagnu version update?
- Authentication-results: sourceware.org; auth=none
- References: <1441916913-11547-1-git-send-email-dmalcolm at redhat dot com> <1441916913-11547-3-git-send-email-dmalcolm at redhat dot com> <55F720E6 dot 7020709 at redhat dot com> <4CB1399A-23A6-44F7-A25F-ECBD953E03A0 at gmail dot com> <55F74C3D dot 50504 at redhat dot com> <F5F4A096-2DD7-4635-9CB2-5A611247D71F at comcast dot net> <1B14D92A-0476-416B-A80D-A3083383C48D at gmail dot com> <55F879CB dot 2090607 at redhat dot com> <16565ACE-A56C-4971-BEA9-B299C9B40346 at comcast dot net> <mvmfv2eesa5 dot fsf at hawking dot suse dot de> <2BAFA587-8192-495C-B98C-BDA442B1A8A6 at comcast dot net> <55F997E3 dot 7030508 at foss dot arm dot com>
On Sep 16, 2015, at 9:25 AM, Ramana Radhakrishnan <ramana.radhakrishnan@foss.arm.com> wrote:
>
> Sorry about the obvious (possibly dumb) question.
> Can't we just import a copy of dejagnu each year and install it as part of the source tree?
TL;DR: No.
We could, and indeed, some people do engineering that way. We instead depend upon package managers, software updates and backwards compatibility to manage the issue. This is generally speaking, a better way to do software. In the olden days, back before shared libraries, X11 was the straw that broke the camels back. Without shared libraries, everyone replicated large portions of the X11 system inside each binary causing a massive bloat just in terms of disk space. This cost was also reflected in distribution size. As multiple binaries were run, each program would replicate all the code and read only data of the X11 window system causing larger than optimal usage of ram. The problem was so fundamental and so compelling to fix that dllhell[1] was born. It was the price we paid, for the solution to the original problem. Now, the good news is that dllhell is trivial to avoid and engineer around so that it doesn’t exist. People that can program their way out of a paper bag can do it without even thinking about it. So, where we are today, it is a non-issue as it is a solved problem. Since it is solved, we don’t need to do things like unshare programs, libraries, kernels or executables anymore. Indeed, it is so completely and fundamentally solved that we can now use the desire to unshare as an indicator that someone in the food chain doesn’t have a clue what they are doing. Windows is notorious for instances where people have not yet attained the right skill set yet. In our case, since we can contribute anything we want, to any package we want, because we are open source, we can avoid, fix and do the good engineering required to avoid dllhell. This makes it so that fundamentally, we never have to unshare, by design. This is but one benefit of open source.
One day, we will advance and configure && make will automatically fetch and install the required components that we need for a build, using the single command that on every system, resolves dependancies and installs dependent software. We aren’t there yet, but, that is were we need to go. Once we get that, we should depend on it and use it, and never look back, then discussions like this never ever take place again, because the first person that wanted 1.5.3 would just put it in, update the 1.4.4 string to 1.5.3 and Bob’s your uncle. No discussion, no asking, no worries. That’s the path forward.
The current problem is that everyone wants to solve the dependency problem with their own tool and that tool is different on every system. The entire software ecosystem would be better off if all these people contributed what they need to the design of a replacement and we all moved to one system.
1 - https://en.wikipedia.org/wiki/DLL_Hell