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

Re: multiarch compatible cross compilers for Jessie

Le 05. 10. 14 20:01, Paul Boddie a écrit :
OK, as you know, I managed to build a toolchain recently, specifically for an
i386 build platform and a mipsel target platform. Aside from the occasional
dependency disruption where I managed to update various gcc-related i386
packages and then had to wait for the mipsel dependencies to catch up (or be
told that the gcc-4.9 build dependencies needed all my essential packages to
be removed in order for them to be installed themselves), and apart from the
dh_strip problem mentioned a few days ago (where I'd managed to ignore the
workaround suggested by YunQiang Su), it all seemed to work.

One thing that wasn't clear and doesn't seem to be resolved, however, and
which seems to obstruct package cross-building is the matter of the generic
gcc program or symbolic link:


I suppose that the "resolution" of this matter by providing the gcc-defaults-
armel-cross package isn't really a proper solution. Unless one manually makes
a symbolic link for gcc (in my case, mipsel-linux-gnu-gcc, I guess), it
appears necessary for me to edit debian/rules files to set CC manually
wherever configure is called, although I could be missing some debhelper
mechanism that would normally be invoked to deal with this.

Another thing is the matter of programs like pkg-config:


Again, the suggested solution of manually making a symbolic link for a target
platform seems like a bit of a hack, really, but it does seem to make cross-
builds work without any extra effort. I suppose no further consensus was
reached about providing platform-specific pkg-config programs or links.

Anyway, after a couple of successful cross-builds (involving the libvorbisidec
and sdl-mixer1.2 source packages), those are my experiences so far. Thanks to
everyone who has made this possible!

Many thanks Paul for sharing your experience and tips regarding multiarch compatible cross
compilers for Jessie. It show that the emDebian effort are going forward.

Having not the required time to investigate the same route, I finally tried a radically different approach: I now compile and build the specific packages of my applications directly on the armhf target (536MHz Cortex-A5), using his native build infrastructure. This immediately terminate all cross building problems down with surprisingly little downside. The compilation is slow, but not to the point of making the whole process ineffective. I can only use terminal tools (instead of graphical IDE tools), but as I usually work on remote machines, this change nothing for me. As usual, I use git to push the source code from the target to the internal server and reprepro + rsync to upload the package from the target to my client's servers. Cross-compiler is still required to build initial bootloader and all kernel as his big size make the process far too slow on the target. The two are easy to handle because there basically have no dependency. The most frustrating is the long time need by almost any apt-* operations to read the
packages informations.

I am confident that more powerful armhf machines where Debian jessie is easy to run exists and even more will be in the future, so this route might become my default route for some time. I will still keep an eye to the multiarch cross-building progress.


Reply to: