easybuild-easyblocks icon indicating copy to clipboard operation
easybuild-easyblocks copied to clipboard

opencv easyblock makes tests in jsc-zen2 to fail

Open lexming opened this issue 3 years ago • 2 comments
trafficstars

Tests in jsc-zen2 inject a custom optarch {'Intel': 'march=core-avx2'} that is currently not supported by the easyblock of OpenCV.

== 2022-07-05 16:12:25,158 build_log.py:169 ERROR EasyBuild crashed with an error (at easybuild/easybuild-framework/easybuild/base/exceptions.py:124 in init): Don't know how to configure OpenCV in accordance with --optarch='{'Intel': 'march=core-avx2'}' (at easybuild/easybuild-easyblocks/easybuild/easyblocks/o/opencv.py:175 in configure_step)

Full report of failed tests can be found in https://github.com/easybuilders/easybuild-easyconfigs/pull/15816

lexming avatar Jul 07 '22 09:07 lexming

There are multiple issues to fix:

  1. Opencv easyblock assumes optarch only exists in its simple form --optarch=<flags>, while jsc-zen2 is injecting flags for the Intel compiler.
  2. Converting march values to their corresponding CPU_BASELINE settings in OpenCV is not trivial. For instance, the present case with core-avx2 does not correspond to any of the targets in archspec.

lexming avatar Jul 07 '22 10:07 lexming

workaround is to add EB_ARGS='--optarch="" see https://github.com/easybuilders/easybuild-easyblocks/pull/2804

smoors avatar Mar 03 '23 21:03 smoors