Próbowałem zainstalować OpenCV w środowisku Bash w systemie Windows (podsystem systemu Windows dla systemu Linux, wsl) i okazało się to bardzo trudne.Błąd Python3.4 - Nie można włączyć stosu wykonywalnego, ponieważ obiekt udostępniony wymaga: Nieprawidłowy argument
Chyba już bardzo blisko, ale po wejściu do pytona, import cv2
daje następujący błąd:
ImportError: libopencv_core.so.3.1: cannot enable executable stack as shared object requires: Invalid argument
Jak włączyć bibliotekę wykonać na stosie?
Moi OpenCV *opencv*.so*
pliki bibliotek znajdują się w /usr/local/lib/
. W normalnym środowisku Linux, chciałbym udzielić tych bibliotek możliwość wykonywania na stosie przy użyciu
execstack -c /usr/local/lib/*opencv*.so*
Jednak chociaż można pomyślnie pobrać pakiet execstack
, że nie jest to uznawane polecenia można uruchomić w celu umożliwienia wykonanie na stosie. Podejrzewam, że ma to coś wspólnego z Zapobieganiem Realizacją Danych, wersją Exec-Shield w Window, aby zapobiec atakom na stosy.
Ale może byłem zbyt blisko problemu, aby dowiedzieć się, co jest nie tak. Dlaczego nie mogę zaimportować tego pakietu Pythona? Używam Python v3.4 i OpenCV skompilowany z latest source code (v.3.1).
W execstack: Musisz uruchomić go jako root, ponieważ znajduje się wewnątrz sbin. To nie pomaga jednak w kwestii OpenCV. – Emiswelt