[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cross-compiling Debian packages



On Mon, Mar 13, 2006 at 04:36:33PM +0200, Riku Voipio wrote:
> On Thu, Mar 09, 2006 at 10:24:58PM +0100, Peter Kourzanov wrote:
> > To continue the "./configure in debian/rules" thread...
> 
> debian-devel is probably way too large audience, and will attract
> people not interested in crosscompiling/embedded on making
> unconstructive comments. lets move these threads to
> debian-embedded@lists.debian.org, ok?
 
 ok
 
> 
> > Can anyone tell me what is the factual difference between a cross- and a 
> > native-build?
> > I am aware only of an obvious limitation that a cross package build 
> > system can not rely
> > on the cross-compiled binaries generated in the process (coreutils comes 
> > readily as
> > an example)...
> 
> This is not a limitation for scratchbox[1], using cpu transparency via
> sbrsh or qemu tests *can* be executed. Ofcourse, for i386-uclibc this is
> even less of a problem, as binaries can be executed without problem on
> the cpu as long as ld.so and other libs are expected places. Which
> brings us to the other problem scratchbox solves (shameless plug!!)
> 
> Libary locations and library search paths. dpkg-cross and every other
> crosscompiling solution moves libraries to unexpected locations. You no
> longer can "just apt-get" the target arch libs you need. This is

 In general, you can not apt-get packages compiled for different
 archs or OS's. Why should you be able to just apt-get packages
 compiled for different Libcs?

> managable as long as you stick with autoconf -based software, but you'll
> go nuts with the more esoteric build systems, like the one of apache.
> Even with autoconfed apps, things like gtk and pango are not easy to
> crosscompile.

  The fact that they do not cross-compile cleanly is a sign that they
  are written using wrong assumptions, such as CC=gcc or
  -lc=libc.so.6. Should we not try to fix this at the source, i.e. in
  the packages themselves? This would help BTW not only in
  cross-compiling but also when the toolchains is upgraded.

> 
> Even then, modifying each and every debian package is a daunting
> process. It's easier to provide a crosscompiling solution that makes

  This can be gradual process of first getting a warning from
dpkg-buildpackage...

> the applications not notice that they have been crosscompiled. This i
> what Nokia is using too ;)

  Again, this feels wrong. You don't remove complexity of cross-building
  by adding more complexity on top. 

> 
> Inside scratchbox, the normal /lib, /usr/lib, and so on directories are
> filled with target arch libs and binaries, and apt-get install installs
> target arch pacakges. /scratchbox is then filled with host arch tools
> and crosscompilers.
> 
> [1] http://www.scratchbox.org/

  Will look into that, thanks!

> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 



Reply to: