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

Support Apple M1/M2 #319

Closed
3 tasks done
gchatelet opened this issue Aug 28, 2023 · 4 comments
Closed
3 tasks done

Support Apple M1/M2 #319

gchatelet opened this issue Aug 28, 2023 · 4 comments
Labels
Apple M1 Apple M1 related issues
Milestone

Comments

@gchatelet
Copy link
Collaborator

gchatelet commented Aug 28, 2023

A first PR has been merged #204.

TODO:

@gchatelet gchatelet added the Apple M1 Apple M1 related issues label Aug 28, 2023
@gchatelet gchatelet added this to the v0.9.0 milestone Aug 28, 2023
@xiaozhuai
Copy link
Contributor

xiaozhuai commented Sep 5, 2023

arm64-osx list_cpu_features cannot build.

[0/2] /usr/local/Cellar/cmake/3.27.4/bin/cmake -P /usr/local/vcpkg/buildtrees/cpu-features/arm64-osx-dbg/CMakeFiles/VerifyGlobs.cmake
[1/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_mips_linux_or_android.c.o -MF CMakeFiles/cpu_features.dir/src/impl_mips_linux_or_android.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_mips_linux_or_android.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_mips_linux_or_android.c
[2/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_riscv_linux.c.o -MF CMakeFiles/cpu_features.dir/src/impl_riscv_linux.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_riscv_linux.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_riscv_linux.c
[3/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_x86_linux_or_android.c.o -MF CMakeFiles/cpu_features.dir/src/impl_x86_linux_or_android.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_x86_linux_or_android.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_x86_linux_or_android.c
[4/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_x86_windows.c.o -MF CMakeFiles/cpu_features.dir/src/impl_x86_windows.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_x86_windows.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_x86_windows.c
[5/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_aarch64_linux_or_android.c.o -MF CMakeFiles/cpu_features.dir/src/impl_aarch64_linux_or_android.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_aarch64_linux_or_android.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_aarch64_linux_or_android.c
[6/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_aarch64_windows.c.o -MF CMakeFiles/cpu_features.dir/src/impl_aarch64_windows.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_aarch64_windows.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_aarch64_windows.c
[7/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_arm_linux_or_android.c.o -MF CMakeFiles/cpu_features.dir/src/impl_arm_linux_or_android.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_arm_linux_or_android.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_arm_linux_or_android.c
[8/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_ppc_linux.c.o -MF CMakeFiles/cpu_features.dir/src/impl_ppc_linux.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_ppc_linux.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_ppc_linux.c
[9/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_s390x_linux.c.o -MF CMakeFiles/cpu_features.dir/src/impl_s390x_linux.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_s390x_linux.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_s390x_linux.c
[10/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_x86_freebsd.c.o -MF CMakeFiles/cpu_features.dir/src/impl_x86_freebsd.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_x86_freebsd.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_x86_freebsd.c
[11/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/cpu_features.dir/src/impl_x86_macos.c.o -MF CMakeFiles/cpu_features.dir/src/impl_x86_macos.c.o.d -o CMakeFiles/cpu_features.dir/src/impl_x86_macos.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/impl_x86_macos.c
[12/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/utils.dir/src/stack_line_reader.c.o -MF CMakeFiles/utils.dir/src/stack_line_reader.c.o.d -o CMakeFiles/utils.dir/src/stack_line_reader.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/stack_line_reader.c
[13/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/utils.dir/src/string_view.c.o -MF CMakeFiles/utils.dir/src/string_view.c.o.d -o CMakeFiles/utils.dir/src/string_view.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/string_view.c
[14/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DHAVE_DLFCN_H -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/unix_based_hardware_detection.dir/src/hwcaps.c.o -MF CMakeFiles/unix_based_hardware_detection.dir/src/hwcaps.c.o.d -o CMakeFiles/unix_based_hardware_detection.dir/src/hwcaps.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/hwcaps.c
[15/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include/internal -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/utils.dir/src/filesystem.c.o -MF CMakeFiles/utils.dir/src/filesystem.c.o.d -o CMakeFiles/utils.dir/src/filesystem.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/filesystem.c
[16/19] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DSTACK_LINE_READER_BUFFER_SIZE=1024 -I/usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/include -fPIC -g -std=gnu99 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -MD -MT CMakeFiles/list_cpu_features.dir/src/utils/list_cpu_features.c.o -MF CMakeFiles/list_cpu_features.dir/src/utils/list_cpu_features.c.o.d -o CMakeFiles/list_cpu_features.dir/src/utils/list_cpu_features.c.o -c /usr/local/vcpkg/buildtrees/cpu-features/src/v0.8.0-62b226bad3.clean/src/utils/list_cpu_features.c
[17/19] : && /usr/local/Cellar/cmake/3.27.4/bin/cmake -E rm -f libcpu_features.a && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libcpu_features.a  CMakeFiles/utils.dir/src/filesystem.c.o CMakeFiles/utils.dir/src/stack_line_reader.c.o CMakeFiles/utils.dir/src/string_view.c.o CMakeFiles/unix_based_hardware_detection.dir/src/hwcaps.c.o CMakeFiles/cpu_features.dir/src/impl_aarch64_linux_or_android.c.o CMakeFiles/cpu_features.dir/src/impl_aarch64_windows.c.o CMakeFiles/cpu_features.dir/src/impl_arm_linux_or_android.c.o CMakeFiles/cpu_features.dir/src/impl_mips_linux_or_android.c.o CMakeFiles/cpu_features.dir/src/impl_ppc_linux.c.o CMakeFiles/cpu_features.dir/src/impl_riscv_linux.c.o CMakeFiles/cpu_features.dir/src/impl_s390x_linux.c.o CMakeFiles/cpu_features.dir/src/impl_x86_freebsd.c.o CMakeFiles/cpu_features.dir/src/impl_x86_linux_or_android.c.o CMakeFiles/cpu_features.dir/src/impl_x86_macos.c.o CMakeFiles/cpu_features.dir/src/impl_x86_windows.c.o && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib libcpu_features.a && /usr/local/Cellar/cmake/3.27.4/bin/cmake -E touch libcpu_features.a && :
[18/19] : && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -fPIC -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/list_cpu_features.dir/src/utils/list_cpu_features.c.o -o list_cpu_features  libcpu_features.a && :
FAILED: list_cpu_features 
: && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -fPIC -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/list_cpu_features.dir/src/utils/list_cpu_features.c.o -o list_cpu_features  libcpu_features.a && :
Undefined symbols for architecture arm64:
  "_GetAarch64FeaturesEnumName", referenced from:
      _AddFlags in list_cpu_features.c.o
  "_GetAarch64FeaturesEnumValue", referenced from:
      _AddFlags in list_cpu_features.c.o
  "_GetAarch64Info", referenced from:
      _CreateTree in list_cpu_features.c.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Update: It was fixed in head ref.

@gchatelet
Copy link
Collaborator Author

@Mizux do you think we can have an "Apple M1 continuous integration"? If not easily feasible quickly I will remove it from the task list above so we can mark this issue fixed for v0.9.0.

@Mizux
Copy link
Collaborator

Mizux commented Sep 14, 2023

Easy, I won't say that since we need an always online machine

note: Since this project is in the google organization let's see if we can setup an organization wide runner we could share (and share the maintenance cost too ^^;)

@gchatelet
Copy link
Collaborator Author

Ok ! Since this might take a bit of time, I'll remove the task here and do the release without a real CI. We'll add it afterwards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Apple M1 Apple M1 related issues
Projects
None yet
Development

No branches or pull requests

3 participants