Mail Archives: geda-user/2013/02/25/07:40:49
Kai-Martin Knaak wrote:
> > autopoint is part of gettext. The README file states that you must
> > install gettext. Some distributions package autopoint in a
> > gettext-devel package. The README notes this, and that you will need to
> > install any appropriate "-devel" or "-dev" packages. Furthermore,
> > autopoint is only required if building from git.
>
> Um...
> I always thought, the whole business of ./autogen.sh and ./configure is to
> to check for this kind of dependencies. Who else but those who compile
> from git source would need to run the configure script in the first place?
There is significant difference between building from git source
(only done by a small number of people on a small number of systems)
and building from a snapshot or release tarball (done by many more)
and it makes perfect sense to have much more obscure requirements for
git source if that makes some development work easier, as long as
there is no added cost for those who build snapshots or releases.
autogen is needed when building git code. It creates configure.
configure is needed when building git code or a tarball.
configure MUST check for everything that is required to build a
snapshot/release tarball.
I think it's nice if configure can also check requirements for
building git code, but I don't find it absolutely essential. More
importantly, how will configure know the two scenarios from each
other? It is unacceptable to have a snapshot/release fail to build
because tools which are only required for building git code are
unavailable.
> I too have been scratching my head more than once when configure was
> successfull, but compile still failed.
See above. It may or may not be something that should change in
configure. Remember what the exact purpose of configure is -
snapshot/release tarballs.
How to build git code should be documented, if any different, and
anyone giving the git code a go needs to understand that the process
is really different.
> Configure checks should be designed in a way that it catches
> missing packages from major distros.
No, absolutely not. configure checks must be designed to catch
missing requirements, which is vastly different from "packages".
Requirements are #included header files and exported symbols in
libraries. That's the only appropriate level of "things" to look at.
> Debian is the one of the major distros out there
That is irrelevant IMO. They still do lots of stupid things, and they
are of course always several years behind state of the art. Unless
the project suddenly decides to support debian and *nothing* else,
whatever debian does doesn't matter at all.
The actual thing that matters is what is *really* required to build.
The build process does not in any way interact with packages, so
packages are not relevant. Header files and symbols in libraries are.
//Peter
- Raw text -