[newbies] Cmake не может найти QtCore

Евгений Ростовцев real.altlinux.org на gmail.com
Ср Дек 28 05:34:30 MSK 2011


>> > Плохо дело - результат тот-же . Куда можно ещё капнуть?
>>
>> Самое простое - выложить куда-нибудь то, что Вы собираете, включая и
>> спек, и дать ссылку сюда. Посмотрим, что там такое.
>>
> http://dl.dropbox.com/u/6823852/ALT%
> 20Linux/libvlc-qt/libvlc-qt-0.6.0-alt0.src.rpm

У Вас в спеке:

#%add_optflags -I/usr/include/qt4/QtCore

Оно не только закомментировано, его если даже раскомментировать, будет
ошибка. Найдите отличие от того, что я говорил:

%add_optflags -I/usr/include/qt4

Кстати, там ещё в спеке есть косяки:

Group: Multimedia/Video

Группы Multimedia/Video у нас нет, есть Video.

%_libdir/*
[...]
%exclude %_libdir/debug

Так делать не стоит, вместо этого нужно вместо %_libdir/* указывать
более конкретный паттерн:

%_libdir/*.so.*

Ну и добавить подпакет %name-devel, куда пойдут:

%_includedir/*
%_libdir/*.so
%_pkgconfigdir/*

В самом пакете косяк, он кладёт pkg-config файл не в
%_libdir/pkgconfig (во что разворачивается %_pkgconfigdir), а в
%_libexecdir/pkgconfig. Нужно либо

1. править в исходниках: в файле libvlc-qt/pkgconfig/CMakeLists.txt
заменить строку 30 с
INSTALL(FILES ${CMAKE_BINARY_DIR}/pkgconfig/libvlc-qt.pc DESTINATION
${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
на
INSTALL(FILES ${CMAKE_BINARY_DIR}/pkgconfig/libvlc-qt.pc DESTINATION
${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)

либо

2. в спеке после вызова %makeinstall_std добавить:

%ifarch x86_64
install -d %buildroot%_pkgconfigdir
mv %buildroot%_libexecdir/pkgconfig/* %buildroot%_pkgconfig/
%endif

-- 
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
ALT Linux team


Подробная информация о списке рассылки devel-newbies