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

Re: emchain: Automated toolchain builder



Neil,

    First of all thanks for all your work.
    I've tried to use emchain to build the toolchain but it has failed,
I've come accross some bugs I could solve myself but at the end it fails
while compiling gcc.
    This is what I've tried:
*    Host machine: i386 (actually a dual core centrino based laptop).
*    Target machine: arm (an i.MX21 from freescale)
*    I've added to my sources.list a line for arm binaries.
*    I've hardcoded $arch=arm in the scripts (emchain, apt-cross) as I
was unable to find which was the correct syntax in
$HOME/.dpkg-cross/configure
*    I've moved both scripts to /usr/local/sbin
*    I've created a new dir for emchain operations in $HOME/emchain and
changed there
*    I've executed emchain -v: It builds binutils but fails compiling
gcc with a criptical message about incorrect/unmet build dependencies
(an apt-get build-dep gcc-4.1 gives no result).

Any ideas on where to move from here?

Thanks.

Neil Williams escribió:
> http://buildd.emdebian.org/repos/tools/emchain/
>
> emchain implements the EmdebianSlind toolchain build process for
> the latest versions of gcc, binutils and libc. To build toolchains
> for older compilers, see the Emdebian website: www.emdebian.org
>
> emchain uses dpkg-cross and apt-cross to determine the latest
> versions of toolchain packages, downloads the source for each missing
> package, builds the package using EmdebianSlind options and commands,
> then installs the cross-built packages and toolchain packages.
> (emchain therefore requires 'sudo').
>
> emchain needs to be run from a consistent working directory so that it
> can check if it needs to download any new versions. I will look at a
> command for emchain to set and change to this location in future
> versions.
>
> buildcross is for developers who may need more than one version of gcc
> available for cross-building.
>
> emchain is intended for automated chroot builds along the lines of
> pbuilder.
>
> In a pbuilder chroot (e.g. amd64 native), only gcc-4.1 is available.
> When I run pdebuild it is gcc-4.1 that gets called (or whatever is the
> current Debian default). emchain reflects this situation: it looks for
> the current Debian compiler as would be used on the buildd itself.
>
> ## Pseudo-code:
> ## In each case, version numbers are always reset to the current
> Debian ones.
>
> # $ apt-get source gcc-3.4 binutils libc
> # $ cd binutils-2.17
> # $ TARGET=arch-linux fakeroot debian/rules binary-cross (replace arch
> by arm, alpha,...)
> # dpkg -i built-package
> # apt-cross -i libdb1-compat libc6 libc6-dev linux-kernel-headers
> # $ export GCC_TARGET=$arch
> # $ cd gcc-3.4-3.4.2
> # $ debian/rules control
> # $ dpkg-buildpackage -b -rfakeroot
>
> i.e. the method from "Building your own" at
> http://www.emdebian.org/tools/crosstools.html
>
> emchain can be easily automated - it is intended to work with cron-apt
> so that as soon as a new toolchain package reaches the main Debian
> archive, the cross-built toolchain can be updated.
>
> Future versions will incorporate this behaviour so that if an update
> is needed, the cross-built packages can be removed after cron-apt runs
> 'apt-get update', 'apt-get upgrade' is therefore allowed to complete
> normally (because the new Debian versions will require the removal of
> the cross-built emdebian packages) and then emchain run again to get,
> build and install the updated cross-built toolchain. In this manner,
> it should take a maximum of 48hrs for emdebian toolchains to update
> after the availability of updated packages in Debian.
>
> By doing it all via cron we could gain:
> 1) Transparent updates of the toolchains, dictated by Debian updates.
> 2) email notification, via cron, of any failure messages
> 3) ability to use emchain on the buildd itself.
>
> I'll dput my latest amd64 builds to the emdebian repository later.
>
> -- 
> Neil Williams
> =============
> http://www.data-freedom.org/
> http://www.nosoftwarepatents.com/
> http://www.linux.codehelp.co.uk/
>

-- 
Manuel Villar Guijarro
        Ingeniería de Sistemas
        
AERONAVAL DE CONSTRUCCIONES E INSTALACIONES, S. A.        
        Pabellón de Italia - Isla de la Cartuja
        c/ Isaac Newton s/n, CP 41092, SEVILLA
Web: www.acisa.es




----------------------------------------------------

CONFIDENCIALIDAD
Este correo electronico y, en su caso, cualquier fichero anexo al mismo, contiene informacion de caracter confidencial exclusivamente dirigida a su destinatario o destinatarios y propiedad de ACISA. Queda prohibida su divulgacion, copia o distribucion a terceros sin la previa autorizacion escrita de ACISA, en virtud de la legislacion vigente. En el caso de haber recibido este correo electronico por error, se ruega notificar inmediatamente esta circunstancia mediante reenvio a la direccion electronica del remitente y la destruccion del mismo.

CONFIDENTIALITY
The information in this e-mail and in any attachments is classified as ACISA Confidential and Proprietary Information and solely for the attention and use of the named addressee(s). You are hereby notified that any dissemination, distribution or copy of this communication is prohibited without the prior written consent of ACISA and is s strictly prohibited by law. If you have received this communication in error, please, notify the sender by reply e-mail.
begin:vcard
fn:Manuel Villar Guijarro
n:Villar Guijarro;Manuel
org;quoted-printable:Aeronaval de Construcciones e Instalaciones, S. A.;I+D: Ingenier=C3=ADa de Sistemas
adr;quoted-printable;quoted-printable:c/ Isaac Newton, s/n;;Parque Cient=C3=ADfico y Tecnol=C3=B3gico Cartuja 93. Pabell=C3=B3n deIta=
	lia. M=C3=B3dulos A y B, 2=C2=AA Planta NE;Sevilla;Sevilla;41092;Espa=C3=B1a
email;internet:mvillar@acisa.es
title:Ingeniero de sistemas
tel;work:+34 954 00 60 59
tel;fax:+34 954 09 08 04
tel;cell:+34 645 870 755
x-mozilla-html:TRUE
url:http://www.acisa.es
version:2.1
end:vcard


Reply to: