From: Robert Schwebel <r.schwebel@pengutronix.de>
To: Jamie Lokier <jamie@shareable.org>
Cc: Alexander Neundorf <neundorf@eit.uni-kl.de>,
linux-embedded@vger.kernel.org
Subject: Re: cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...)
Date: Sat, 14 Jun 2008 13:26:56 +0200 [thread overview]
Message-ID: <20080614112656.GX13599@pengutronix.de> (raw)
In-Reply-To: <20080614000749.GA30652@shareable.org>
On Sat, Jun 14, 2008 at 01:07:49AM +0100, Jamie Lokier wrote:
> Kernels, uclibc, busybox. All combinations can't be tested. But it's
> still _very_ useful to compile in only those parts wanted.
Kernel (and thus kconifg) is a critical mass project of it's own;
however, kconfig does only solve the "configuration" problem. Autotools
is much more. However, I was talking about userspace software. Core
components have usually much different needs.
> Media players with lots of optional formats and drivers are another.
> (They also have considerable problems with their Autoconf in my
> experience).
Send patches :-)
> Generally, anything with lots of parts that different applications
> might not use, and space or library dependencies are an issue.
According to my experience, the configure part of autotools is not it's
problem. Its more
- configure scripts are slow
- libtool isn't sysroot/destdir aware
- complex cross scenarios are not well supported (i.e. ace/tao, where
the IDL compiler needs most of libace and has to be compiled for both,
the "build" and "host" system)
> > That's exactly what ptxdist does: add a Kconfig frontend to the
> > configurable switches. It does it for the user's convenience, although
> > the currently implemented method is really developer-unfriendly (but we
> > care about our users first).
>
> I agree. (And it proved about not being able to test more
> combinations: last time I tried to build ptxdist, an up to date
> version (at the time), it failed in several places.)
Did you tell the development team? We are known to fix 95% of the
problems in this universe in less than 10 minutes :-)
However, we have a stable policy in the meantime (1.0.x is in
maintenance only mode, regularly tested and quickly fixed), and the team
is really responsive. So it may be time to try it out again :-)
> > autotools need only a shell and make
>
> No, that's true only for very simple packages.
Ok, plus normal unix tools like sed and awk ...
> Most packages need lots of additional libraries installed - and the
> development versions of those libraries, for that matter. Too often
> the right development version - not too recent, not too old. With the
> wrong versions, there are surprises.
Right. But this is the downside of being able to deal with all this
complexity: every other build system would have the same problem.
> You said about too many user-selectable options. Many large packages
> _check_ for many installed libraries. Get them wrong, and you have the
> same problems of untested combinations.
Yup, auto-testing is usually a problem if you build cross stuff.
> Sure, autotools by themselves don't need much. But that's not
> interesting: Autotools are not used only by themselves.
They don't need a special runtime environment other than shell. Other
systems like Perl, Python, Java or whatever has the problem that
anything other than the very core is not very well defined and ends up
in the version hell.
We have once tried to write our automated test system for embedded
boards with python and xml; the idea was to have something fancy, new
and with good code-reuse. In the end it failed because the pexpect
package we used to do the pattern matching bitrotted so quickly that
four months later all the fancy tests didn't work any more, because it
is not part of the python core.
In the meantime we have migrated our automatic testing stuff to use
shell, ssh/rsh and kermit. It is rock solid, and the code reuse factor
is at least as good as with anything else.
> Have you felt uncomfortable shipping a package that does use Autoconf,
> Automake and Libtool, knowing that the scripts generated by those
> tools are huge compared with the entire source of your package?
No :-)
> Have you _written_ Autoconf tests recently?
Yea, all our packages are autotoolized.
> Made any shell / shellutils non-portability mistakes in the tests?
Yea, it happens in ptxdist all the time. People report about problems,
we add new tests and the next revision works even on Ubuntu :)
> Have you _read_ a portable Makefile lately? Have you tried writing
> one for a complex package, confident that it's portable to different
> quirky makes, quirky shells and quirky tools, outside the parts which
> you might use Automake for?
>
> That's a rationale for the project which is rewriting Autotools in GNU
> Make, assuming that to be ubiquitous now, imho. (Not all interesting
> systems have a shell either.)
I have no problems with people writing fancy new things. It's just that
most people who try to do something better than autotools have only a
fraction of the features.
Open Source is darwinism: if there is something better, let's use it.
But compare apples with apples.
> If you're going to rewrite Autotools using GNU Make, why not ask if
> another tool would be better, perhaps a tool specially designed for
> the job?
Go ahead.
rsc
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Hannoversche Str. 2, 31134 Hildesheim, Germany
Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9
next prev parent reply other threads:[~2008-06-14 11:26 UTC|newest]
Thread overview: 182+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1209577322.25560.402.camel@pmac.infradead.org>
[not found] ` <87bq3rgq40.fsf@basil.nowhere.org>
[not found] ` <1209582709.25560.441.camel@pmac.infradead.org>
[not found] ` <1209582709.25560.441.camel-ZP4jZrcIevRpWr+L1FloEB2eb7JE58TQ@public.gmane.org>
2008-05-28 21:52 ` [PATCH 0/1] Embedded Maintainer(s), linux-embedded@vger list Rob Landley
2008-06-09 21:27 ` Leon Woestenberg
2008-06-10 3:53 ` Rob Landley
2008-06-10 4:30 ` Sam Ravnborg
2008-06-10 6:55 ` Rob Landley
2008-06-10 7:54 ` Sam Ravnborg
2008-06-10 9:09 ` Wolfgang Denk
2008-06-10 13:12 ` Jamie Lokier
2008-06-10 13:25 ` Will Newton
2008-06-10 13:33 ` David Woodhouse
2008-06-10 13:47 ` Will Newton
2008-06-10 13:53 ` David Woodhouse
2008-06-10 14:00 ` Grant Likely
2008-06-10 14:01 ` Wolfgang Denk
2008-06-10 14:29 ` Jamie Lokier
2008-06-11 5:34 ` Rob Landley
2008-06-10 13:49 ` Wolfgang Denk
2008-06-11 5:25 ` Rob Landley
2008-06-12 18:18 ` Enrico Weigelt
2008-06-12 18:55 ` Wolfgang Denk
2008-06-12 20:55 ` Enrico Weigelt
2008-06-15 21:48 ` Rob Landley
2008-06-17 14:11 ` Enrico Weigelt
2008-06-10 13:47 ` Wolfgang Denk
2008-06-10 10:20 ` Jamie Lokier
2008-06-10 10:36 ` Adrian Bunk
2008-06-10 10:50 ` Sam Ravnborg
2008-06-11 5:28 ` Paul Mundt
2008-06-10 17:36 ` Tim Bird
2008-06-11 3:35 ` Rob Landley
2008-06-11 5:47 ` Greg Ungerer
2008-06-12 0:41 ` Rob Landley
2008-06-12 7:55 ` Jamie Lokier
2008-06-12 15:23 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Tim Bird
2008-06-12 15:50 ` David Woodhouse
2008-06-12 16:05 ` Mike Frysinger
2008-06-12 16:08 ` David Woodhouse
2008-06-12 16:15 ` Mike Frysinger
2008-06-12 16:12 ` Robert P. J. Day
2008-06-13 0:25 ` Rob Landley
2008-06-13 1:22 ` Bill Gatliff
2008-06-13 6:55 ` Alexander Neundorf
2008-06-13 15:06 ` Enrico Weigelt
2008-06-13 7:04 ` David Woodhouse
2008-06-13 15:02 ` linux-embedded-owner
2008-06-13 17:00 ` David Woodhouse
2008-06-13 17:12 ` Bill Traynor
2008-06-13 18:44 ` Tim Bird
2008-06-13 18:55 ` Sam Ravnborg
2008-06-13 19:00 ` Bill Traynor
2008-06-13 19:43 ` Johannes Stezenbach
2008-06-13 17:30 ` Makefile debugger linux-embedded-owner
2008-06-13 8:50 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 9:11 ` Alexander Neundorf
2008-06-13 14:51 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Enrico Weigelt
2008-06-16 7:58 ` Alexander Neundorf
2008-06-16 16:00 ` Enrico Weigelt
2008-06-16 17:38 ` Adrian Bunk
2008-06-17 13:57 ` Enrico Weigelt
2008-06-13 11:14 ` Geert Uytterhoeven
2008-06-13 11:22 ` Bart Van Assche
2008-06-12 18:29 ` Josh Boyer
2008-06-12 19:02 ` Mike Frysinger
2008-06-13 13:29 ` Josh Boyer
2008-06-13 13:59 ` Josh Boyer
2008-06-12 16:08 ` Paul Mundt
2008-06-12 16:28 ` Bill Gatliff
2008-06-12 16:31 ` Paul Mundt
2008-06-12 16:38 ` Mike Frysinger
2008-06-12 18:50 ` Bernhard Fischer
2008-06-12 17:14 ` Bill Gatliff
2008-06-12 17:22 ` Mike Frysinger
2008-06-12 17:23 ` Sam Ravnborg
2008-06-13 18:01 ` Rob Landley
2008-06-12 16:37 ` David Woodhouse
2008-06-12 17:01 ` Adrian Bunk
2008-06-12 17:19 ` Bill Gatliff
2008-06-12 17:17 ` Bill Gatliff
2008-06-13 11:15 ` Geert Uytterhoeven
2008-06-13 11:17 ` David Woodhouse
2008-06-12 18:34 ` Enrico Weigelt
2008-06-12 19:00 ` Bill Gatliff
2008-06-15 21:51 ` Rob Landley
2008-06-12 18:30 ` Enrico Weigelt
2008-06-12 18:57 ` Wolfgang Denk
2008-06-12 16:23 ` Tim Bird
2008-06-12 18:37 ` Enrico Weigelt
2008-06-13 18:45 ` Robert Schwebel
2008-06-15 23:12 ` Enrico Weigelt
2008-06-16 8:02 ` Alexander Neundorf
2008-06-16 8:28 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-16 9:25 ` Alexander Neundorf
2008-06-13 1:25 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Rob Landley
2008-06-13 1:28 ` Robert P. J. Day
2008-06-13 1:29 ` Mike Frysinger
2008-06-13 6:30 ` Alexander Neundorf
2008-06-13 18:51 ` Robert Schwebel
2008-06-13 22:25 ` Jamie Lokier
2008-06-13 23:19 ` Robert Schwebel
2008-06-14 0:07 ` Jamie Lokier
2008-06-14 11:26 ` Robert Schwebel [this message]
2008-06-16 11:39 ` Jamie Lokier
2008-06-16 12:06 ` Alexander Neundorf
2008-06-16 13:32 ` Jamie Lokier
2008-06-16 16:28 ` Bernhard Fischer
2008-06-16 22:28 ` Jamie Lokier
2008-06-16 22:44 ` Adrian Bunk
2008-06-16 5:11 ` Enrico Weigelt
2008-06-16 11:33 ` Jamie Lokier
2008-06-16 8:33 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-16 11:17 ` Jamie Lokier
2008-06-16 11:43 ` Bernd Petrovitsch
2008-06-16 7:55 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Alexander Neundorf
2008-06-16 15:15 ` Enrico Weigelt
2008-06-17 6:27 ` Alexander Neundorf
2008-06-17 13:46 ` Enrico Weigelt
2008-06-17 14:22 ` Alexander Neundorf
2008-06-16 4:57 ` Enrico Weigelt
2008-06-16 11:44 ` Jamie Lokier
2008-06-16 4:31 ` Enrico Weigelt
2008-06-16 8:13 ` Alexander Neundorf
2008-06-16 8:21 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 3:11 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Sam Ravnborg
2008-06-13 18:47 ` Robert Schwebel
2008-06-13 6:43 ` Alexander Neundorf
2008-06-13 8:38 ` Bernd Petrovitsch
2008-06-13 9:06 ` Alexander Neundorf
2008-06-13 9:12 ` David Woodhouse
2008-06-13 9:32 ` Alexander Neundorf
2008-06-13 15:28 ` Enrico Weigelt
2008-06-14 0:31 ` Jamie Lokier
2008-06-16 4:23 ` Enrico Weigelt
2008-06-16 10:49 ` Jamie Lokier
2008-06-16 11:09 ` David Woodhouse
2008-06-16 11:52 ` Jamie Lokier
2008-06-16 11:59 ` David Woodhouse
2008-06-16 16:43 ` Bernhard Fischer
2008-06-13 10:03 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 11:24 ` Alexander Neundorf
2008-06-13 13:17 ` Jamie Lokier
2008-06-13 13:28 ` Bernd Petrovitsch
2008-06-13 13:40 ` Alexander Neundorf
2008-06-13 13:56 ` Matthieu CASTET
2008-06-13 14:41 ` Enrico Weigelt
2008-06-13 14:49 ` Jamie Lokier
2008-06-13 14:51 ` Enrico Weigelt
2008-06-13 14:55 ` Enrico Weigelt
2008-06-13 15:16 ` Enrico Weigelt
2008-06-13 18:45 ` Bernd Petrovitsch
2008-06-13 19:10 ` Robert Schwebel
2008-06-16 4:08 ` Enrico Weigelt
2008-06-16 7:31 ` Peter Korsgaard
2008-06-16 14:33 ` Enrico Weigelt
2008-06-16 16:45 ` Bernhard Fischer
2008-06-13 19:14 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Rob Landley
2008-06-13 15:25 ` Enrico Weigelt
2008-06-12 18:25 ` [PATCH 0/1] Embedded Maintainer(s), linux-embedded@vger list Enrico Weigelt
2008-06-12 21:11 ` David VomLehn
2008-06-12 21:42 ` James Chapman
2008-06-12 21:46 ` Mike Frysinger
2008-06-12 21:53 ` Tim Bird
2008-06-12 21:56 ` Mike Frysinger
2008-06-13 8:39 ` James Chapman
2008-06-13 9:02 ` Daniel THOMPSON
2008-06-13 11:28 ` James Chapman
2008-06-12 22:02 ` Jim Freeman
2008-06-13 13:14 ` Samuel Robb
2008-06-13 14:36 ` Enrico Weigelt
2008-06-13 14:26 ` Enrico Weigelt
2008-06-13 22:24 ` David VomLehn
2008-06-15 15:39 ` Leon Woestenberg
2008-06-15 21:43 ` Rob Landley
2008-06-23 17:22 ` Denys Vlasenko
2008-06-23 18:57 ` Sam Ravnborg
2008-06-23 19:12 ` Denys Vlasenko
2008-06-23 19:33 ` Sam Ravnborg
[not found] ` <1209636171.25560.508.camel@pmac.infradead.org>
[not found] ` <20080501104158.GM20451@one.firstfloor.org>
2008-06-23 17:28 ` Denys Vlasenko
2008-06-23 17:45 ` Adrian Bunk
2008-06-23 18:19 ` Denys Vlasenko
2008-06-23 19:05 ` Tim Bird
2008-06-25 9:50 ` James Chapman
2008-06-25 15:41 ` Adrian Bunk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080614112656.GX13599@pengutronix.de \
--to=r.schwebel@pengutronix.de \
--cc=jamie@shareable.org \
--cc=linux-embedded@vger.kernel.org \
--cc=neundorf@eit.uni-kl.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).