LINUX.ORG.RU

Gambas (конкретно - gb.qt4) не собирается

 , ,


0

0

Собираю Gambas 3.2.1 на slackware-current от 2 августа сего года. Как только дело доходит до компонента gb.qt4 (который, на минуточку, необходим для IDE), выскакивает такая вот гадость:

libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../crti.o /usr/lib/gcc/i486-slackware-linux/4.7.1/crtbeginS.o  .libs/gb_qt4_webkit_la-main.o .libs/gb_qt4_webkit_la-cwebsettings.o .libs/gb_qt4_webkit_la-cwebframe.o .libs/gb_qt4_webkit_la-cwebframe_moc.o .libs/gb_qt4_webkit_la-cwebview.o .libs/gb_qt4_webkit_la-cwebview_moc.o .libs/gb_qt4_webkit_la-ccookiejar.o .libs/gb_qt4_webkit_la-ccookiejar_moc.o .libs/gb_qt4_webkit_la-cwebhittest.o .libs/gb_qt4_webkit_la-cwebdownload.o .libs/gb_qt4_webkit_la-cwebdownload_moc.o   -Wl,-rpath -Wl,/usr/lib/qt/lib -Wl,-rpath -Wl,/usr/lib/qt/lib -L/usr/lib/qt/lib /usr/lib/qt/lib/libQtDBus.so /usr/lib/qt/lib/libQtXml.so /usr/lib/qt/lib/libQtWebKit.so -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore /usr/lib/libfontconfig.so -L/usr/lib /usr/lib/libfreetype.so /usr/lib/libXext.so /usr/lib/libX11.so /usr/lib/libsqlite3.so -ldl /usr/lib/libXrender.so /usr/lib/libgio-2.0.so /usr/lib/libgstapp-0.10.so /usr/lib/libgstinterfaces-0.10.so /usr/lib/libgstpbutils-0.10.so /usr/lib/libgstvideo-0.10.so /usr/lib/libgstbase-0.10.so /usr/lib/libgstreamer-0.10.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libxml2.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/qt/lib/libQtGui.so /usr/lib/qt/lib/libQtNetwork.so /usr/lib/qt/lib/libQtCore.so -lpthread -L/usr/lib/gcc/i486-slackware-linux/4.7.1 -L/usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/lib -L/usr/lib/gcc/i486-slackware-linux/4.7.1/../../.. /usr/lib/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc/i486-slackware-linux/4.7.1/crtendS.o /usr/lib/gcc/i486-slackware-linux/4.7.1/../../../crtn.o  -Os -pthread   -pthread -Wl,-soname -Wl,gb.qt4.webkit.so.0 -o .libs/gb.qt4.webkit.so.0.0.0
/usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: cannot find -lwebcore
collect2: error: ld returned 1 exit status
make[3]: *** [gb.qt4.webkit.la] Ошибка 1
make[3]: Выход из каталога `/data/Installs/Sources/gambas3-3.2.0/gb.qt4/src/webkit'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/data/Installs/Sources/gambas3-3.2.0/gb.qt4/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/data/Installs/Sources/gambas3-3.2.0/gb.qt4'
make: *** [all] Ошибка 2

(полный лог здесь, вдруг кому надо)

-lwebcore, говорите? Окей, грепаю всякие Makefile (безрезультатно), затем /usr/lib/pkgconfig/*. Нахожу в QtWebKit.pc:

Libs.private: -L/usr/lib/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib  -lwebcore -L/usr/lib/qt/lib -L/usr/X11R6/lib -lfontconfig -lfreetype -lXext -lX11 -lm  -lsqlite3 -ldl -lXrender -lQtGui -lQtNetwork -lQtCore -lpthread -lgio-2.0 -lgstapp-0.10 -lgstinterfaces-0.10 -lgstpbutils-0.10 -pthread -lgstvideo-0.10 -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lxml2 -lgthread-2.0 -lrt -lglib-2.0 -lXrender -lfontconfig -lfreetype -lXext -lX11 -lm  

Лезу find'ом везде, где только можно - никаких следов WebCore/release или JavaScriptCore/release. И, собственно, почему там указаны относительные пути? Относительно чего они? Лезу в гугл. Нахожу всего три ссылки, одна из которых рабочая: http://old.nabble.com/cannot-find--llwebcore-p34207458.html, но вместе с тем совершенно бесполезная. Лезу за исходниками вебкита, и - о ужас! - нахожу среди них каталоги с нужными названиями. Что за фигня вообще творится в датском королевстве? Это таки баг, или где? И если да, то чей? Слакварного Qt? Gambas'a (configure почему-то не ругается на отсутствие вебкита)? Действительно ли тут нужен не-qtшный вебкит? Слакварщики, ау!

★★★★☆

Ответ на: комментарий от bormant

Я автор того слакбилда :-) Юмор в том, что сейчас идёт массовое тестирование всего что только можно на карренте - эдакая усиленная подготовка к релизу слаки 14.0. Вот и тестирую, блин.

Cancellor ★★★★☆ ()
Ответ на: комментарий от Cancellor

Вот и тестирую, блин.

Это дело нужное.

На 13.37 содержимое /usr/lib/pkgconfig/QtWebKit.pc у меня в вышеозначенной части вполне приличиям соответствующее:

...
Name: Qtwebkit
Description: Qtwebkit Library
Version: 4.7.0
Libs: -L${libdir} -lQtWebKit
Libs.private: -L/usr/lib/qt/lib  -L/usr/X11R6/lib   -L/usr/lib/qt/lib -lXrender -lsqlite3 -ldl -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread -lXrender -lfontconfig -lfreetype -lXext -lX11 -lm
Cflags: -DQT_SHARED -I/usr/lib/qt/include -I${includedir}
Requires: QtCore QtGui QtNetwork
Сам файл из пакета qt-4.7.0_7abde40-i486-3. Относительные пути в нём явно не к месту, ошибка или сборки в -current или апстрима.

gambas3 не собирается по причине заказанного -lwebcore, который, похоже, пришёл из QtWebKit.pc (через pkg-config в правилах сборки). Отсюда вопрос: а пакет, содержащий QtWebKit.pc, штатным слакбилдом нормально пересобирается? По идее, тот же косяк должен был выскочить... А если нет, то наверняка та самая часть собранного внутрь пакета не попала. Задумано так или само получилось — это уже разбираться надо.

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Кстати, только что просто руками убрал из QtWebKit.pc весь мусор (-L../../WebCore/release -L../../JavaScriptCore/release -lwebcore), запустил сборку gb.qt4, и оно всё равно упало с дословно той же ошибкой, ровно в том же месте. Дерево исходников распаковано заново, никакой кэш тут не виноват. У меня кончилась фантазия. Откуда ещё могут браться флаги линковки?

Cancellor ★★★★☆ ()
Ответ на: комментарий от Cancellor

Совсем забыл про libtool'овские файлы. Убрал тот же мусор из libQtWebKit.la - gb.qt4 спокойно собрался. Всё, ушёл жаловаться Патрегу.

Cancellor ★★★★☆ ()
Ответ на: комментарий от Cancellor

Как результат (раз уж в ChangeLog.txt пока ещё не видать)?

Если было исключительно почтой, есть смысл (проверено в части почты или моего runglish ;-) ) отписаться в LQ (http://www.linuxquestions.org/questions/slackware-14/), там volkerdi перед релизом Slackware-14 достаточно активно отвечает (вдруг ещё и читает по утрам ;-) ), как в недавнем интервью говорил).

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Вчера вечером отписался на volkerdi@slackware.com. Пока всё тихо. Сам не люблю, когда на меня давят и всячески вниманиешлюшествуют, так что подожду ещё немного - мало ли, что там за обстоятельства.

Cancellor ★★★★☆ ()
Ответ на: комментарий от Cancellor

Есть контакт. А заодно и RC1.

Thu Aug 9 22:34:59 UTC 2012 Good hello, and happy Thursday! Mercury went direct early yesterday morning, and it was like the bugs started to fix themselves. It's almost enough to get me believing in that hocus-pocus nonsense! So, here's a bunch of updates that fix all of the reported issues in the beta, and we'll call this the 14.0 release candidate 1. Still some updates needed for the top-level documentation files, but we're clearly in the home stretch now (finally). Test away, and report any remaining bugs!

...

l/qt-4.8.2-i486-2.txz: Rebuilt.
Patched libQtWebKit.la and QtWebKit.pc to remove a false dependency on libwebcore.a, which is used internally at build time. Thanks to Fridrich von Stauffenberg and Eric Hameleers.

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Чейнджлог реально впечатляет. Я уж начал думать, что Патрег забухал, а тут вон какая простыня :-)

Cancellor ★★★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.