Coder Social home page Coder Social logo

Mac ARM support about wabt HOT 15 CLOSED

andreaTP avatar andreaTP commented on June 22, 2024
Mac ARM support

from wabt.

Comments (15)

andreaTP avatar andreaTP commented on June 22, 2024 2

Hi @kgantchev and thanks for your proposal, I'll wait for this repo maintainer's feedback and guidance 👍

from wabt.

keithw avatar keithw commented on June 22, 2024 2

My own opinion is that I'd love to focus on having our deliverable be source code (like a typical old-school FLOSS project), and let downstream distributors (Linux distributions, PPAs, MacPorts, Homebrew, etc.) be the ones to prepare binaries. If Homebrew isn't preparing binaries in a way that serves the needs of Mac users, that seems like a great topic to bring up with them...

But, sure, if there's a PR that makes people happy and doesn't cost us anything, great.

from wabt.

kgantchev avatar kgantchev commented on June 22, 2024 2

@andreaTP

I think I got the setup correctly, but some of the tests are not passing. Perhaps one of the other (more experienced) contributors can pick it up from here?

from wabt.

sbc100 avatar sbc100 commented on June 22, 2024 1

If somebody wants to send a PR that does this (but doesn't cost anything) feel free to do so.

In the mean time it seems reasonable to suggest that folks just use homebrew (or for more complex use cases like your just build your own binaries).

from wabt.

keithw avatar keithw commented on June 22, 2024 1

I think we probably could talk ourselves into merging the CI change without the tests 100% passing on arm64 yet, but somebody needs to submit it as a Pull Request for me (or any of us) to review it.

from wabt.

sbc100 avatar sbc100 commented on June 22, 2024

Can folks use the homebrew version: https://formulae.brew.sh/formula/wabt ?

from wabt.

andreaTP avatar andreaTP commented on June 22, 2024

Yes we worked around this way for now, unfortunately this way we cannot control the wabt installed version and it can give issues.
It would be nice to have a GH official release of the packages for all of the architectures.

from wabt.

sbc100 avatar sbc100 commented on June 22, 2024

If you would like to contribute a github CI recipe to publish an arm64 macOS build that would be most welcome.

from wabt.

andreaTP avatar andreaTP commented on June 22, 2024

Make sense, unfortunately, I'm extremely not familiar with this project build and tools, I have attempted to use the new apple silicon runners but they are available only for enterprise accounts.

It should be anyhow possible to do something with Qemu or similar, it would be great if you have any reference or link to spare to get me started @sbc100 🙏

from wabt.

kgantchev avatar kgantchev commented on June 22, 2024

@andreaTP Hi, I'm the CEO and co-founder of FlyCI. You can also try the FlyCI's M1 and M2 runners. We have a free tier of 500 minutes/month on M1.

Easily replace your M1 runners:

jobs:
 ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m1
   steps:
   - name: 👀 Checkout repo
     uses: actions/checkout@v4

Exclusive M2 runners:

jobs:
  ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m2
    steps:
      - name: 👀 Checkout repo
        uses: actions/checkout@v4

They're up to 2x faster and up to 2x cheaper than GitHub's. We'll be very happy to have you on board.

from wabt.

andreaTP avatar andreaTP commented on June 22, 2024

@kgantchev I attempted to run on FlyCI:
https://github.com/andreaTP/wabt/actions/runs/7658941205/job/20872958046#step:2:6

Apparently, the CI definition needs more tweaks than I initially thought, this is very low priority for me, if you want to pick it up it would be great!

from wabt.

keithw avatar keithw commented on June 22, 2024

Looks like only two tests are failing, both related to SIMD. But this seems quite close.

The simd_address failure is expected as we have a TODO for this (https://github.com/WebAssembly/wabt/blob/main/src/template/wasm2c_simd.declarations.c#L6); somebody will need to give us the appropriate asm constraint on arm64.

The simd_i8x16_arith2 failure is less expected and seems to indicate an arm64 issue with the simd-everywhere library that wasm2c uses; I would try updating the third_party/simde submodule to the latest simd-everywhere commit, and if that fixes it, great. Otherwise somebody needs to report this upstream to https://github.com/simd-everywhere/simde

from wabt.

kgantchev avatar kgantchev commented on June 22, 2024

Thanks @keithw... I trust that you guys got it from here.

The change is pretty simple tho. Let me know if you run into any issues with our MacOS arm64 runners. Our team is standing by should you have any problems.

Best Regards,
Kiril Gantchev
CEO and co-founder of FlyCI

Web: flyci.net | Twitter: flyciapp | LinkedIn: FlyCI | Discord: FlyCI

from wabt.

kgantchev avatar kgantchev commented on June 22, 2024

@keithw I'm not sure if that's an invitation for me to make the PR... :)

However, I made a draft PR. I'll be happy to contribute with it if that's the direction you were thinking about.

One thing to consider is that FlyCI app should be installed on this account and it should be granted permission to this repo, otherwise, none of the FlyCI jobs will be picked up by our workers. The install instructions are in the draft PR. Once that's ready, I'll make the draft into an actual PR.

from wabt.

andreaTP avatar andreaTP commented on June 22, 2024

M1 runners are now available for open-source projects on GH Action:
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/

from wabt.

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.