linux-embedded.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bernd Petrovitsch <bernd@firmix.at>
To: Alexander Neundorf <neundorf@eit.uni-kl.de>
Cc: linux-embedded@vger.kernel.org
Subject: Re: cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...)
Date: Fri, 13 Jun 2008 10:38:36 +0200	[thread overview]
Message-ID: <1213346316.17853.28.camel@tara.firmix.at> (raw)
In-Reply-To: <200806130843.05704.neundorf@eit.uni-kl.de>

On Fre, 2008-06-13 at 08:43 +0200, Alexander Neundorf wrote:
> On Thursday 12 June 2008 17:50:31 you wrote:
> > On Thu, 2008-06-12 at 08:23 -0700, Tim Bird wrote:
> > > Rob Landley wrote:
> > > > However, having one or more full-time engineers devoted to debugging
> > > > cross-compile issues is quite a high price to pay too.  Moore's law
> > > > really doesn't help that one.
> > > >
> > > > I'm not saying either solution is perfect, I'm just saying the "build
> > > > under emulation" approach is a viable alternative that gets more
> > > > attractive as time passes, both because of ongoing development on
> > > > emulators and because of Moore's law on the hardware.
> > >
> > > I agree with much that you have said, Rob, and I understand the argument
> > > for getting the most gain from the least resources, but I have a
> > > philosophical problem with working around the cross-compilation problems
> > > instead of fixing them in the upstream packages (or in the autoconf
> > > system itself).
> > >
> > > Once someone fixes the cross-compilation issues for a package, they
> > > usually stay fixed, if the fixes are mainlined.
> >
> > I don't think that's true, unfortunately. Autoconf makes it _easy_ to do
> > the wrong thing, and people will often introduce new problems.
> >
> > If we just made people write portable code and proper Makefiles, it
> > would be less of an issue :)

ACK. And proper build time tools.

> Well, IMO this makes it sound too easy.
> If you write portable software, you have to do platform checks.
> Basically they can be done by
> -checking for the existence of files

That can be done as - sooner or later - one must install the compiled
stuff anyway. So one has root directory somewhere and one can tell the
tools.

> -checking if something builds
> -checking the output of running something you just built

And the above are not really a big problem - embedded people usually
know such details and can tell the autoconf tools.
Even worse is (or at least were) tools like pkg_config and libtool,
which generate directories to the build time library.

The only simple solution so far (without diving into the implementation
and searching for root causes) were AFAICS:
- do not use libtool for linking (as the link line as such without
  libtool works as expected)
- rewrite generated pkg_config files after generation.
Yes, that's pretty ugly.
But perhaps I was just too dumb to find the correct solutions.

> The last one is the problem for cross compiling.
> Example: detecting the size of ints

Why on earth does someone need this explicitly during the build?
If you have portable software, all of that should be hidden in the code
and use "sizeof(int)".

IMHO the code (or whatever piece uses it) should be fixed and the build
time stuff removed.

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services



  reply	other threads:[~2008-06-13  8:38 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
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 [this message]
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=1213346316.17853.28.camel@tara.firmix.at \
    --to=bernd@firmix.at \
    --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).