Bug 29231

Summary: Не правильное значение Libs в opencv.pc
Product: Sisyphus Reporter: Slava Dubrovskiy <dubrsl>
Component: libopencv-develAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P3 CC: gns, grenka, real.altlinux.org, rider
Version: unstable   
Hardware: all   
OS: Linux   

Description Slava Dubrovskiy 2013-07-27 00:51:19 MSK
$ cat /usr/lib/pkgconfig/opencv.pc | grep ^Libs
Libs: ${exec_prefix}/lib/libopencv_legacy.so ${exec_prefix}/lib/libopencv_calib3d.so ${exec_prefix}/lib/libopencv_contrib.so ${exec_prefix}/lib/libopencv_core.so ${exec_prefix}/lib/libopencv_features2d.so ${exec_prefix}/lib/libopencv_flann.so ${exec_prefix}/lib/libopencv_highgui.so ${exec_prefix}/lib/libopencv_imgproc.so ${exec_prefix}/lib/libopencv_legacy.so ${exec_prefix}/lib/libopencv_ml.so ${exec_prefix}/lib/libopencv_objdetect.so ${exec_prefix}/lib/libopencv_photo.so ${exec_prefix}/lib/libopencv_softcascade.so ${exec_prefix}/lib/libopencv_stitching.so ${exec_prefix}/lib/libopencv_ts.so ${exec_prefix}/lib/libopencv_video.so ${exec_prefix}/lib/libopencv_videostab.so

$ pkg-config opencv --libs
/usr/lib/libopencv_legacy.so /usr/lib/libopencv_calib3d.so /usr/lib/libopencv_contrib.so /usr/lib/libopencv_core.so /usr/lib/libopencv_features2d.so /usr/lib/libopencv_flann.so /usr/lib/libopencv_highgui.so /usr/lib/libopencv_imgproc.so /usr/lib/libopencv_ml.so /usr/lib/libopencv_objdetect.so /usr/lib/libopencv_photo.so /usr/lib/libopencv_softcascade.so /usr/lib/libopencv_stitching.so /usr/lib/libopencv_ts.so /usr/lib/libopencv_video.so /usr/lib/libopencv_videostab.so  


А должно быть:
Libs: -L${libdir} -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_h
ighgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopen
cv_superres -lopencv_ts -lopencv_video -lopencv_videostab
Comment 1 real@altlinux.org 2013-07-29 06:17:52 MSK
А по-моему, и так правильно.
Comment 2 Slava Dubrovskiy 2013-07-29 14:14:21 MSK
(In reply to comment #1)
> А по-моему, и так правильно.

Так не работает же. $ pkg-config opencv --libs должен отдавать список библиотек -l, а не *.so

Вы же сами исправляли eviacam, когда при правильном /usr/lib/pkgconfig/opencv.pc никаких патчей не требуется.
Comment 3 Nick S. Grechukh 2013-07-29 14:40:25 MSK
(В ответ на комментарий №1)
> А по-моему, и так правильно.

Т.е., между объектниками и библиотеками нет никакой разницы?
Comment 4 Slava Dubrovskiy 2013-07-29 14:42:52 MSK
Можно услышать аргументы, почему "и так правильно"?
Читал man pkg-config и нигде не увидел возможность указывать библиотеки на прямую.
Также, если передавать линковщику просто список библиотек, то он их просто игнорирует. В результате получются unresolved symbols. Нужно передавать -l.
Comment 5 real@altlinux.org 2013-07-30 06:24:54 MSK
"Также, если передавать линковщику просто список библиотек, то он их просто
игнорирует."

Ни разу такого не видел. Вам, видимо, попался кривой проект, который список библиотек втывает ДО списка объектников.

PS. Если делаете REOPENED, давайте патчи.
Comment 6 Slava Dubrovskiy 2013-07-30 09:36:10 MSK
(В ответ на комментарий №5)
> PS. Если делаете REOPENED, давайте патчи.

http://pkgs.fedoraproject.org/cgit/opencv.git/tree/opencv-pkgcmake.patch
http://pkgs.fedoraproject.org/cgit/opencv.git/tree/opencv-pkgcmake2.patch
Comment 7 Slava Dubrovskiy 2013-07-30 10:03:30 MSK
В арче тоже вот об этом говорят
https://bugs.archlinux.org/task/32430
Comment 8 real@altlinux.org 2013-07-30 10:29:26 MSK
Приложу ориентировочно на выходных.

Если надо раньше, у @everybody есть ACL...
Comment 9 Slava Dubrovskiy 2013-07-30 23:31:36 MSK
(В ответ на комментарий №8)
> Приложу ориентировочно на выходных.
> Если надо раньше, у @everybody есть ACL...
Евгений, начал смотреть, и возник вопрос (прошу прощения что здесь спрашиваю). 
Откуда такая странная версия (2.4.9) взялась?
По адресу https://github.com/Itseez/opencv нахожу только 2.4.6.1
Comment 10 real@altlinux.org 2013-08-04 12:57:31 MSK
modules/core/include/opencv2/core/version.hpp
Comment 11 Repository Robot 2013-08-04 13:58:05 MSK
libopencv2.4-2.4.9-alt4.git20130204 -> sisyphus:

* Sun Aug 04 2013 Eugeny A. Rostovtsev (REAL) <real at altlinux> 2.4.9-alt4.git20130204
- Fixed pkg-config file (ALT #29231)