Проблема

Недавно при очередном штатном обновлении Ubuntu 14.04 возникла проблема с зависимостями. Для плагина pidgin-sipe оказался нужен remmina-plugin-rdp, для него в свою очередь нужен libfreerdp1, но сам pidgin-sipe из репозитория Ubuntu 14.04 хочет установить libfreerdp2. В результате libfreerdp1 конфиликтует с libfreerdp2 и плагин pidgin-sipe не работает.
Положение усугубилось тем, что при попытке собрать pidgin-sipe из исходников он стал ругаться примерно так:

purple-buddy.c: In function 'sipe_backend_buddy_set_status':
purple-buddy.c:331:3: error: implicit declaration of function 'purple_prpl_got_user_status' [-Werror=implicit-function-declaration]
   purple_prpl_got_user_status(purple_private->account, who,
   ^
purple-buddy.c:331:3: error: nested extern declaration of 'purple_prpl_got_user_status' [-Werror=nested-externs]

Оказалось, что функция purple_prpl_got_user_status находится в заголовочном файле prpl.h, который должен водить в состав пакета pidgin-dev или libpurple-dev, однако после установки этих пакетов в системе prpl.h не появился.

Решение - установить Pidgin и SIPE plugin из исходников.

Зависимости

sudo apt-get install libgtk2.0-dev libxss-dev libstartup-notification0 libstartup-notification0-dev libavahi-glib-dev libperl-dev libgnutls-dev tcl8.4-dev tk8.4-dev libgtkspell0 libgtkspell-dev libxml2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libfarstream-0.1-dev python-farstream libfarstream-0.1-0 gir1.2-farstream-0.1 libmeanwhile-dev network-manager-dev
sudo apt-get install build-essential autoconf libtool autotools-dev automake libglib2.0-dev libgtk2.0-dev libvte-dev pidgin-dev gir1.2-appindicator-0.1 gir1.2-appindicator3-0.1 libappindicator-dev libappindicator0.1-cil libappindicator0.1-cil-dev libappindicator1 libappindicator3-1  libappindicator3-dev libappindicator3-0.1-cil libappindicator3-0.1-cil-dev libgtk2-appindicator-perl python-appindicator libxml2-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-0 libgstreamer-plugins-good1.0-dev libgstreamer1.0-dev libgstreamer-ocaml-dev libgstreamer0.10-dev libgstreamermm-1.0-dev libgstrtspserver-1.0-dev libqt5gstreamer-dev libqtgstreamer-dev libtelepathy-farstream-dev libfarstream-0.2-dev libfarstream-0.1-dev libidn11-dev libidn2-0-dev libmeanwhile-dev libavahi-common-dev libavahi-client-dev libavahi-core-dev libavahi-common-dev libavahi-client-dev libavahi-core-dev libavahi-compat-libdnssd-dev libavahi-glib-dev libavahi-gobject-dev libavahi-qt4-dev libavahi-ui-dev libavahi-ui-gtk3-dev libavahi-cil-dev libavahi-ui-cil-dev libmono-zeroconf-cil-dev libavahi-common-dev libavahi-client-dev libavahi-core-dev libavahi-compat-libdnssd-dev libavahi-glib-dev libavahi-gobject-dev libavahi-qt4-dev libavahi-ui-dev libavahi-cil-dev libavahi-ui-cil-dev libmono-zeroconf-cil-dev libnm-dev libnm-glib-dev libnm-glib-vpn-dev libnm-gtk-dev libnm-util-dev libnma-dev network-manager-dev libkf5networkmanagerqt-dev perlqt-dev libcurl4-gnutls-dev libgnutls-dev libgnutls28-dev libneon27-gnutls-dev libneon27-gnutls-dev libcurl4-gnutls-dev libsoup-gnome2.4-dev libsoup2.4-dev libapr-memcache-dev libghc-gnutls-dev tcl-dev tk-dev libx11-dev libxv-dev xorg-dev xserver-xorg-dev libgtkextra-dev libgtkglextmm-x11-1.2-dev

Скачиваем, конфигурируем и ставим

wget http://iweb.dl.sourceforge.net/project/pidgin/Pidgin/2.10.12/pidgin-2.10.12.tar.bz2
tar -xvf ./pidgin-2.10.12.tar.bz2
cd pidgin-2.10.12
./configure
make
make check
sudo make install

Ставим Office Communicator Plugin

Для поддержки Microsoft Lync ставим SIPE Plugin:

wget http://iweb.dl.sourceforge.net/project/sipe/sipe/pidgin-sipe-1.20.1/pidgin-sipe-1.20.1.tar.gz
tar -xvf ./pidgin-sipe-1.20.1.tar.gz
cd pidgin-sipe-1.20.1
./configure
make
sudo make install

Ставим plugin для Whatsapp

Из ppa как напсано тут: https://davidgf.net/whatsapp/ plugin почему-то не поставился.
Ставим из исходников:

sudo apt-get install protobuf-compiler libprotobuf-dev libfreeimage-dev
wget https://codeload.github.com/davidgfnet/whatsapp-purple/zip/master
unzip whatsapp-purple-master.zip
cd whatsapp-purple-master
make 
sudo make install

Однако, у меня pidgin стал падать сразу при запуске (segfault)
Я удалил то что установилось и попробывал

sudo rm -rf /usr/local/lib/purple-2/libwhatsapp.so /usr/local/share/pixmaps/pidgin/protocols/16/whatsapp.png /usr/local/share/pixmaps/pidgin/protocols/22/whatsapp.png /usr/local/share/pixmaps/pidgin/protocols/48/whatsapp.png
make ARCH=x86_64

Результат тот же.
Где-то нашел, что нужно обновить libfreerdp-dev. Ubuntu ставит по-умолчанию 3.15, но есть 3.17. Скачал исходники, собрал, но ничего не поменялось.
Отложу это дело пока что. :(

Enter your comment. Wiki syntax is allowed:
 
  • linux_faq/ubuntu_build_pidgin_from_source.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1