[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-dev: Re: Gschem and Cairo graphics library



Title:
Hi,

    To interject my $0.02 CDN.

Stephen Williams wrote:
Levente wrote:

  
I think the "dependency hell" is provided by your OS, not by the human nor gEDA. If someone can't figure out the dependencies, (s)he can't use gEDA, and I think no other EDA toolset.

    

Nonsense. There are plenty of (expensive) software packages that
do *not* impose on a user this dependency hell. So it's possible.
This hell is very much of our own making.

After having installed some of those commercial EDA tools on both Linux and Solaris  I have to comment that they way they have solved the dependancy problem is to:

    a) Limit support to certain distributions of Linux, or in the case of Solaris, certain releases.
    b) Ship pre-compiled binary images of _EVERYTHING_ needed to make the tool go and/or provide statically linked binaries
    c) Add setup environment scripts that get customized as part of the installation process.

Let me address the points one at a time.

    Point a,  while this works for the big companies to whom you are shelling out the big bucks, it is clear from the recent, and indeed not so recent discussions on this topic, that we wish to support as many different distributions as possible.  The only solution for that is apparent to me is to follow the model in point 'b'.  Where volunteers are needed to do the build on their distribution.

    Point b,  this leads to multi-disk images for most of the software.  Your typical Cadence tool release takes on the order of 1Gig of hard drive space to install.  The Xilinx tools for Linux are about the same, once you install all the ancilliary stuff like documentation and device libraries.  The bloat here comes from the philosophy that everything needs to be included.  That is, both the Cadence and Xilinx tool install a copy of perl and automatically link all thier scripts up to it.  They don't rely on the operating system supplied utilities to work, or be installed correctly.  As an example for us, for PCB, this would mean shipping a copy of GNU M4 along for the ride.  This is also somewhat contrary to the philosophy that I have been hearing about lately on the list. (w.r.t. the inclusion of a PDF in a distribution file.)  The effect of the inclusion of everything in one package swamps the effect.  There was some discussion of a chrooted distribution on the list the other day, and this approaches, and goes furhter than indeed,  the model that the `big guys' use.

    Point c,  most if not all of the commercial tools have a generic wrapper script around each of the tools.  Most have at least the notion that there are multiple binary platforms that can be supported.  That is, most have some kind of 'bin' directory that has one plain text script and many softlinks to that script with the name of the tool.  In the script there is usually an environment variable that is used to point to the top of the release directory tree and that environment variable is used to create additional entries to the user's PATH, and LD_LIBRARY_PATH.  Moreover, the script then constructs the command to actually execute the right binary image, while doing so, it usually includes a test for a particular architecture to pull up the right 'bin' directory.  This is common practice and I have seen it mimicked all over the place.

    If we really want to make it easy to install and not get into dependency hell for our users, we have to put together something as described above.  That means foregoing the low bandwidth to download source code alone as a user.  Everything has to ship in giant tarballs or ISO images, we can't get convienience for free.  But we do get "Click Click Click".

  
There are meny of us, who CAN figure out the dependecies, without any problem. If you have a $10k worth of software, use that. gEDA is for thoes, who don't (wanna) have. BUT, have the ability to install a few libraries on her/his computer. What you think is a windoze way. Click click click....
    

Bully for you.

For the rest of us, Linux != pain_in_the_ass_to_install.

  
Mike
-- 
--------------------------------------------------
                              Mike Jarabek
                                FPGA/ASIC Designer
 http://www.istop.com/~mjarabek
--------------------------------------------------



_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev