devel@ where you _can_ ask
 help / color / mirror / Atom feed
* [newbies] Cmake не может найти QtCore
@ 2011-12-26 15:17 gBopHuk_alt
  2011-12-26 15:33 ` Евгений Ростовцев
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-26 15:17 UTC (permalink / raw)
  To: devel-newbies

Всем привет =)) Тут такое дело: при сборке пакета на cmake выдает
ошибку : fatal error: QtCore/QList: No such file or directory
установил пакеты libqt4-devel и qt4-devel, но упорно не хочет находить
путь к QtCore. Buildreq добавил ещё два пакета : phonon-devel и
qt4-designer, но ситуация не изменилась. Может можно как-то вручную
указать путь к QtCore?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-26 15:17 [newbies] Cmake не может найти QtCore gBopHuk_alt
@ 2011-12-26 15:33 ` Евгений Ростовцев
  2011-12-26 21:14   ` gBopHuk_alt
  2011-12-26 16:16 ` Michael Shigorin
  2012-01-13 14:27 ` gBopHuk_alt
  2 siblings, 1 reply; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-26 15:33 UTC (permalink / raw)
  To: devel@ where you _can_ ask

26.12.11, gBopHuk_alt<gbophuk_alt@mail.ru> написал(а):
> Всем привет =)) Тут такое дело: при сборке пакета на cmake выдает
> ошибку : fatal error: QtCore/QList: No such file or directory
> установил пакеты libqt4-devel и qt4-devel, но упорно не хочет находить
> путь к QtCore. Buildreq добавил ещё два пакета : phonon-devel и
> qt4-designer, но ситуация не изменилась. Может можно как-то вручную
> указать путь к QtCore?

Для этого хедера достаточно libqt4-devel, путь к нему -
/usr/include/qt4/QtCore/QList

Так что просто достаточно добавить во флаги -I%_includedir/qt4 или же
$(pkg-config QtCore --cflags)

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-26 15:17 [newbies] Cmake не может найти QtCore gBopHuk_alt
  2011-12-26 15:33 ` Евгений Ростовцев
@ 2011-12-26 16:16 ` Michael Shigorin
  2012-01-13 14:27 ` gBopHuk_alt
  2 siblings, 0 replies; 17+ messages in thread
From: Michael Shigorin @ 2011-12-26 16:16 UTC (permalink / raw)
  To: devel-newbies

On Mon, Dec 26, 2011 at 07:17:47PM +0400, gBopHuk_alt wrote:
> Тут такое дело: при сборке пакета на cmake

На всякий: http://www.altlinux.org/SampleSpecs/cmakeprogram

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-26 15:33 ` Евгений Ростовцев
@ 2011-12-26 21:14   ` gBopHuk_alt
  2011-12-27  2:33     ` Евгений Ростовцев
  0 siblings, 1 reply; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-26 21:14 UTC (permalink / raw)
  To: devel@ where you _can_ ask

В Пнд, 26/12/2011 в 22:33 +0700, Евгений Ростовцев пишет:
> -I%_includedir/qt4

То есть в конец cmake добавить эту штуку? 



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-26 21:14   ` gBopHuk_alt
@ 2011-12-27  2:33     ` Евгений Ростовцев
  2011-12-27 10:02       ` gBopHuk_alt
  0 siblings, 1 reply; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-27  2:33 UTC (permalink / raw)
  To: devel@ where you _can_ ask

27.12.11, gBopHuk_alt<gbophuk_alt@mail.ru> написал(а):
> В Пнд, 26/12/2011 в 22:33 +0700, Евгений Ростовцев пишет:
>> -I%_includedir/qt4
>
> То есть в конец cmake добавить эту штуку?

Нет. Надо перед вызовом cmake добавить строчку:

%add_optflags -I%_includedir/qt4

Далее, если пользуетесь макросом %cmake, то этого и достаточно, а если
вызываете cmake напрямую, надо руками добавить в вызов параметры:

-DCMAKE_C_FLAGS="%optflags" -DCMAKE_CXX_FLAGS="%optflags"

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-27  2:33     ` Евгений Ростовцев
@ 2011-12-27 10:02       ` gBopHuk_alt
  2011-12-27 10:04         ` Евгений Ростовцев
  0 siblings, 1 reply; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-27 10:02 UTC (permalink / raw)
  To: devel@ where you _can_ ask

В Втр, 27/12/2011 в 08:33 +0600, Евгений Ростовцев пишет:
> 27.12.11, gBopHuk_alt<gbophuk_alt@mail.ru> написал(а):
> > В Пнд, 26/12/2011 в 22:33 +0700, Евгений Ростовцев пишет:
> >> -I%_includedir/qt4
> >
> > То есть в конец cmake добавить эту штуку?
> 
> Нет. Надо перед вызовом cmake добавить строчку:
> 
> %add_optflags -I%_includedir/qt4
> 
> Далее, если пользуетесь макросом %cmake, то этого и достаточно, а если
> вызываете cmake напрямую, надо руками добавить в вызов параметры:
> 
> -DCMAKE_C_FLAGS="%optflags" -DCMAKE_CXX_FLAGS="%optflags"
> 

Плохо дело - результат тот-же . Куда можно ещё капнуть?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-27 10:02       ` gBopHuk_alt
@ 2011-12-27 10:04         ` Евгений Ростовцев
  2011-12-27 21:56           ` gBopHuk_alt
  0 siblings, 1 reply; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-27 10:04 UTC (permalink / raw)
  To: devel@ where you _can_ ask

> Плохо дело - результат тот-же . Куда можно ещё капнуть?

Самое простое - выложить куда-нибудь то, что Вы собираете, включая и
спек, и дать ссылку сюда. Посмотрим, что там такое.

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-27 10:04         ` Евгений Ростовцев
@ 2011-12-27 21:56           ` gBopHuk_alt
  2011-12-28  2:34             ` Евгений Ростовцев
  0 siblings, 1 reply; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-27 21:56 UTC (permalink / raw)
  To: devel@ where you _can_ ask

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



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-27 21:56           ` gBopHuk_alt
@ 2011-12-28  2:34             ` Евгений Ростовцев
  2011-12-28  7:47               ` gBopHuk_alt
  2011-12-28  8:38               ` gBopHuk_alt
  0 siblings, 2 replies; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-28  2:34 UTC (permalink / raw)
  To: devel@ where you _can_ ask

>> > Плохо дело - результат тот-же . Куда можно ещё капнуть?
>>
>> Самое простое - выложить куда-нибудь то, что Вы собираете, включая и
>> спек, и дать ссылку сюда. Посмотрим, что там такое.
>>
> 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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  2:34             ` Евгений Ростовцев
@ 2011-12-28  7:47               ` gBopHuk_alt
  2011-12-28  8:38               ` gBopHuk_alt
  1 sibling, 0 replies; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-28  7:47 UTC (permalink / raw)
  To: devel@ where you _can_ ask

В Срд, 28/12/2011 в 08:34 +0600, Евгений Ростовцев пишет:
> #%add_optflags -I/usr/include/qt4/QtCore
> 
> Оно не только закомментировано, его если даже раскомментировать, будет
> ошибка. Найдите отличие от того, что я говорил:
> 
> 

Это я уже от безысходности разные варианты перебирал.

Тоже сначала делал с devel пакетом , потом когда ошибки полезли решил
оставить один общий. 

Спасибо за подробную инструкцию - попробую теперь собрать.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  2:34             ` Евгений Ростовцев
  2011-12-28  7:47               ` gBopHuk_alt
@ 2011-12-28  8:38               ` gBopHuk_alt
  2011-12-28  8:48                 ` Евгений Ростовцев
  1 sibling, 1 reply; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-28  8:38 UTC (permalink / raw)
  To: devel@ where you _can_ ask

В Срд, 28/12/2011 в 08:34 +0600, Евгений Ростовцев пишет:
> В самом пакете косяк, он кладёт pkg-config файл не в
> %_libdir/pkgconfig (во что разворачивается %_pkgconfigdir), а в
> %_libexecdir/pkgconfig 

Говорит 
mv: `/usr/src/tmp/libvlc-qt-buildroot/usr/lib/pkgconfig/libvlc-qt.pc'
and `/usr/src/tmp/libvlc-qt-buildroot/usr/lib/pkgconfig/libvlc-qt.pc'
are the same file

Открыл rpm собранный со старым спеком - по-умолчанию сохраняет
в /usr/lib/pckcongif. Копать нужно куда-то ещё.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  8:38               ` gBopHuk_alt
@ 2011-12-28  8:48                 ` Евгений Ростовцев
  2011-12-28  9:13                   ` gBopHuk_alt
  0 siblings, 1 reply; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-28  8:48 UTC (permalink / raw)
  To: devel@ where you _can_ ask

> Говорит
> mv: `/usr/src/tmp/libvlc-qt-buildroot/usr/lib/pkgconfig/libvlc-qt.pc'
> and `/usr/src/tmp/libvlc-qt-buildroot/usr/lib/pkgconfig/libvlc-qt.pc'
> are the same file

Вы забыли обернуть этот перенос в условную конструкцию:

%ifarch x86_64
...
%endif

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  8:48                 ` Евгений Ростовцев
@ 2011-12-28  9:13                   ` gBopHuk_alt
  2011-12-28  9:16                     ` Евгений Ростовцев
  0 siblings, 1 reply; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-28  9:13 UTC (permalink / raw)
  To: devel@ where you _can_ ask

В Срд, 28/12/2011 в 14:48 +0600, Евгений Ростовцев пишет:
> Вы забыли обернуть этот перенос в условную конструкцию:
> 
> %ifarch x86_64
> ...
> %endif
> 
> 
результат тот же : пакет собирается, но не работает, потому как не может
найти QtCore



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  9:13                   ` gBopHuk_alt
@ 2011-12-28  9:16                     ` Евгений Ростовцев
  2011-12-28  9:40                       ` gBopHuk_alt
  0 siblings, 1 reply; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-28  9:16 UTC (permalink / raw)
  To: devel@ where you _can_ ask

> результат тот же : пакет собирается, но не работает, потому как не может
> найти QtCore

Непонятно: каким образом работа пакета зависит от хедера?

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  9:16                     ` Евгений Ростовцев
@ 2011-12-28  9:40                       ` gBopHuk_alt
  2011-12-28  9:44                         ` Евгений Ростовцев
  0 siblings, 1 reply; 17+ messages in thread
From: gBopHuk_alt @ 2011-12-28  9:40 UTC (permalink / raw)
  To: devel@ where you _can_ ask

