OpenCV Python package throws error

  • Open
  • quality assurance status badge
Details
One participant
  • Jean-Pierre De Jesus Diaz
Owner
unassigned
Submitted by
Jean-Pierre De Jesus Diaz
Severity
normal
J
J
Jean-Pierre De Jesus Diaz wrote on 6 Feb 17:49 +0100
(address . bug-guix@gnu.org)
CAG1gdUrRq4-Ar-VLbmwafViKo7LFV+SW1Z7NDCq5OwETUv-00g@mail.gmail.com
The current OpenCV package (opencv@4.8.0) fails to load on a pure GNU
Guix system, the error reports that some part of OpenCV isn't able to
find the libGL.so.1 library.

My GNU Guix description:

Generation 83 Feb 05 2024 16:30:36 (current)
guix a3df20d
branch: master
commit: a3df20db8c3b9c819db7ca29bf014e2544e389d4

To reproduce the issue

guix shell python \
python-numpy \
opencv \
--pure \
-- python3 -c 'import cv2'

And shows the following error:

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/<redacted>/.local/lib/python3.10/site-packages/cv2/__init__.py",
line 181, in <module>
bootstrap()
File "/home/<redacted>/.local/lib/python3.10/site-packages/cv2/__init__.py",
line 153, in bootstrap
native_module = importlib.import_module("cv2")
File "/gnu/store/8s8k2v6b5b7lyf5y5n534cjd9sipgas6-python-3.10.7/lib/python3.10/importlib/__init__.py",
line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libGL.so.1: cannot open shared object file: No such file
or directory

I tried investigating why the error happened without luck as I'm not sure
in what place OpenCV is trying to load libGL.so.1.

--
Jean-Pierre De Jesus DIAZ
Foundation Devices, Inc.
J
J
Jean-Pierre De Jesus Diaz wrote on 7 Feb 17:33 +0100
(address . 68953@debbugs.gnu.org)
CAG1gdUoVVjDFFRyEudr40L_d1WzPpZLBbkFoziarh6O1_wuNwQ@mail.gmail.com
Hello,

I think this can be closed as it was my mistake as some package
installed with pip
installed OpenCV and Python was picking it up by mistake, sorry for the noise.

However, I came up with a patch to propagate python-numpy as it is required by
OpenCV.

--
Jean-Pierre De Jesus DIAZ
Foundation Devices, Inc.
J
J
Jean-Pierre De Jesus DIAZ wrote on 7 Feb 17:35 +0100
[PATCH] gnu: opencv: Move python-numpy to propagated-inputs.
(address . 68953@debbugs.gnu.org)(name . Jean-Pierre De Jesus DIAZ)(address . jean@foundationdevices.com)
94de42b457e0526389e01721f40a7868f169af14.1707323669.git.jean@foundationdevices.com
* gnu/packages/image-processing.scm (opencv): Move python-numpy from
INPUTS to PROPAGATED-INPUTS.

Change-Id: If4f0c8fa0cf41594a2c63f3e9f271987aa730af2
---
gnu/packages/image-processing.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 07ba0297cd..32405fa08c 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -727,6 +727,7 @@ (define-public opencv
(sha256
(base32
"16crcca9r4y4rby0dqdhc06qi84hjk6qxy2sql2dhh35hfs856rr"))))))
+ (propagated-inputs (list python-numpy))
(inputs
(list eigen
ffmpeg-4
@@ -749,7 +750,6 @@ (define-public opencv
openjpeg
protobuf
python
- python-numpy
vtk
zlib))
;; These three CVEs are not a problem of OpenCV, see:

base-commit: 10dba10fd6551ab480a38d00301e6f102def674d
--
2.41.0
?