[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
|