Bug #3438
[opencv][gst-plugin-opencv]: undefined reference to `cblas_cgemm' (also `cblas_{d,s,z}gemm')
100%
Description
- CPU architecture: x86_64
- steps to reproduce:
1)# pacman -Syu gst-plugin-gtk
- expected result:
I expectedgst-plugin-gtk
to be upgraded from 1.20.5-5 to 1.22.0-3.
- actual result:
Instead,pacman
produces the following error:
warning: cannot resolve "gst-plugins-bad-libs=1.22.0", a dependency of "gst-plugin-gtk"
This is because
gst-plugins-bad
hasn't been updated in almost two years, still at 1.18.3-2 in the repos instead of 1.22.0-3 like the other gst-plugins- packages.gst-plugins-bad
was reported as out of date almost one year ago.
See also https://labs.parabola.nu/issues/3296 .
Subtasks
Related issues
History
Updated by bill-auger 2 months ago
- Related to Bug #3296: [gstreamer-vaapi] Depends on gst-plugins-bad-libs=1.20.3, not available added
Updated by bill-auger about 2 months ago
- Assignee set to bill-auger
- Status changed from confirmed to in progress
'gst-plugins-bad' was previously a separate VCS upstream, and a separate PKGBUILD - now it is a split-package of 'gsteramer'; which made the merge rather tedious - i tried to avoid packaging all of the split packages - it would surely be easier to maintain that way; but to do that, all of the split packages would need to be blacklisted
after some work, i was able to make it compile only the needed modules, while keeping the PKGBUILD diffs as minimal as possible - the files list is not exactly the same as the previous version; but maybe that is to be expected
left is 'gst-plugins-bad' 1.18.3 - right is 'gst-plugins-bad' 1.22.0
$ diff --side-by-side <(pkgfile -l gst-plugins-bad | cut -d ' ' -f 2) \ <(pacman -Ql gst-plugins-bad | cut -d ' ' -f 2) /usr/ /usr/ /usr/lib/ /usr/lib/ /usr/lib/gstreamer-1.0/ /usr/lib/gstreamer-1.0/ > /usr/lib/gstreamer-1.0/libgstaes.so /usr/lib/gstreamer-1.0/libgstaom.so /usr/lib/gstreamer-1.0/libgstaom.so /usr/lib/gstreamer-1.0/libgstassrender.so /usr/lib/gstreamer-1.0/libgstassrender.so /usr/lib/gstreamer-1.0/libgstavtp.so /usr/lib/gstreamer-1.0/libgstavtp.so /usr/lib/gstreamer-1.0/libgstbs2b.so /usr/lib/gstreamer-1.0/libgstbs2b.so /usr/lib/gstreamer-1.0/libgstbz2.so /usr/lib/gstreamer-1.0/libgstbz2.so /usr/lib/gstreamer-1.0/libgstchromaprint.so /usr/lib/gstreamer-1.0/libgstchromaprint.so /usr/lib/gstreamer-1.0/libgstclosedcaption.so /usr/lib/gstreamer-1.0/libgstclosedcaption.so /usr/lib/gstreamer-1.0/libgstcolormanagement.so /usr/lib/gstreamer-1.0/libgstcolormanagement.so /usr/lib/gstreamer-1.0/libgstcurl.so /usr/lib/gstreamer-1.0/libgstcurl.so > /usr/lib/gstreamer-1.0/libgstdash.so /usr/lib/gstreamer-1.0/libgstdc1394.so /usr/lib/gstreamer-1.0/libgstdc1394.so /usr/lib/gstreamer-1.0/libgstde265.so /usr/lib/gstreamer-1.0/libgstde265.so /usr/lib/gstreamer-1.0/libgstdtls.so /usr/lib/gstreamer-1.0/libgstdtls.so /usr/lib/gstreamer-1.0/libgstdtsdec.so /usr/lib/gstreamer-1.0/libgstdtsdec.so /usr/lib/gstreamer-1.0/libgstfaad.so /usr/lib/gstreamer-1.0/libgstfaad.so /usr/lib/gstreamer-1.0/libgstfdkaac.so /usr/lib/gstreamer-1.0/libgstfdkaac.so /usr/lib/gstreamer-1.0/libgstfluidsynthmidi.so /usr/lib/gstreamer-1.0/libgstfluidsynthmidi.so /usr/lib/gstreamer-1.0/libgstgme.so /usr/lib/gstreamer-1.0/libgstgme.so > /usr/lib/gstreamer-1.0/libgstgsm.so /usr/lib/gstreamer-1.0/libgsthls.so /usr/lib/gstreamer-1.0/libgsthls.so /usr/lib/gstreamer-1.0/libgstkate.so /usr/lib/gstreamer-1.0/libgstkate.so /usr/lib/gstreamer-1.0/libgstladspa.so /usr/lib/gstreamer-1.0/libgstladspa.so > /usr/lib/gstreamer-1.0/libgstldac.so /usr/lib/gstreamer-1.0/libgstlv2.so /usr/lib/gstreamer-1.0/libgstlv2.so /usr/lib/gstreamer-1.0/libgstmicrodns.so /usr/lib/gstreamer-1.0/libgstmicrodns.so /usr/lib/gstreamer-1.0/libgstmms.so < /usr/lib/gstreamer-1.0/libgstmodplug.so /usr/lib/gstreamer-1.0/libgstmodplug.so /usr/lib/gstreamer-1.0/libgstmpeg2enc.so /usr/lib/gstreamer-1.0/libgstmpeg2enc.so /usr/lib/gstreamer-1.0/libgstmplex.so /usr/lib/gstreamer-1.0/libgstmplex.so /usr/lib/gstreamer-1.0/libgstmusepack.so /usr/lib/gstreamer-1.0/libgstmusepack.so /usr/lib/gstreamer-1.0/libgstneonhttpsrc.so /usr/lib/gstreamer-1.0/libgstneonhttpsrc.so /usr/lib/gstreamer-1.0/libgstofa.so < /usr/lib/gstreamer-1.0/libgstopenal.so /usr/lib/gstreamer-1.0/libgstopenal.so > /usr/lib/gstreamer-1.0/libgstopenaptx.so /usr/lib/gstreamer-1.0/libgstopenexr.so /usr/lib/gstreamer-1.0/libgstopenexr.so /usr/lib/gstreamer-1.0/libgstopenjpeg.so /usr/lib/gstreamer-1.0/libgstopenjpeg.so > /usr/lib/gstreamer-1.0/libgstopenmpt.so /usr/lib/gstreamer-1.0/libgstopusparse.so /usr/lib/gstreamer-1.0/libgstopusparse.so > /usr/lib/gstreamer-1.0/libgstqroverlay.so /usr/lib/gstreamer-1.0/libgstresindvd.so /usr/lib/gstreamer-1.0/libgstresindvd.so /usr/lib/gstreamer-1.0/libgstrsvg.so /usr/lib/gstreamer-1.0/libgstrsvg.so /usr/lib/gstreamer-1.0/libgstrtmp.so /usr/lib/gstreamer-1.0/libgstrtmp.so /usr/lib/gstreamer-1.0/libgstsbc.so /usr/lib/gstreamer-1.0/libgstsbc.so /usr/lib/gstreamer-1.0/libgstsctp.so /usr/lib/gstreamer-1.0/libgstsctp.so /usr/lib/gstreamer-1.0/libgstsmoothstreaming.so /usr/lib/gstreamer-1.0/libgstsmoothstreaming.so /usr/lib/gstreamer-1.0/libgstsndfile.so /usr/lib/gstreamer-1.0/libgstsndfile.so /usr/lib/gstreamer-1.0/libgstsoundtouch.so /usr/lib/gstreamer-1.0/libgstsoundtouch.so /usr/lib/gstreamer-1.0/libgstspandsp.so /usr/lib/gstreamer-1.0/libgstspandsp.so /usr/lib/gstreamer-1.0/libgstsrt.so /usr/lib/gstreamer-1.0/libgstsrt.so /usr/lib/gstreamer-1.0/libgstsrtp.so /usr/lib/gstreamer-1.0/libgstsrtp.so /usr/lib/gstreamer-1.0/libgstsvthevcenc.so /usr/lib/gstreamer-1.0/libgstsvthevcenc.so /usr/lib/gstreamer-1.0/libgstteletext.so /usr/lib/gstreamer-1.0/libgstteletext.so > /usr/lib/gstreamer-1.0/libgsttimecode.so /usr/lib/gstreamer-1.0/libgstttmlsubs.so /usr/lib/gstreamer-1.0/libgstttmlsubs.so /usr/lib/gstreamer-1.0/libgstva.so < /usr/lib/gstreamer-1.0/libgstvulkan.so < /usr/lib/gstreamer-1.0/libgstwaylandsink.so < /usr/lib/gstreamer-1.0/libgstwebp.so /usr/lib/gstreamer-1.0/libgstwebp.so /usr/lib/gstreamer-1.0/libgstwebrtc.so /usr/lib/gstreamer-1.0/libgstwebrtc.so /usr/lib/gstreamer-1.0/libgstwebrtcdsp.so /usr/lib/gstreamer-1.0/libgstwebrtcdsp.so /usr/lib/gstreamer-1.0/libgstwildmidi.so /usr/lib/gstreamer-1.0/libgstwildmidi.so /usr/lib/gstreamer-1.0/libgstx265.so /usr/lib/gstreamer-1.0/libgstx265.so /usr/lib/gstreamer-1.0/libgstzbar.so /usr/lib/gstreamer-1.0/libgstzbar.so /usr/lib/gstreamer-1.0/libgstzxing.so /usr/lib/gstreamer-1.0/libgstzxing.so
Updated by bill-auger about 2 months ago
- Status changed from in progress to fixed
'gst-plugin-opencv' was excluded; because 'opencv' will not compile - this should probably have it's own bug report
'gst-plugins-opencv' /usr/include/opencv4/opencv2/tracking/tracking_internals.hpp:18:10: fatal error: opencv2/video/detail/tracking.private.hpp: No such file or directory
'opencv' undefined reference to `cblas_cgemm' undefined reference to `cblas_dgemm' undefined reference to `cblas_sgemm' undefined reference to `cblas_zgemm'
the current situation with 'cblas' and 'lapack' is messy - there are multiple bug reports open in arch about them - there are multiple providers of 'cblas' - i tried 'openblas' instead but IIRC, it had the same problem - one BR claims that 'openblas-lapack' (AUR) fixes the problem; but that would not compile either
'openblas-lapack' make[1]: *** No rule to make target '../libopenblas_bulldozerp-r0.3.21.a', needed by '../libopenblas_bulldozerp-r0.3.21.so'. Stop.
Updated by eliotime3000 22 days ago
gst-plugins-gtk
package has been updated to the version 22.1 and that dependence is strongly tied-up to the gst-plugins-gtk
package. However, there's no direct bug reports to that specific package related to that specific version upgrade.
https://github.com/archlinux/svntogit-packages/commit/6fca398a20bf4ac25b04306d7c33aba1e7b8471d
https://github.com/archlinux/svntogit-packages/commit/d4d3a429e86414a72770ecf4cf4817285cad0b44
Updated by bill-auger 20 days ago
this is that specific bug report, from the last time when gstreamer was upgraded - 'gst-plugins-bad' is pinned to the same version of gstreamer - i explained why previously - 'gst-plugins-bad' needs to be upgraded every time gstreamer is upgraded - just report the conflict, as you did now, so that it gets attention promptly
the conflict is desirable - that is pacman doing it's job, by protecting other programs from breaking, which is likely to happen, if all of the gstreamer packages are not upgraded together
Updated by bill-auger 20 days ago
- Status changed from fixed to confirmed
- Subject changed from [gst-plugin-gtk] depends on gst-plugins-bad-libs=1.22.0, not available to [opencv][gst-plugin-opencv]: undefined reference to `cblas_cgemm' (also `cblas_{d,s,z}gemm')
ima re-open this, because the opencv plugin still will not compile, because 'opencv' still will not compile, due to the 'blas' confusion