Re: multiarch compatible cross compilers for Jessie

Paul Boddie <[email protected]>
Newsgroups gmane.linux.debian.devel.embedded
Message-ID <[email protected]>
On Thursday 7. August 2014 18.53.14 YunQiang Su wrote:
> For armhf, I guess you can get the cross complier with:
> 
> 1. install the libraries such as libc6-dev:armhf etc and other
> build-dep for gcc-4.9
> 2. apt-get source gcc-4.9
> 3. build gcc-4.9 with this command
> with_deps_on_target_arch_pkgs=yes DH_VERBOSE=1 WITH_SYSROOT=/
> BACKPORT=false PKG_IGNORE_CURRENTLY_BUILDING=1
> DEB_BUILD_OPTIONS=nostrip BACKPORT=false DEB_TARGET_ARCH=armhf
> dpkg-buildpackage -b -uc -us -d
> 
> then you can get packages like 'gcc-4.9-armhf-linux-gnu:amd64' and
> 'g++-4.9-armhf-linux-gnu:amd64' etc packages.

Of course, reading this again now teaches me to read more closely next time: 
the nostrip option clearly gets around the dh_strip problems I reported 
elsewhere. Nevertheless, I muddled through a build with some hacked up 
dh_strip statements of the following form in debian/rules.d/binary-*.mk:

if ! dpkg-architecture -f -t$(DEB_TARGET_GNU_TYPE) -c dh_strip ... ; \
then dh_strip ... ; fi

Here, ... refers to whatever arguments are being passed to dh_strip in each 
place. Naturally, this is a brute-force approach, but I found that although 
some places take kindly to the dpkg-architecture hack, others (particularly in 
the gccgo rules) appear to be used in both native and cross-building contexts.

So I've now managed to build i386 packages for the gcc 4.9 toolchains, which 
were absent from the toolchains.secretsauce.net repository.

Paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.