Re: multiarch compatible cross compilers for Jessie
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
Reply to: