Git Product home page Git Product logo

Comments (3)

pguyot avatar pguyot commented on May 18, 2024

What are you trying to achieve?

cortex-a72 is a 64 bits CPU and raspbian_lite:2020-02-13 is a 32 bits image, and quite old.
If you want to compile code for 64 bits, you should use a 64 bits image, for example raspios_lite_arm64:latest.

If default CPU doesn't work for you, I would suggest something like cortex-a7:cortex-a72.

from arm-runner-action.

sv3ndk avatar sv3ndk commented on May 18, 2024

Hi,

Thanks for the feed-back!

What are you trying to achieve?

I'm trying to build some python wheel packages that come with some C extension for python 3.9 and Raspbian Buster. Buster is indeed an old version of Debian/Raspbian, although we're stuck with it atm for various reasons.

cortex-a72 is a 64 bits CPU

This information surprises me. At least from my current OS perspective it seems to be detected as a 32bits

sudo lshw
revpi84638
    description: ARMv7 Processor rev 3 (v7l)
    product: Raspberry Pi Compute Module 4S Rev 1.0
    serial: 1234
    width: 32 bits
    capabilities: smp

If default CPU doesn't work for you, I would suggest something like cortex-a7:cortex-a72.

I finally got it working with base_image: raspios_lite:2021-05-07 (the most recent still based on buster, and thus the GLIB_C 2.28 that I have at runtime) and cpu: cortex-a7:cortex-a72 , the CPU you recommended me

Thanks again for the help, your comment put me in the right direction.

from arm-runner-action.

pguyot avatar pguyot commented on May 18, 2024

This information surprises me. At least from my current OS perspective it seems to be detected as a 32bits

Sorry, my explanation was unclear.

Your board can run 64bits and 32bits code. You are running a 32bits OS which reports the CPU is 32bits, even if it reports your CPU is a cortex-a72, which is a 64bits core.

The cpu option is passed to qemu-arm (32bits) and qemu-aarch64 (64bits). Using binfmt, the action invokes qemu-arm on 32bits ARM elf binaries and qemu-aarch64 on 64bits ARM elf binaries.

qemu-arm doesn't recognize cortex-a72 and doesn't translate it to the 32bits subset your board can run, hence the failure.

The option you adopted:

cpu: cortex-a7:cortex-a72

is safe because it configures qemu-arm with cortex-a7 and qemu-aarch64 with cortex-a72.

I believe cortex-a7 is close enough to the 32bits subset your board runs, so any binary created by compilers using the action will run well on your board.

from arm-runner-action.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.