[squeak-dev] Interesting build problem on Raspberry PI 32 bit

Bruce O'Neel bruce.oneel at pckswarms.ch
Fri Mar 31 12:08:27 UTC 2023


HI,

Here you go:

DEB_BUILD_ARCH=armhf

DEB_BUILD_ARCH_ABI=eabihf

DEB_BUILD_ARCH_BITS=32

DEB_BUILD_ARCH_CPU=arm

DEB_BUILD_ARCH_ENDIAN=little

DEB_BUILD_ARCH_LIBC=gnu

DEB_BUILD_ARCH_OS=linux

DEB_BUILD_GNU_CPU=arm

DEB_BUILD_GNU_SYSTEM=linux-gnueabihf

DEB_BUILD_GNU_TYPE=arm-linux-gnueabihf

DEB_BUILD_MULTIARCH=arm-linux-gnueabihf

DEB_HOST_ARCH=armhf

DEB_HOST_ARCH_ABI=eabihf

DEB_HOST_ARCH_BITS=32

DEB_HOST_ARCH_CPU=arm

DEB_HOST_ARCH_ENDIAN=little

DEB_HOST_ARCH_LIBC=gnu

DEB_HOST_ARCH_OS=linux

DEB_HOST_GNU_CPU=arm

DEB_HOST_GNU_SYSTEM=linux-gnueabihf

DEB_HOST_GNU_TYPE=arm-linux-gnueabihf

DEB_HOST_MULTIARCH=arm-linux-gnueabihf

DEB_TARGET_ARCH=armhf

DEB_TARGET_ARCH_ABI=eabihf

DEB_TARGET_ARCH_BITS=32

DEB_TARGET_ARCH_CPU=arm

DEB_TARGET_ARCH_ENDIAN=little

DEB_TARGET_ARCH_LIBC=gnu

DEB_TARGET_ARCH_OS=linux

DEB_TARGET_GNU_CPU=arm

DEB_TARGET_GNU_SYSTEM=linux-gnueabihf

DEB_TARGET_GNU_TYPE=arm-linux-gnueabihf

DEB_TARGET_MULTIARCH=arm-linux-gnueabihf

cheers

bruce

On 2023-03-31T13:08:28.000+02:00, Tobias Pape <Das.Linux at gmx.de>
wrote:

Hey Bruce

  On 31. Mar 2023, at 12:03, Bruce O'Neel <bruce.oneel at pckswarms.ch> wrote:
 
 Hi,
 
 That's a good idea, but let's wait just a touch.  I suspect that we're not the only ones running into this.
 
 The only place where we would need this is around line 18582 of 
 
 opensmalltalk-vm/platforms/unix/config/configure
 
 aarch64)
 # Check whether --enable-fast-bitblt was given.
 if test "${enable_fast_bitblt+set}" = set; then :
   enableval=$enable_fast_bitblt;  if   test "x$enableval" = "xyes" ; then
       bitblt_objs="BitBltPlugin.o BitBltArm64.o BitBltDispatch.o BitBltGeneric.o"
       bitblt_flags="-DENABLE_FAST_BLT"
    fi
 
 fi
 
 This seems to be the only place where we use the architecture and we have not overridden it.
 
 Also I think we should have a bigger discussion about do we continue with 32 bit OSes and/or 32 bit builds?  But I'll make that a separate email exchange.
 
 
since its a raspbian, can you get me the output of

$ dpkg-architecture

? I think we could well work with that…

Best regards
    -Tobias

  cheers
 
 bruce
 
 
 On 2023-03-30T23:22:16.000+02:00, Eliot Miranda <eliot.miranda at gmail.com> wrote:
 Hi Bruce,
 
     maybe we should introduce a helper C file, wordsize.c or some such.  It could be as simple as
 
 #include <stdio.h>
 int main() { printf("%d\n", sizeof(void *)); return 0; }
 
 we would then compile that first and use its output to determine what to do next.  More reliable than uname?  What do you think?
 
 
 On Thu, Mar 30, 2023 at 11:23 AM Bruce O'Neel <bruce.oneel at pckswarms.ch> wrote:
 Hi all,
 
 First, this is not our problem :-). But it affects us.
 
 I have kept a 32 bit Pi OS around even though the rest of my ARM systems are 64 bit.
 
 Until today Squeak built fine.  The last build I did was 901401c from the 28th but tonight it started failing on Pi OS 32 bit with:
 
 tmp/opensmalltalk-vm/platforms/Cross/plugins/BitBltPlugin/BitBltArm64.c:261:9: error: invalid 'asm': invalid operand for code 'w'
 
 which is bizarre.  Why would it start building the BitBltArm64.c plugin?  It's ARM32 (armv7l to be exact). 
 
 And the is no way that the two commits since the last successful build could have changed this.  And what do you know, that commit fails as well now.
 
 But there is the problem.  uname -m returned armv7l.  Yesterday 
 
 But today it does not return armv7l.  Today uname -m and arch both return aarch64.
 
 Which is technically at some level correct.  This system IS a PI/400 so therefore it is an ARM64, but with a 32 bit OS installed.
 
 I think the change is this package:
 
 libc-bin:armhf 2.31-13+rpt2+rpi1+deb11u5
 
 We'll see if Debian or Raspberry PI fixes this in the next few days.
 
 cheers
 
 bruce

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230331/6d3fb156/attachment.html>


More information about the Squeak-dev mailing list