Skip to content
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

deps: update to latest isa-l v2.31 to allow building on mac arm64 #7945

Open
guymguym opened this issue Apr 3, 2024 · 2 comments · Fixed by #7967
Open

deps: update to latest isa-l v2.31 to allow building on mac arm64 #7945

guymguym opened this issue Apr 3, 2024 · 2 comments · Fixed by #7967

Comments

@guymguym
Copy link
Member

guymguym commented Apr 3, 2024

Environment info

  • NooBaa Version: 5.16
  • Platform: MacOS arm64

Actual behavior

  1. Using node for arm64 the build fails on:
$ node -v
v20.11.0

$ node -p process.arch
arm64

$ npm run clean
...

$ npm install
...

$ npm run build

> noobaa-core@5.16.0 build
> npm run build:native


> noobaa-core@5.16.0 build:native
> node-gyp configure && node-gyp build

gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.11.0 | darwin | arm64
gyp info find Python using Python version 3.12.2 found at "/opt/homebrew/opt/python@3.12/bin/python3.12"

gyp info spawn /opt/homebrew/opt/python@3.12/bin/python3.12
gyp info spawn args [
gyp info spawn args './node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args './build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args './node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '~/Library/Caches/node-gyp/20.11.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=~/Library/Caches/node-gyp/20.11.0',
gyp info spawn args '-Dnode_gyp_dir=./node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=~/Library/Caches/node-gyp/20.11.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=.b',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info ok
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.11.0 | darwin | arm64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CC(target) Release/obj.target/nothing/node_modules/node-addon-api/nothing.o
  LIBTOOL-STATIC Release/nothing.a
warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: archive library: Release/nothing.a the table of contents is empty (no object file members in the library define global symbols)
  CXX(target) Release/obj.target/cm256/src/native/third_party/cm256/cm256.o
  CXX(target) Release/obj.target/cm256/src/native/third_party/cm256/gf256.o
  LIBTOOL-STATIC Release/cm256.a
  CXX(target) Release/obj.target/snappy/src/native/third_party/snappy/snappy-c.o
  CXX(target) Release/obj.target/snappy/src/native/third_party/snappy/snappy-sinksource.o
  CXX(target) Release/obj.target/snappy/src/native/third_party/snappy/snappy-stubs-internal.o
  CXX(target) Release/obj.target/snappy/src/native/third_party/snappy/snappy.o
  LIBTOOL-STATIC Release/snappy.a
  CC(target) Release/obj.target/isa-l-ec/src/native/third_party/isa-l/erasure_code/ec_base.o
  CC(target) Release/obj.target/isa-l-ec/src/native/third_party/isa-l/erasure_code/aarch64/ec_aarch64_highlevel_func.o
  CC(target) Release/obj.target/isa-l-ec/src/native/third_party/isa-l/erasure_code/aarch64/ec_aarch64_dispatcher.o
In file included from ../src/native/third_party/isa-l/erasure_code/aarch64/ec_aarch64_dispatcher.c:29:
../src/native/third_party/isa-l/include/aarch64_multibinary.h:34:10: fatal error: 'asm/hwcap.h' file not found
#include <asm/hwcap.h>
         ^~~~~~~~~~~~~
1 error generated.
make: *** [Release/obj.target/isa-l-ec/src/native/third_party/isa-l/erasure_code/aarch64/ec_aarch64_dispatcher.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (./node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Darwin 23.4.0
gyp ERR! command "~/.nvm/versions/node/v20.11.0/bin/node" "./node_modules/.bin/node-gyp" "build"
gyp ERR! cwd .
gyp ERR! node -v v20.11.0
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok

  1. Seems like upgrading isa-l to v2.31 includes a fix:
    intel/isa-l@ad39d7c
    https://github.com/intel/isa-l/releases/tag/v2.31.0

Expected behavior

  1. Should be able to build on Mac arm64

Steps to reproduce

  1. See above.

More information - Screenshots / Logs / Other output

@liranmauda
Copy link
Contributor

@guymguym I guess it was my bad 😵‍💫
I did not try to build it locally, I only built it on the container

@guymguym
Copy link
Member Author

guymguym commented May 8, 2024

PR #7967 was reverted in #7985. Reopening.

@guymguym guymguym reopened this May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants