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:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults-armel-cross/+bug/600930
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:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults-armel-cross/+bug/771569
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.
Jean-Christian
--
To UNSUBSCRIBE, email to debian-embedded-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/5431bd4e.1070...@eclis.ch