Project: Automated Multi-Arch Cross-Building and Bootstrapping<br><span>Report</span> #4 - Jul 4th to Aug 1th<br><br>In the beggining of the month I started to solve the glib2.0/gamin loop of armel architecture using my amd64 computer. Firstly I used the debootstrap command to create a chroot system to be
the host system and then I installed the essential packages needed to
build packages from sources on the host system. After that I got the
sources of the glib2.0 and gamin packages. Analyzing the descriptions of these
packages, I supposed that glib2.0 may be compiled without the gamin
package. So I modified the control file of the glib2.0 package and
change the build-dep field in order to be able to compile the glib2.0
without the gamin package. <br>
<br>In order to solve the cycles we should do a staged build. This is
useful to solve cycle dependencies because in a stage 'n' we may build
packages without some dependencies in order to break the cycle. Usually
we just need to build in one stage but is possibly to need more than
one stage. After build all the stages, the system builds all packages
using the normal dependencies. So I should insert I field on the
control file called build-depN which informs the build-dependencies of
the build stage N. The auto-bootstrap tool should read the control file
of each package and be able to analyze correctly the build-depN field.<br>
<br>While I was trying to solve the glib2.0/gamin loop of the armel architecture, I discovered that I should install on the host system a set of tools to cross build/compile the sources for the build system using the host system. Remember that the host system is diferent of the build system. In my case, the host system is an amd64 system and the build system is an amel system. These tools are going to compile the sources on the host system and create a binaries that are going to be installed on the build system. <br>


<br>So I spent a lot of time trying to build and install the cross-build tools on the host system since it is a very hard task. In a conversation with Wookey he showed me a toolbox from emdebian that I should use instead of build a toolbox from scratch. After I installed this toolbox on the host system, I was able to built a lot of bootstrap needed packages for the armel architecture.<br>


<br>While I was building these packages I found a lot of problems on the sources that cause problems while cross-compiling even if it isn't part of a cycle and I did some patches for these sources to solve these problems. This was a very hard task becouse we don't have so much documentations about it on the internet and many patchs I found was for another linux distribution instead of Debian. <br>


<br>After a conversation with Wookey, we conclude that I need to concentrate my efforts on patch the cycles dependencies involved on the bootstrap packages instead of concetrate on the automaterd cross-build tool. So, On the next 2 weeks I'm going to patch the sources of the bootstrap needed packages in order to break the cycles dependencies that involves these packages.<br>


<br>Unfortuntly I couldn't go to the DebConf 11 but my mentor (Wookey) was there. I'm hopeful to go on a next oportunity.<br><br>Cheers, <br><br>Gustavo Alkmim<br>Master Student at Unicamp/Brazil<br>