Bug 29231 - Не правильное значение Libs в opencv.pc
Summary: Не правильное значение Libs в opencv.pc
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libopencv-devel (show other bugs)
Version: unstable
Hardware: all Linux
: P3 critical
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-27 00:51 MSK by Slava Dubrovskiy
Modified: 2013-08-04 13:58 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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)