- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
When trying to invoke OpenCV on a Raspberry Pi 3B+
$ source ~/ML/inference_engine_vpu_arm/bin/setupvars.sh [setupvars.sh] OpenVINO environment initialized $ source ~/ML/inference_engine_vpu_arm/opencv/setupvars.sh $ python3 -c "import cv2"
It returned a fatal error: This OpenCV build doesn't support current CPU/HW configuration
...
NEON - NOT AVAILABLE
Details:
cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=raspbian ID_LIKE=debian
cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 2 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 3 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 Hardware : BCM2835 Revision : a02082 Serial : 00000000efaf040b
OpenCV build configuration is: General configuration for OpenCV 4.0.1-openvino ===================================== Version control: 81e7c7d Platform: Timestamp: 2018-12-10T12:25:37Z Host: Linux 4.15.0-42-generic x86_64 Target: Linux 1 arm CMake: 3.7.2 CMake generator: Ninja CMake build tool: /usr/bin/ninja Configuration: Release CPU/HW features: Baseline: NEON required: NEON disabled: VFPV3 C/C++: Built as dynamic libs?: YES C++ Compiler: /usr/bin/arm-linux-gnueabihf-g++ (ver 6.3.0) C++ flags (Release): -mthumb -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -mfpu=neon -mfp16-format=ieee -fvisibility=hidden -fvisibility-inlines-hidden -fstack-protector-strong -fPIC -O2 -DNDEBUG -DNDEBUG -D_FORTIFY_SOURCE=2 C++ flags (Debug): -mthumb -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -mfpu=neon -mfp16-format=ieee -fvisibility=hidden -fvisibility-inlines-hidden -fstack-protector-strong -fPIC -g -O0 -DDEBUG -D_DEBUG C Compiler: /usr/bin/arm-linux-gnueabihf-gcc C flags (Release): -mthumb -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -mfpu=neon -mfp16-format=ieee -fvisibility=hidden -fstack-protector-strong -fPIC -O2 -DNDEBUG -DNDEBUG -D_FORTIFY_SOURCE=2 C flags (Debug): -mthumb -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -mfpu=neon -mfp16-format=ieee -fvisibility=hidden -fstack-protector-strong -fPIC -g -O0 -DDEBUG -D_DEBUG Linker flags (Release): -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -z noexecstack -z relro -z now Linker flags (Debug): -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -z noexecstack -z relro -z now ccache: YES Precompiled headers: NO Extra dependencies: dl m pthread rt 3rdparty dependencies: OpenCV modules: To be built: calib3d core dnn features2d flann gapi highgui imgcodecs imgproc java_bindings_generator ml objdetect photo python2 python3 python_bindings_generator stitching ts video videoio Disabled: world Disabled by dependency: - Unavailable: java js Applications: tests perf_tests apps Documentation: NO Non-free algorithms: NO GUI: GTK+: YES (ver 3.22.11) GThread : YES (ver 2.50.3) GtkGlExt: NO Media I/O: ZLib: build (ver 1.2.11) JPEG: build-libjpeg-turbo (ver 1.5.3-62) PNG: build (ver 1.6.35) HDR: YES SUNRASTER: YES PXM: YES PFM: YES Video I/O: FFMPEG: YES avcodec: YES (ver 57.64.101) avformat: YES (ver 57.56.101) avutil: YES (ver 55.34.101) swscale: YES (ver 4.2.100) avresample: NO GStreamer: base: YES (ver 1.10.4) video: YES (ver 1.10.4) app: YES (ver 1.10.4) riff: YES (ver 1.10.4) pbutils: YES (ver 1.10.4) v4l/v4l2: linux/videodev2.h Parallel framework: pthreads Trace: YES (built-in) Other third-party libraries: Inference Engine: YES (2018050000 / Unknown) libs: /home/jenkins/workspace/OpenCV/OpenVINO/build/ie/deployment_tools/inference_engine/lib/raspbian_9/armv7l/libinference_engine.so includes: /home/jenkins/workspace/OpenCV/OpenVINO/build/ie/deployment_tools/inference_engine/include Custom HAL: YES (carotene (ver 0.0.1)) Protobuf: build (3.5.1) Python 2: Interpreter: /usr/bin/python2.7 (ver 2.7.13) Libraries: numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver undefined - cannot be probed because of the cross-compilation) install path: /home/jenkins/workspace/OpenCV/OpenVINO/build/build_release/install/python/python2.7 Python 3: Interpreter: /usr/bin/python3 (ver 3.5.3) Libraries: numpy: /usr/lib/python3.5/dist-packages/numpy/core/include (ver undefined - cannot be probed because of the cross-compilation) install path: /home/jenkins/workspace/OpenCV/OpenVINO/build/build_release/install/python/python3.5 Python (for build): /usr/bin/python2.7 Install to: /home/jenkins/workspace/OpenCV/OpenVINO/build/build_release/install ----------------------------------------------------------------- ****************************************************************** * FATAL ERROR: * * This OpenCV build doesn't support current CPU/HW configuration * * * * Use OPENCV_DUMP_CONFIG=1 environment variable for details * ****************************************************************** Required baseline features: NEON - NOT AVAILABLE terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(4.0.1-openvino) /home/jenkins/workspace/OpenCV/OpenVINO/build/opencv/modules/core/src/system.cpp:538: error: (-215:Assertion failed) Missing support for required CPU baseline features. Check OpenCV build configuration and required CPU/HW setup. in function 'initialize' Aborted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is a problem, your auxv data says you don't have NEON:
Second long int value (4 bytes): 00 00 fc 7e => 0x7efc0000 NEON flag: 0x1000 0x7efc0000 & 0x1000 = false
On my machine I have:
00 30 a9 7e => 0x7ea93000 0x7ea93000 & 0x1000 = true
You can also verify it by running any application with LD_SHOW_AUXV environment variable set to true and checking AT_HWCAP string ("neon" word):
LD_SHOW_AUXV=1 uname | grep HWCAP
Not sure what causes this problem, I can suggest checking kernel boot parameters for something suspicious (cat /proc/cmdline) or trying clean installation of Raspbian.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is strange, could you please post output of the following command:
hexdump -C /proc/self/auxv
I've just checked this build on RPi 3b+ and it worked well. Can you run ./opencv/bin/opencv_version executable? Did you build Raspbian yourself?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maksim S. (Intel) wrote:This is strange, could you please post output of the following command:
hexdump -C /proc/self/auxvI've just checked this build on RPi 3b+ and it worked well. Can you run ./opencv/bin/opencv_version executable? Did you build Raspbian yourself?
Hi,
It is a stock Raspbian 9 Stretch downloaded from raspberrypi.org
running ./opencv/bin/opencv_version gives
4.0.1-openvino
Here is the hex dump:
hexdump -C /proc/self/auxv 00000000 21 00 00 00 00 00 fc 7e 10 00 00 00 d6 b0 3f 00 |!......~......?.| 00000010 06 00 00 00 00 10 00 00 11 00 00 00 64 00 00 00 |............d...| 00000020 03 00 00 00 34 00 01 00 04 00 00 00 20 00 00 00 |....4....... ...| 00000030 05 00 00 00 09 00 00 00 07 00 00 00 00 20 f0 76 |............. .v| 00000040 08 00 00 00 00 00 00 00 09 00 00 00 b0 0e 01 00 |................| 00000050 0b 00 00 00 e9 03 00 00 0c 00 00 00 e9 03 00 00 |................| 00000060 0d 00 00 00 e9 03 00 00 0e 00 00 00 e9 03 00 00 |................| 00000070 17 00 00 00 00 00 00 00 19 00 00 00 c8 3e eb 7e |.............>.~| 00000080 1a 00 00 00 10 00 00 00 1f 00 00 00 eb 4f eb 7e |.............O.~| 00000090 0f 00 00 00 d8 3e eb 7e 00 00 00 00 00 00 00 00 |.....>.~........| 000000a0
//Ed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is a problem, your auxv data says you don't have NEON:
Second long int value (4 bytes): 00 00 fc 7e => 0x7efc0000 NEON flag: 0x1000 0x7efc0000 & 0x1000 = false
On my machine I have:
00 30 a9 7e => 0x7ea93000 0x7ea93000 & 0x1000 = true
You can also verify it by running any application with LD_SHOW_AUXV environment variable set to true and checking AT_HWCAP string ("neon" word):
LD_SHOW_AUXV=1 uname | grep HWCAP
Not sure what causes this problem, I can suggest checking kernel boot parameters for something suspicious (cat /proc/cmdline) or trying clean installation of Raspbian.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Maksim,
I will check to see if it was due to some kernel parameters and what caused it... meanwhile, I started afresh with another SD card with the same Raspbian OS, so far I have encountered ZERO problem including OpenCV4. I will continue the installation of other tools for my project and I'll see who've got the gut to change the working of my kernel. So thank you for the help and I will report back here if I know what was the cause so that others that might ran into the same problem would have an explanation if not a solution.
//Ed

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page