Re: Bug#939453: sbcl: Please pass host architecture explicitly when calling make.sh in debian/rules
John Paul Adrian Glaubitz <[email protected]>
| Newsgroups | gmane.linux.debian.ports.hppa,gmane.linux.debian.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
Hi Sébastien! On 9/14/19 4:43 PM, Sébastien Villemot wrote: >> I was just trying to build sbcl for ppc64 on a powerpc Debian with a ppc64 >> chroot and noticed that the build set the compiler architecture to "ppc" >> during build. > > It looks like this particular case is somehow expected. See line 362 of > make-config.sh: for a Debian architecture of "ppc64", the SBCL > architecture is explicitly set at "ppc". However, for a Debian > architecture of "ppc64el", then the SBCL architecture is "ppc64". Yes, that's correct. On hppa, on the other hand, the problem is that sbcl does not consider the case of a 32-bit userland on a 64-bit, although this is currently the common use case for hppa. > I don’t really understand why there is such a strange mapping, but at > least your problem does not come from the Debian packaging. The mapping exists because for architectures like PowerPC and SPARC it used to be very common to use a 32-bit userland on a 64-bit kernel. This way you would get the advantage to use large virtual address spaces on the one hand and getting high performance due to the use of 32-bit pointers on the other hand. Unlike x86, both PowerPC and SPARC didn't make very big jumps from 32 to 64 bits unless the 32-bit baseline you started from was very old which was not the case in Debian, for example. In any case, it would be very useful if this mapping could be added to debian/rules for at least hppa and ppc64. ifeq (hppa,$(DEB_HOST_ARCH)) export SBCL_ARCH=hppa endif ifeq (ppc64,$(DEB_HOST_ARCH)) export SBCL_ARCH=ppc64 endif Could you add this to debian/rules? FWIW, for hppa, you can alternatively backport my patch which I contributed upstream [1]. Thanks, Adrian > [1] https://github.com/sbcl/sbcl/commit/d78e5e730dd41c6db80c4f6604a9cb66f41171b3