[sword-devel] Autotools Bug?
jmarsden at fastmail.fm
Mon May 11 14:00:56 MST 2009
Greg Hellings wrote:
> The install was not 100% fresh... I had already tried to do
> autotools.sh, and thus installed automake/conf and libtool.
OK. I suspect that the number of developer machines out there which
have a working autotools installation, but no C++ compiler, is fairly
small :) So, there is probably not much of a need to better address
this specific (rare) situation in the SWORD build system.
>> sudo apt-get install build-essential
> Never did like that - I enjoy doing things in Linux the longer way.
Which is 100% fine for experts... but surely the whole point of having
project-specific "easy-to-use" shell scripts like autogen.sh is to make
things simpler for the non-experts? So, if we're going to have such
convenience scripts in SWORD, shouldn't they add real convenience? :)
> That pulls in extra packages (dpkg-dev) that I don't want to bother
It's one package, it is tiny (600K download, 1.2MB installed) compared
to g++ and libstdc++, and it is something that most Debian/Ubuntu
developers are going to want to use at some point, as they look into or
modify the contents of .deb packages and their corresponding source
But doing things the longer way is your choice, as an expert, of course.
That's not really what I'm trying to address here. The point is that
there exists a well-known way to install the standard set of development
tools on Debian and Ubuntu -- and it would have helped to prevent the
issue you ran into, had you chosen to use it, or had the convenience
script you ran detected and offered to remedy the issue, by using that
> I would be startled, alarmed and probably not trust a package which
> asked me for my sudo password while I was just configuring it. No
So in your view, it is better (for most SWORD developers and wannabe
SWORD developers -- not just for you!) to have a project-specific
non-standard helper/convenience script just fail? That is preferable to
displaying something like "Your system does not have the appropriate
development tools installed, please provide your sudo password and they
will be installed for you now using "sudo apt-get install
build-essential" and then running the command?
As a "middle ground" compromise, the script could just output a message
suggesting that the developer run "sudo apt-get install build-essential"
and then re-run the helper script, in these circumstances, if the idea
of the script running the install command itself is really that troubling.
Given that most folks who run autogen.sh will already have the relevant
basic development tools in place, and so will never be so prompted, only
novice (or forgetful!) SWORD developers on new systems will ever see
this... it seems to me there is value in doing something like this.
[Aside: I was somewhat "alarmed" at the use of non-standard scripts for
the SWORD build process when I first unpacked the source tarball and
read the INSTALL file, and so I read them through before running them
... I think most experienced developers would do the same. Their doing
so would address any concern about the appropriateness of using sudo
If the idea of autogen.sh is other than to be a convenience for SWORD
developers, what *is* its purpose? Indeed, an expert developer with no
prior knowledge of SWORD seeking to recreate the build system would
probably see a configure.ac file and then instinctively run autoreconf
(maybe with --install and/or --force options), since AFAIK that is the
standard way to regenerate a GNU build system.
On a related note: Why doesn't autogen.sh use autoreconf, rather than
running each separate component (libtoolize / aclocal / autoconf /
autoheader / automake) ? Would a small patch to fix things up (one line
additions to Makefile.am and configure.ac, AFAICS) so that autoreconf
works correctly and with fewer warnings for SWORD, and to have
autogen.sh use it, be accepted/useful?
More information about the sword-devel