Проблема
Недавно при очередном штатном обновлении 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. Скачал исходники, собрал, но ничего не поменялось.
Отложу это дело пока что. :(
Discussion