Comments (9)
MacOS builds will hopefully be enabled right after the next release, please be patient :)
from vectorscan.
Hi @niyue, macOS support is planned but it's not yet a priority. It's not just a case of switching compilers though it should not be that hard to add support for it, both for x86 and the new M1 CPUs. In fact, we're planning to acquire one of the new M1 Pro mac minis just for this purpose.
from vectorscan.
right, it seems it's the same as #21. It's going to happen, probably right after the next release.
from vectorscan.
I was just trying to compile Vectorscan on my Intel Mac but wasn't even able to get cmake to work:
CMake Error at cmake/arch.cmake:167 (message): A minimum of SSSE3 compiler support is required
Is it possible to build Vectorscan on macOS (for Intel) and maybe I just need a newer gcc toolchain? Or is there at this point no way to build on macOS regardless of compiler used?
I think there is no way to build on macOS yet. I am using an Intel Mac, and I was able to fix cmake related issues (I used vcpkg to install vectorscan so the solution may be different), but ran into the issue above (the same issue as #21), so before we get the issues in simd_utils.h
addressed, the project cannot be built on Intel Mac regardless which compiler you use (I use Apple Clang locally for cross compiling).
As far as I can see, with the growing popularity of arm dev machines (Apple's new M1 hardwares), there will be growing demand that projects like hyperscan to be consumed by both arm64 and x86 machines, so it will greatly help if vectorscan can fill this void and provide the capability to be consumed by different architectures.
from vectorscan.
It's not just a case of switching compilers
Do you have any more detail about how this could be done?
I am trying to cross compile vectorscan to arm64 on macOS (but I am using an Intel Mac instead of an M1 Mac). Some of the initial project setup, for example, setting the path to gcc, makes me hesitant and wonder if this can be done without too much effort. I will give it a try and see what I will run into.
Currently I try to install vectorscan via vcpkg by modifying the hyperscan vcpkg port. I feel I may run into other issues but vcpkg seems to make the barrier to use much lower and if vectorscan can support vcpkg installation it will be much easier for users to get started.
from vectorscan.
After some fixes, in the end, I ran into the following error:
99 In file included from /Users/ss/dev/projects/opensource/vectorscan/src/fdr/fdr.c:31:
100 In file included from /Users/ss/dev/projects/opensource/vectorscan/src/fdr/fdr_confirm_runtime.h:37:
101 In file included from /Users/ss/dev/projects/opensource/vectorscan/src/util/bitutils.h:51:
102 In file included from /Users/ss/dev/projects/opensource/vectorscan/src/util/arch/arm/bitutils.h:43:
103 In file included from /Users/ss/dev/projects/opensource/vectorscan/src/util/arch/common/bitutils.h:39:
104 In file included from /Users/ss/dev/projects/opensource/vectorscan/src/util/simd_utils.h:67:
105 /Users/ss/dev/projects/opensource/vectorscan/src/util/arch/arm/simd_utils.h:127:19: error: argument to '__builtin_neon_vshlq_n_v' must be a constant integer
106 return (m128) vshlq_n_s32((int64x2_t)a, b);
107 ^ ~
108 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include/arm_neon.h:24760:23: note: expanded from macro 'vshlq_n_s32'
109 __ret = (int32x4_t) __builtin_neon_vshlq_n_v((int8x16_t)__s0, __p1, 34); \
There are several similar errors reported like above, which I have no idea how to fix yet.
from vectorscan.
I was just trying to compile Vectorscan on my Intel Mac but wasn't even able to get cmake to work:
CMake Error at cmake/arch.cmake:167 (message):
A minimum of SSSE3 compiler support is required
Is it possible to build Vectorscan on macOS (for Intel) and maybe I just need a newer gcc toolchain? Or is there at this point no way to build on macOS regardless of compiler used?
from vectorscan.
I think there is no way to build on macOS yet. I am using an Intel Mac
Ok. Thanks for the confirmation.
from vectorscan.
MacOS support (at least for M1) has been added in #82
from vectorscan.
Related Issues (20)
- Report nested character classes as invalid
- Enable Fat Runtime by default on x86 to help migration from Hyperscan. HOT 6
- Compile error with fat runtime on gcc 13.2 HOT 5
- Compile error on armv7-a and cortex-a7 or cortex-a15. HOT 3
- Add cppcheck & clang-tidy to CI HOT 2
- Add clang-format to CI to enforce consistent formatting
- Add SVE to LimEx Shuffle
- Add 32+ Byte version of Sheng on ARM HOT 1
- Missing Sheng microbenchmark
- Refactor Dispatcher to use function table instead of macro
- Combo pattern fails when operands set singlematch flag and/or max_offset HOT 4
- Wrong web site URL in this GitHub repo HOT 1
- Enable FreeBSD support
- unit-internal and unit-hyperscan segfault on FreeBSD/ppc64le HOT 1
- cmake on FreeBSD does not appear to always detect ccache HOT 1
- gcc-14 compilation failure for AVX512
- XCode Generator in CMake Not Working HOT 2
- Fix all errors/warnings found by CPPcheck
- Fix all errors/warnings found by Clang-tidy HOT 1
- Vectorscan Packages for Ubuntu 24.04 AMD64 not available HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vectorscan.