В Срд, 28/12/2011 в 15:16 +0600, Евгений Ростовцев пишет:
> > результат тот же : пакет собирается, но не работает, потому как не может
> > найти QtCore
> 
> Непонятно: каким образом работа пакета зависит от хедера?
> 
В общем ситуация такая: этот пакет нужен для работы tano-player, при
сборке tano ругается на функцию VLCMediaPlayer, которая не понимает
параметр Qstring. VLCMediaPlayer создаётся libvlc-qt, которая
собирается, но ругается на все QtCore/* :No such file or directory
QtString и все не работающие функции как раз находятся в QtCore.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-28  9:40                       ` gBopHuk_alt
@ 2011-12-28  9:44                         ` Евгений Ростовцев
  0 siblings, 0 replies; 17+ messages in thread
From: Евгений Ростовцев @ 2011-12-28  9:44 UTC (permalink / raw)
  To: devel@ where you _can_ ask

> В общем ситуация такая: этот пакет нужен для работы tano-player, при
> сборке tano ругается на функцию VLCMediaPlayer, которая не понимает
> параметр Qstring. VLCMediaPlayer создаётся libvlc-qt, которая
> собирается, но ругается на все QtCore/* :No such file or directory
> QtString и все не работающие функции как раз находятся в QtCore.

Если tano-player использует pkg-config для получения флагов
компилятора из libvlc-qt, то надо фиксить
libvlc-qt/pkgconfig/libvlc-qt.pc.in. См. строку 10, куда нужно
добавить -I/usr/include/qt4.

В противном случае эти флаги нужно давать самому tano-player. Хотя
libvlc-qt/pkgconfig/libvlc-qt.pc.in пофиксить всё равно не помешает :)

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [newbies] Cmake не может найти QtCore
  2011-12-26 15:17 [newbies] Cmake не может найти QtCore gBopHuk_alt
  2011-12-26 15:33 ` Евгений Ростовцев
  2011-12-26 16:16 ` Michael Shigorin
@ 2012-01-13 14:27 ` gBopHuk_alt
  2 siblings, 0 replies; 17+ messages in thread
From: gBopHuk_alt @ 2012-01-13 14:27 UTC (permalink / raw)
  To: devel@ where you _can_ ask

Запустил cmake c парметром -v

Определил что проблемы возникают с файлами начинающимися на moc_ :
/usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/src/core/moc_Audio.cxx:50:
warning: documented function `const QMetaObject * VlcAudio::metaObject'
was not declared or defined.
/usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/src/core/moc_Audio.cxx:55:
warning: documented function `void * VlcAudio::qt_metacast' was not
declared or defined.
/usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/src/core/moc_Audio.cxx:63:
warning: documented function `int VlcAudio::qt_metacall' was not
declared or defined.

Посмотрел Buildlog от разработчиков, там при генерации moc файлов
используется /usr/bin/moc-qt4

[  3%] Generating gui/moc_VideoWidget.cxx
cd /build/buildd/libvlc-qt-0.5.1/builddir/src && /usr/bin/moc-qt4
-I/build/buildd/libvlc-qt-0.5.1/builddir/src
-I/build/buildd/libvlc-qt-0.5.1/src -I/usr/include/qt4
-I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -DQT_GUI_LIB
-DQT_CORE_LIB
-o /build/buildd/libvlc-qt-0.5.1/builddir/src/gui/moc_VideoWidget.cxx /build/buildd/libvlc-qt-0.5.1/src/gui/VideoWidget.h
/usr/bin/cmake -E
cmake_progress_report /build/buildd/libvlc-qt-0.5.1/builddir/CMakeFiles
23

А у меня /usr/lib/qt4/bin/moc

[ 27%] Generating gui/moc_VideoWidget.cxx
cd /usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/src && /usr/lib/qt4/bin/moc
-I/usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/src
-I/usr/src/RPM/BUILD/libvlc-qt-0.5.1/src -I/usr/include/qt4
-I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -DQT_GUI_LIB
-DQT_CORE_LIB
-o /usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/src/gui/moc_VideoWidget.cxx /usr/src/RPM/BUILD/libvlc-qt-0.5.1/src/gui/VideoWidget.h
/usr/bin/cmake -E
cmake_progress_report /usr/src/RPM/BUILD/libvlc-qt-0.5.1/BUILD/CMakeFiles 35


Может они как-то по разному обрабатывают файл?

Buildlog у разрабов был только под ubuntu


При сборке tano-player ругается на файлы libvlc-qt:

/usr/src/RPM/BUILD/tano-player-0.8.1/src/ui/MainWindow.cpp:484:30:
error: no matching function for call to 'VlcMediaPlayer::open(const
QString&)'
/usr/include/vlc-qt/MediaPlayer.h:103:10: note: candidate is: void
VlcMediaPlayer::open(VlcMedia*)




^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2012-01-13 14:27 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-26 15:17 [newbies] Cmake не может найти QtCore gBopHuk_alt
2011-12-26 15:33 ` Евгений Ростовцев
2011-12-26 21:14   ` gBopHuk_alt
2011-12-27  2:33     ` Евгений Ростовцев
2011-12-27 10:02       ` gBopHuk_alt
2011-12-27 10:04         ` Евгений Ростовцев
2011-12-27 21:56           ` gBopHuk_alt
2011-12-28  2:34             ` Евгений Ростовцев
2011-12-28  7:47               ` gBopHuk_alt
2011-12-28  8:38               ` gBopHuk_alt
2011-12-28  8:48                 ` Евгений Ростовцев
2011-12-28  9:13                   ` gBopHuk_alt
2011-12-28  9:16                     ` Евгений Ростовцев
2011-12-28  9:40                       ` gBopHuk_alt
2011-12-28  9:44                         ` Евгений Ростовцев
2011-12-26 16:16 ` Michael Shigorin
2012-01-13 14:27 ` gBopHuk_alt

devel@ where you _can_ ask

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-newbies/0 devel-newbies/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-newbies devel-newbies/ http://lore.altlinux.org/devel-newbies \
		devel-newbies@lists.altlinux.org devel-newbies@lists.altlinux.ru devel-newbies@lists.altlinux.com
	public-inbox-index devel-newbies

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-newbies


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git