-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for ARM64 #31
Comments
Can we get rid of pact upstream, in Open edX? |
Seems unlikely... it looks like they just added it this summer: openedx/frontend-app-learning#510 |
My feeling is that it's going to be easier to make a contribution to pact than to fix the issue here. |
Pact maintainer here - pact works fine on an M1 macbook running OSX because of rosetta. It won't work if you are running a different OS on that chipset, though. |
@msegado I opened a PR against frontend-app-learning to switch pact from being a base dependency to a devDependency: openedx/frontend-app-learning#823. Do you know if that would stop Pact from breaking |
It turns out that my PR linked above might fix the Pact issue for production image builds (assuming |
@kdmccormick I know that there's an option to make some Dockerfile conditionals based on |
I am running into an issue with the following: FROM docker.io/node:12-bullseye-slim AS base
RUN apt update \
&& apt install -y git \
# required for cwebp-bin
gcc git libgl1 libxi6 make \
# additionally required for gifsicle, mozjpeg, and optipng
autoconf libtool pkg-config zlib1g-dev \
# additionally required for node-sass
python g++
# Required for avoiding failed frontend-app-learning build due to missing binary on M1
# (breaks pact tests)
ENV PACT_SKIP_BINARY_INSTALL=true
RUN mkdir -p /openedx/app /openedx/env However, when I run #71 42.45 ERROR in ./src/index.scss
#71 42.45 Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
#71 42.45 ModuleBuildError: Module build failed (from ./node_modules/image-webpack-loader/index.js):
#71 42.45 Error: Cannot find module 'gifsicle'
#71 42.45 Require stack: Per suggestions on the Internet, tried updating my Dockerfile to the following to install
|
@jigsawlabs-student Please correct me if I'm wrong but the gifsicle Node package requires the gifsicle binary. AFAICT gifsicle binary support aarch64 yet the Node package doesn't, did you notice the same thing? |
@yarons Ok, so I was able to resolve this. For the gifsicle, I ran:
I then ran into an error related to pact binary install. It turned out that my I went to RUN apt update \
&& apt install -y git \
# required for cwebp-bin
gcc git libgl1 libxi6 make \
# additionally required for gifsicle, mozjpeg, and optipng
autoconf libtool pkg-config zlib1g-dev \
# additionally required for node-sass
python g++
# Required for avoiding failed frontend-app-learning build due to missing binary on M1
# (breaks pact tests)
ENV PACT_SKIP_BINARY_INSTALL=true as described above. Then, referencing this comment, I ran Then from there, ran |
@jigsawlabs-student I just want to mention you're awesome! Yet, I have to ask, installing some extras locally is the only solution? |
Hmm..I don't know...but glad this helped! |
Sorry I haven't been more responsive @yarons and @jigsawlabs-student. I'm out of office until 3/17 but I'm looking forward to catching up on what you've found right after I get back. |
Additional requirements are required, and we cannot download the pact binary on arm64: pact-foundation/pact-js-core#264 Close #31.
Additional requirements are required, and we cannot download the pact binary on arm64: pact-foundation/pact-js-core#264 Close #31.
@jigsawlabs-student @yarons @msegado can you please have a look at this PR? #42 |
And maybe also @bradenmacdonald? thanks! |
Additional requirements are required, and we cannot download the pact binary on arm64: pact-foundation/pact-js-core#264 Close #31.
Opening a parallel issue to overhangio/tutor#510. I'm currently able to build on an M1 MacBook by adding a few extra build requirements and environment variables:
Unfortunately, using
PACT_SKIP_BINARY_INSTALL
is a hack that will break any Pact tests, so it's not really suitable to merge in. I don't see much alternative until there's an ARM binary for Pact though. Relevant issue: pact-foundation/pact-js-core#347The text was updated successfully, but these errors were encountered: