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

Re: Qt, aRts and KDE C++ ABI transitions: time to upload your packages



On Thu, Sep 01, 2005 at 05:46:36PM +0200, Adeodato Sim? wrote:
> 
>   What if you get an Internal Compiler Error
>   ==========================================
> 
>     If your package FTBFS on arm, m68k and hppa due to the following:
>     "internal compiler error: in cp_expr_size, at cp/cp-objcp-common.c:101",
>     you are being bit by Bug#323133. This bug will be fixed in GCC 4.1,
>     so until that version enters unstable, you should build your package
>     with gcc-3.4 in those three architectures. To do that:
> 
>       - add "g++-3.4 [arm m68k hppa]" to your Build-Dependencies
>       - add the following, or similar, snippet to your debian/rules:
> 
>         GCC4_ICES_HERE := arm m68k hppa
>         DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
> 
>         ifneq (,$(findstring $(DEB_BUILD_ARCH),$(GCC4_ICES_HERE)))
>             export CC=gcc-3.4
>             export CPP=cpp-3.4
>             export CXX=g++-3.4
>         endif

This isn't really important in this case, because there are no non-Linux ports
of arm, m68k or hppa, but it should be noted that the correct way to do this
portably would be:

         GCC4_ICES_HERE := arm m68k hppa
         DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
 
         ifneq (,$(filter $(DEB_HOST_ARCH_CPU),$(GCC4_ICES_HERE)))
             export CC=gcc-3.4
             export CPP=cpp-3.4
             export CXX=g++-3.4
         endif

Note1: as for Build-Depends line, this can't be done portably as of now, but
pending changes in dpkg will allow it soon.

Note2: s/BUILD/HOST/g change was done not to break cross buildability

Note3: s/findstring/filter/g change prevents unwanted sub-string matching

-- 
Robert Millan



Reply to: