Date: Mon, 25 Nov 2019 23:57:21 +0000 From: bugzilla-noreply@freebsd.org To: multimedia@FreeBSD.org Subject: [Bug 242147] multimedia/ffmpeg: Illegal instruction on i586 Message-ID: <bug-242147-12827-1povCpzT6l@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-242147-12827@https.bugs.freebsd.org/bugzilla/> References: <bug-242147-12827@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D242147 Jan Beich <jbeich@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |210505 Keywords| |regression --- Comment #4 from Jan Beich <jbeich@FreeBSD.org> --- Likely a regression from options refactor in graphics/opencv which makes i3= 86 use -msse -msse2 -mfpmath=3Dsse on all files. For runtime detection to work= only functions (or files) that use SSE2 instructions should be built with -msse2, letting the caller check CPU features and decide whether to use optimized functions. If the caller is built with -msse2 you get a crash on pre-SSE2 hardware. Unfortunately, upstream checks SSE2 support at compile time. https://github.com/opencv/opencv/search?q=3DcheckHardwareSupport https://github.com/opencv/opencv/blob/3.4.1/cmake/OpenCVCompilerOptimizatio= ns.cmake#L71 While the following may help # OpenCV minimum SIMD without runtime detection CMAKE_ARGS+=3D ${CMAKE_ARGS_${ARCH}} CMAKE_ARGS_amd64=3D-DCPU_BASELINE_DISABLE:STRING=3DSSE3 CMAKE_ARGS_i386=3D-DCPU_BASELINE_DISABLE:STRING=3DSSE it breaks building SIMD-optimized code FAILED: modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx.cpp.o= =20 /usr/bin/c++ -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D__OPENCV_BUILD=3D1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DCV_CPU_COMPILE_AVX=3D1 -DCV_CPU_COMPILE_POPCNT=3D1 -DCV_CPU_COMPILE_SSE2= =3D1 -DCV_CPU_COMPILE_SSE3=3D1 -DCV_CPU_COMPILE_SSE4_1=3D1 -DCV_CPU_COMPILE_SSE4= _2=3D1 -DCV_CPU_COMPILE_SSE=3D1 -DCV_CPU_COMPILE_SSSE3=3D1 -DCV_CPU_DISPATCH_MODE= =3DAVX -I/wrkdirs/usr/ports/graphics/opencv-core/work/opencv-3.4.1/modules/core/in= clude -I/wrkdirs/usr/ports/graphics/opencv-core/work/opencv-3.4.1/modules/core/src -Imodules/core -isystem . -isystem /usr/local/include/eigen3 -O2 -pipe=20 -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing= =20=20 -isystem /usr/local/include -std=3Dc++11 -fsigned-char -W -Wall -Werror=3Dreturn-type -Werror=3Dnon-virtual-dtor -Werror=3Daddress -Werror=3Dsequence-point -Wformat -Werror=3Dformat-security -Wmissing-decla= rations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-implicit-fallthrough -fdiagnostics-show-option -pthread -Qunused-argum= ents -fomit-frame-pointer -ffunction-sections -fdata-sections -mfpmath=3D387 -fvisibility=3Dhidden -fvisibility-inlines-hidden -O2 -pipe=20 -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing= =20=20 -isystem /usr/local/include -std=3Dc++11 -DNDEBUG -fPIC -std=3Dc++11 -m= sse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -MD -MT modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx.cpp.o -MF modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx.cpp.o.d -o modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx.cpp.o -c modules/core/mathfuncs_core.avx.cpp error: the '387' unit is not supported with this instruction set Referenced Bugs: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D210505 [Bug 210505] [exp-run] graphics/opencv: Update to 3.4.1 --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-242147-12827-1povCpzT6l>