On Montag, 12. Dezember 2016, 12:51:31 CET wrote Brüns, Stefan:
On Montag, 12. Dezember 2016 08:58:12 CET Andreas Baumann wrote:
Hi,
In the following project the cmake script probes for SSSE3 support in the compiler and refuses to build:
[ 297s] -- Performing Test HAVE_SSSE3 - Failed [ 297s] CMake Error at 3rdParty/hyperscan/cmake/arch.cmake:23 (message): [ 297s] A minimum of SSSE3 compiler support is required [ 297s] Call Stack (most recent call first): [ 297s] 3rdParty/hyperscan/CMakeLists.txt:248 (include)
The build randomly fails on some workers, works on others:
*Compiler* support for SSSE3 (or any other CPU feature) is worker independent. Maybe Debian 8.0 lacks the specific compiler support.
right...
The bundled hyperscan requires SSSE3 (and optionally uses AVX2).
Anyway, the resulting package will not run reliably on either i586 or x86_64, as the resulting binary will try to execute SSSE3 instructions independent of the current CPU. SSSE3 is available on most x86_64 CPUs, but not all.
You can request such hardware via constraints and the cpu flags if needed btw.
strus should use a runtime switch to select the best usable implementation, and fall back to a portable implementation otherwise. Crashing is not an option.
yes, or build it multiple times and place it into the right subdirectories of %_libdir, so the runtime linker can decide to pick the right one. -- Adrian Schroeter email: adrian@suse.de SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org