Hi Paul, >> Yes, the libhyperscan package alerts the user at pre-install time if >> SSE3 is not supported on the target system. That's one of the reasons >> why I think there should still be a version of suricata that works >> without Hyperscan. > > Sounds like they are doing it wrong. The detection should happen at > runtime not pre-install time.
It looks like SSE3 support is decided in libhyperscan at compile time. To be exact it's actually a hard requirement with no alternative fallback code path, see [1]. In this light I think it's just fair to test usability of the code before it's even installed, to keep the user from facing broken software depending on the non-usable library. Cheers Sascha (BTW my 2 cents as someone with a scientific computing background: for specific fast implementations of common tasks I consider such requirements absolutely acceptable, especially if there are slower but generic alternatives available. Often the careful hardware-optimised implementation is the main raison d'etre for the tool or library in question. This may be not exactly the case with Hyperscan but I've encountered this issue before while packaging and it tends to make me twitch a bit.) [1] http://01org.github.io/hyperscan/dev-reference/getting_started.html#requirements