I've been doing some contract work in semiconductor
design validation with a major semiconductor maker here in Chandler. This
group probably will be happy to hear they do all of their heavy computing work
on Linux boxes. Ironically they have frozen their platforms with RedHat 7.1
and gcc 2.9.5 to avoid wasting time/money on "upgrade churn", but I
digress.
It occurred to me there could be a viable open
source software business providing training and support services for a GPL
version of a VHDL compiler and simulator. I found an existing source (http://www.freehdl.seul.org/) and
downloaded it. The web site is pretty Spartan and there does not appear to be
much activity related to the project. When I attempted to compile the code, all
seemed to be going fairly well, but then gcc crashed while compiling one of the
files. I'm using gcc 3.3.1 with Mandrake 9.2. (I tried Mandrake 10.0 but the new
and "improved" KDevelop is ... well, don't get me started).
So the quandary is this: How much effort is
justified attempting to debug the build process for a totally unknown piece of
software? There are a number of references to it on other sites but that doesn't
confer much credibility since news-related sites, like papers and magazines,
will print anything if they think it might get them some eyeballs. The whole
thing could turn out to be a red herring, a piece of drivel written by some
comp-sci student for homework. I hesitate to start trying out different gcc
versions because that could quickly become more trouble than its worth.
In the process I realized some of the premises
behind the whole FOSS distribution model. The idea is to distribute source code
because that can be compiled on the user's system, taking into account at
compile-time any peculiarities of the user's system. Ignoring for the moment the
module/library dependency problem, there also seems to be significant compiler-
and tool-version dependency problems. I started to read the man pages for
Automake, which was ostensibly written to simplify the complexities of makefile
creation. So I scanned through the documentation to get an idea of the
complexity of Automake itself. It took me quite a while to stop laughing.
Then there is Autoconf, the insanely complex system
for analyzing your computer to determine the parameters for Automake and make.
It seems the more we attempt to simplify things the more we complicate them. Not
re-inventing any wheels seems to be the prime directive among the FOSS
community. When I use KDevelop to create a simple "Hello, World" console-mode
project, I end up with about 50 files in multiple levels of directory hierarchy.
I would expect only a source, a makefile and a project file to manage them. But
no, KDevelop is built atop Autoconf, Automake and who knows what else. I guess
if you actually write your own software it isn't free. But I'm digressing
again.
So I guess the question is, does anyone have any
suggestions what is the shortest route to making a decision whether an unknown
GPL source package is worth bothering with? Or does everyone only build stuff
that "everyone knows" is good?
--
Phil Mattison
Ohmikron
Corp.
480-722-9595 ext 1
602-820-9452
mobile