[devel] HTTP File Upload plugin for libpurple
Evgeniy Korneechev
ekorneechev на altlinux.org
Пт Дек 7 15:49:24 MSK 2018
ДД!
Пытаюсь собрать из гита: https://github.com/Junker/purple-xmpp-http-upload
(чтобы добавить модуль в Pidgin, для отправки файлов не как вложений, а ссылками на них).
Инструкция простая, clone, make, make install.
Перед этим установил следующие требуемые пакеты:
libgio-devel glib2-devel libpurple-devel libxml2-devel pidgin
Запуск сборки обломался как в https://github.com/Junker/purple-xmpp-http-upload/issues/8 :
$ make
cc -Wall -I. -g -pipe -fPIC -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include \
-I/usr/include/libpurple -I/usr/include/libxml2 -I./headers/jabber src/hfu_disco.c src/hfu_util.c \
src/jabber_http_file_upload.c -o jabber_http_file_upload.so -g -pipe -fPIC -pthread \
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpurple -I/usr/include/libxml2 \
-I./headers/jabber -lgio-2.0 -lgobject-2.0 -lpurple -lglib-2.0 -lxml2 -lz -lm -ldl -L/usr/lib64/purple-2 -ldl -lm -ljabber -shared
/usr/bin/ld: cannot find -ljabber
collect2: error: ld returned 1 exit status
make: *** [jabber_http_file_upload.so] Error 1
Как и было указано в баге (правда там про федору) - поменял s/-ljabber/-lxmpp/g - сборка прошла успешно.
Готовый so-шник установился в /usr/lib64/purple-2.0
Запускаем Pidgin, идем в модули - модуль "XMPP HTTP File Upload" неактивен. В подробностях следующее:
Ошибка: undefined symbol: jabber_get_chat_name
Данный symbol упоминается как в собранной so, так и в libxmpp
# readelf -Ws /usr/lib64/purple-2/libxmpp.so | grep jabber_get_chat
55: 0000000000000000 0 FUNC GLOBAL DEFAULT UND jabber_get_chat_name
Куда копать? В чем может быть проблема?
PS Проверял в обновленной регулярке x86_64
PPS Проверил на упомянутой федоре 29 - там все нормально... Версия libpurple та же самая.
libpurple-devel-2.13.0-alt2.x86_64 против libpurple-devel-2.13.0-6.fc29.x86_64
--
WBR, Korneechev Evgeniy
BaseALT/ALTLinux Team
Подробная информация о списке рассылки Devel