[prev in list] [next in list] [prev in thread] [next in thread] 

List:       squeak-dev
Subject:    Re: [squeak-dev] Interesting build problem on Raspberry PI 32 bit
From:       tim Rowledge <tim () rowledge ! org>
Date:       2023-03-31 17:53:37
Message-ID: 2CCA3EAC-C920-41BE-BD10-6E06F03C058C () rowledge ! org
[Download RAW message or body]

And...

"There has been a change to the default kernel loaded on 64-bit capable Pis. The \
64-bit (aarch64) kernel is now the default for those systems.

You can use another method to detect the software architecture (dpkg \
--print-architecture is one method).

Or you can force the 32-bit (armv7l or others) kernel to be used by putting \
arm_64bit=0 in /boot/config.txt"

> On 2023-03-31, at 10:50 AM, tim Rowledge <tim@rowledge.org> wrote:
> 
> I see a number of people have noticed this on the Pi forums - 
> https://forums.raspberrypi.com/viewtopic.php?t=349291
> 
> Looks like the latest downloadable images have been changed to use the 64bit kernel \
> but allow a 32bit userland. 
> A suggestion is to use `dpkg --print-architecture`
> 
> > On 2023-03-31, at 5:48 AM, Bruce O'Neel <bruce.oneel@pckswarms.ch> wrote:
> > 
> > Hi,
> > 
> > It's because it either uses
> > 
> > arch
> > 
> > or 
> > 
> > uname -m
> > 
> > Both of which *now* return
> > 
> > gresil:~$ uname -m
> > aarch64
> > gresil:~$ arch
> > aarch64
> > gresil:~$
> > 
> > To me this seems broken.  But that is what it does now.
> > 
> > It is a 64 bit kernel now.  But 32 bit userland.
> > 
> > cheers
> > 
> > bruce
> > 
> > On 2023-03-31T14:43:06.000+02:00, Tobias Pape <Das.Linux@gmx.de> wrote:
> > Thanks a bunch.
> > seeing that, I'm slightly puzzled how configure ended up with aarch64.
> > But maybe I've some time ahead :)
> > 
> > Best regards
> > -Tobias
> > 
> > On 31. Mar 2023, at 14:08, Bruce O'Neel <bruce.oneel@pckswarms.ch> wrote:
> > 
> > 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@gmx.de> wrote:
> > Hey Bruce
> > 
> > 
> > On 31. Mar 2023, at 12:03, Bruce O'Neel <bruce.oneel@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@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@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
> > 
> 
> 
> tim
> --
> tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim
> Try not to let implementation details sneak into design documents.
> 
> 


tim
--
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim
Original Sin is hard to find, but the digitally enhanced version is readily \
available.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic