[Bug] Cannot build docker image to linux/arm/v7 (raspberry pi)
nrgapple opened this issue · comments
To Reproduce
-
turn on experimental cli of docker
docker buildx build --platform linux/arm/v7 --build-arg CLIENT_ID=[your-id] -t takenote:latest
Expected behavior
Build a docker image that supports raspberry pi (arm/v7)
Actual behavior
node-sass
seems to fail:
Output
264.4 Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-arm-72_binding.node
#9 265.1 Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/linux-arm-72_binding.node":
#9 265.1
#9 265.1 HTTP error 404 Not Found
#9 265.1
#9 265.1 Hint: If github.com is not accessible in your location
#9 265.1 try setting a proxy via HTTP_PROXY, e.g.
#9 265.1
#9 265.1 export HTTP_PROXY=http://example.com:1234
#9 265.1
#9 265.1 or configure npm proxy via
#9 265.1
#9 265.1 npm config set proxy http://example.com:8080
#9 266.7 Building: /usr/local/bin/node /app/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
#9 268.4 gyp info it worked if it ends with ok
#9 268.4 gyp verb cli [
#9 268.4 gyp verb cli '/usr/local/bin/node',
#9 268.4 gyp verb cli '/app/node_modules/node-gyp/bin/node-gyp.js',
#9 268.4 gyp verb cli 'rebuild',
#9 268.4 gyp verb cli '--verbose',
#9 268.4 gyp verb cli '--libsass_ext=',
#9 268.4 gyp verb cli '--libsass_cflags=',
#9 268.4 gyp verb cli '--libsass_ldflags=',
#9 268.4 gyp verb cli '--libsass_library='
#9 268.4 gyp verb cli ]
#9 268.4 gyp info using node-gyp@3.8.0
#9 268.4 gyp info using node@12.20.0 | linux | arm
#9 268.4 gyp verb command rebuild []
#9 268.4 gyp verb command clean []
#9 268.5 gyp verb clean removing "build" directory
#9 268.6 gyp verb command configure []
#9 268.7 gyp verb check python checking for Python executable "python2" in the PATH
#9 268.7 gyp verb `which` failed Error: not found: python2
#9 268.7 gyp verb `which` failed at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:168:21)
#9 268.7 gyp verb `which` failed python2 Error: not found: python2
#9 268.7 gyp verb `which` failed at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:168:21) {
#9 268.7 gyp verb `which` failed code: 'ENOENT'
#9 268.7 gyp verb `which` failed }
#9 268.7 gyp verb check python checking for Python executable "python" in the PATH
#9 268.7 gyp verb `which` failed Error: not found: python
#9 268.7 gyp verb `which` failed at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:168:21)
#9 268.7 gyp verb `which` failed python Error: not found: python
#9 268.7 gyp verb `which` failed at getNotFoundError (/app/node_modules/node-gyp/node_modules/which/which.js:13:12)
#9 268.7 gyp verb `which` failed at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:19)
#9 268.7 gyp verb `which` failed at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.7 gyp verb `which` failed at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/index.js:42:5
#9 268.7 gyp verb `which` failed at /app/node_modules/isexe/mode.js:8:5
#9 268.7 gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:168:21) {
#9 268.7 gyp verb `which` failed code: 'ENOENT'
#9 268.7 gyp verb `which` failed }
#9 268.8 gyp ERR! configure error
#9 268.8 gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
#9 268.8 gyp ERR! stack at PythonFinder.failNoPython (/app/node_modules/node-gyp/lib/configure.js:484:19)
#9 268.8 gyp ERR! stack at PythonFinder.<anonymous> (/app/node_modules/node-gyp/lib/configure.js:406:16)
#9 268.8 gyp ERR! stack at F (/app/node_modules/node-gyp/node_modules/which/which.js:68:16)
#9 268.8 gyp ERR! stack at E (/app/node_modules/node-gyp/node_modules/which/which.js:80:29)
#9 268.8 gyp ERR! stack at /app/node_modules/node-gyp/node_modules/which/which.js:89:16
#9 268.8 gyp ERR! stack at /app/node_modules/isexe/index.js:42:5
#9 268.8 gyp ERR! stack at /app/node_modules/isexe/mode.js:8:5
#9 268.8 gyp ERR! stack at FSReqCallback.oncomplete (fs.js:168:21)
#9 268.8 gyp ERR! System Linux 5.4.39-linuxkit
#9 268.8 gyp ERR! command "/usr/local/bin/node" "/app/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
#9 268.8 gyp ERR! cwd /app/node_modules/node-sass
#9 268.8 gyp ERR! node -v v12.20.0
#9 268.8 gyp ERR! node-gyp -v v3.8.0
#9 268.8 gyp ERR! not ok
#9 268.8 Build failed with error code: 1
This seems like an issue with node-sass and that environment, not TakeNote...
@taniarascia right. testing with dart-sass. Just saying many people may want to build on arm (raspberry pi and now apple making the push). It could beneficial to use dependencies that are compatible between hardware
Got it. Did you have any luck with dart-sass?
many more
output
#9 2.428 Unknown QEMU_IFLA_INFO_KIND ipip
#9 2.429 Unknown QEMU_IFLA_INFO_KIND ip6tnl
#9 399.5 husky > Setting up git hooks
#9 399.6 Cannot read property 'toString' of null
#9 399.6 husky > Failed to install
#9 412.5 ⚠ spawn /app/node_modules/cwebp-bin/vendor/cwebp ENOENT
#9 412.5 ⚠ cwebp pre-build test failed
#9 412.5 ℹ compiling from source
#9 1151. ✔ cwebp built successfully
#9 1155. ⚠ Response code 404 (Not Found)
#9 1155. ⚠ gifsicle pre-build test failed
#9 1155. ℹ compiling from source
#9 1386. ✔ gifsicle built successfully
#9 1392. ⚠ spawn /app/node_modules/mozjpeg/vendor/cjpeg ENOENT
#9 1392. ⚠ mozjpeg pre-build test failed
#9 1392. ℹ compiling from source
#9 1411. ✖ Error: Command failed: /bin/sh -c autoreconf -fiv
#9 1411. autoreconf: Entering directory `.'
#9 1411. autoreconf: configure.ac: not using Gettext
#9 1411. autoreconf: running: aclocal --force
#9 1411. autoreconf: configure.ac: tracing
#9 1411. autoreconf: configure.ac: not using Libtool
#9 1411. autoreconf: running: /usr/bin/autoconf --force
#9 1411. configure.ac:23: error: possibly undefined macro: AC_PROG_LIBTOOL
#9 1411. If this token and others are legitimate, please use m4_pattern_allow.
#9 1411. See the Autoconf documentation.
#9 1411. autoreconf: /usr/bin/autoconf failed with exit status: 1
#9 1411.
#9 1411.
#9 1411. at /app/node_modules/bin-build/node_modules/execa/index.js:231:11
#9 1411. at runMicrotasks (<anonymous>)
#9 1411. at processTicksAndRejections (internal/process/task_queues.js:97:5)
#9 1411. at async Promise.all (index 0)
#9 1416. ⚠ spawn /app/node_modules/optipng-bin/vendor/optipng ENOENT
#9 1416. ⚠ optipng pre-build test failed
#9 1416. ℹ compiling from source
#9 1554. ✔ optipng built successfully
#9 1560. ✔ pngquant pre-build test passed successfully
#9 1570. The Cypress App could not be downloaded.
#9 1570.
#9 1570. Does your workplace require a proxy to be used to access the Internet? If so, you must configure the HTTP_PROXY environment variable before downloading Cypress. Read more: https://on.cypress.io/proxy-configuration
Sincey you made another issue for this, I'm going to mark this one as duplicate.