[Distutils] Re: BisonGen, 4Suite, and Distutils
Mike Olson
Mike.Olson@fourthought.com
Fri Sep 22 16:44:01 2000
Greg Ward wrote:
>
> Uche, Mike --
>
> I'm digging into BisonGen and 4Suite now. I managed to install BisonGen
> (from the sdist) without problems, but there's a dependency you forgot
> to document:
>
> $ /usr/local/bin/python
> Python 1.5.2 (#5, Sep 8 2000, 22:21:43) [GCC egcs-2.91.66 19990314/Linux (egcs- on linux2
> Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
> >>> import BisonGen.BisonGen
> Traceback (innermost last):
> File "<stdin>", line 1, in ?
> File "/usr/local/python/lib/python1.5/site-packages/BisonGen/BisonGen.py", line 80, in ?
> import BGenReader
> File "/usr/local/python/lib/python1.5/site-packages/BisonGen/BGenReader.py", line 24, in ?
> from xml.sax import saxlib, saxexts
> ImportError: No module named xml.sax
> >>>
>
> Luckily, I also have PyXML's source dist. sitting around, so I can
> install it. Still, you should probably mention this in your README.
I'll add this to the reqs.
>
> Another thing: setting "verbose = 0" in the setup script is the moral
> equivalent of setting ".SILENT" in a Makefile -- and IMHO it's
> Considered Harmful. Building software *should* be noisy, because so
> many things can go wrong. You're free to run the setup script with -q,
> but if people are used to seeing noisy builds, then one particular build
> being quiet is unsettling. (It unsettled me, that's for sure!)
I wasn't sure which way that should be. I'll set it to verbose.
>
> Yet another: requiring SWIG to be installed in order to build your
> software is the moral equivalent of requiring bison and flex on a
> non-GNU-powered Unix box -- ie. it's a bother, it's a pain, and it's
> completely unnecessary since the software that I now have to go find,
> download, build, and install is used *only* to build this particular
> package! (I'm speaking here from the narrow, just-want-to-get-the-
> silly-thing-working perspective of someone who needs to install 4Suite
> in order to get work done. I'm a little embarassed to admit that I
> don't even have SWIG installed on my home machine, but it does let me
> discover lapses in other people's source dists. ;-)
We finally bit the bullet. We don't have to bgen, swig, flex, or bison
that often so we checked in the final set of .c files. This should make
life easier...
>
> Now, if SWIG is turning 20k .i files into 400k .c files, that's a good
> reason for not distributing the .c files. And I'm starting to get a
> grasp of the enormity of 4Suite; this is a boatload-and-a-half of a
> code, so I can see why you might want to cut down on the amount of stuff
> distributed.
I don't think its that big, besides, c files should zip up pretty
good...
>
> Anyways, looks like I won't be able to debug your bdist_rpm problem this
> morning; have to go get SWIG, etc. etc. Grumble.
>
> BTW, congratulations on finding -- and making use of -- every known
> "backdoor" entry into the Distutils. At least it looks like the 4Suite
> setup.py uses every sneaky trick that I can remember slipping in to the
> code at some point. Very gratifying to find that all those tricks are
> finally useful to someone! Also, it looks like 4Suite's setup.py is so
> complex it will be a good shaker-out of Distutils bugs. Thanks (I
> think)!
Your welcome:) Unfortunalty I simplified it alot this morning when I
removed the bgen stuff.
Mike
>
> Greg
> --
> Greg Ward gward@python.net
> http://starship.python.net/~gward/
--
Mike Olson Principal Consultant
mike.olson@fourthought.com (303)583-9900 x 102
Fourthought, Inc. http://Fourthought.com
Software-engineering, knowledge-management, XML, CORBA, Linux, Python