Я пытался установить OpenCV в среде Bash в среде Windows (подсистема Windows для Linux, wsl), и это доказывало очень сложно.
Я думаю, что подобрался очень близко, но при входе в python import cv2
выдает следующую ошибку:
ImportError: libopencv_core.so.3.1: cannot enable executable stack as shared object requires: Invalid argument
Как включить библиотеку для выполнения в стеке?
Мои файлы библиотеки OpenCV *opencv*.so*
находятся в /usr/local/lib/
. В обычной среде Linux я бы предоставил этим библиотекам возможность выполняться в стеке, используя
execstack -c /usr/local/lib/*opencv*.so*
Однако, несмотря на то, что я могу успешно загрузить пакет execstack
, это не распознанная команда, которую я могу запустить, чтобы разрешить выполнение в стеке. Я подозреваю, что это как-то связано с Data Execution Prevention, версией Exec-Shield для Windows, предотвращающей атаки, разрушающие стек.
Но, возможно, я просто был слишком близок к проблеме, чтобы понять, что не так. Почему я не могу импортировать этот пакет Python? Я использую Python v3.4 и OpenCV, скомпилированные из последнего исходного кода (v.3.1).