Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
10-30-2014, 01:47 PM
|
#1
|
Member
Registered: Mar 2006
Location: EU
Distribution: Slackware, Gentoo
Posts: 58
Rep:
|
Pidgin: no Gadu-Gadu protocol after upgrading to 2.10.10
I upgraded pidgin-2.10.9 to 2.10.10 on Slackware64-14.1 using slackpkg. Now when I start the application the buddy list is empty. When I open "Manage accounts", my previously configured Gadu-Gadu account is listed as unknown protocol. In the "Modify account" window, Gadu-Gadu is not in the list of available protocols. Pidgin's debug window doesn't show any messages that could be related to the issue. Build information window states:
Quote:
Arguments to ./configure: '--prefix=/usr' '--libdir=/usr/lib64' '--sysconfdir=/etc' '--mandir=/usr/man' '--enable-dot=no' '--disable-schemas-install' '--enable-dbus' '--enable-gnutls=no' '--enable-nss=yes' '--with-nss-includes=/usr/include/nss' '--with-nss-libs=/usr/lib64/' '--with-nspr-includes=/usr/include/nspr' '--with-nspr-libs=/usr/lib64/' '--disable-vv' '--enable-gtkspell' '--enable-cyrus-sasl' '--enable-perl' '--disable-meanwhile' '--disable-avahi' '--disable-nm' '--program-prefix=' '--program-suffix=' '--build=x86_64-slackware-linux' 'build_alias=x86_64-slackware-linux' 'CFLAGS=-O2 -fPIC' 'PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig'
Print debugging messages: No
Plugins: Enabled
SSL: SSL support is present.
Library Support
Cyrus SASL: Enabled
D-Bus: Enabled
Evolution Addressbook: Disabled
Gadu-Gadu library (libgadu): Internal
GtkSpell: Enabled
GnuTLS: Disabled
GStreamer: Enabled
Mono: Disabled
NetworkManager: Disabled
Network Security Services (NSS): Enabled
Perl: Enabled
Tcl: Enabled
Tk: Enabled
UTF-8 DNS (IDN): Enabled
Voice and Video: Disabled
X Session Management: Enabled
XScreenSaver: Enabled
Zephyr library (libzephyr): Internal
Zephyr uses Kerberos: No
|
That's a standard Slackware64-14.1 package. After downgrading pidgin to 2.10.7 everything is back to normal (I can't downgrade to exactly 2.10.9 anymore, that package is gone from ftp servers).
Does anyone else have this issue? I'm trying to figure out whether it's a Slackware64 bug, an upstream bug, or somehow my fault.
|
|
|
10-30-2014, 04:27 PM
|
#2
|
Senior Member
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,750
|
In 2.10.10, the developer bumped libgadu internal to 1.12.0.
I'm not sure why this caused it to break
Anyway, i tried to make a SlackBuild for libgadu
Code:
#!/bin/sh
# Copyright 2014 Willy Sudiarto Raharjo <willysr@slackware-id.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=libgadu
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
NUMJOBS=${NUMJOBS:-" -j6 "}
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
rm -rf $PKG
mkdir -p $TMP $PKG
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
ARCHQUADLET=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
ARCHQUADLET=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
ARCHQUADLET=""
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-O2 -march=armv4t"
LIBDIRSUFFIX=""
ARCHQUADLET="-gnueabi"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
ARCHQUADLET=""
fi
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
--enable-static=no \
--disable-tests \
--build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
# Build and install:
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
for manpagedir in $(find . -type d -name "man*") ; do
( cd $manpagedir
for eachpage in $( find . -type l -maxdepth 1) ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
gzip -9 *.*
)
done
)
fi
# Compress info files, if any:
if [ -d $PKG/usr/info ]; then
( cd $PKG/usr/info
rm -f dir
gzip -9 *
)
fi
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
AUTHORS COPYING ChangeLog NEWS README \
$PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
libgadu: libgadu (Gadu Client Library)
libgadu:
libgadu: This library implements the client side of the Gadu-Gadu protocol
libgadu:
libgadu:
libgadu:
libgadu:
libgadu:
libgadu: For more info, see: http://libgadu.net/
libgadu:
libgadu:
after installing libgadu and recompile pidgin, i got
Quote:
Pidgin 2.10.10 (libpurple 2.10.10)
unknown
Build Information
Arguments to ./configure: '--prefix=/usr' '--libdir=/usr/lib' '--sysconfdir=/etc' '--mandir=/usr/man' '--enable-dot=no' '--disable-schemas-install' '--enable-dbus' '--enable-gnutls=no' '--enable-nss=yes' '--with-nss-includes=/usr/include/nss' '--with-nss-libs=/usr/lib/' '--with-nspr-includes=/usr/include/nspr' '--with-nspr-libs=/usr/lib/' '--disable-vv' '--enable-gtkspell' '--enable-cyrus-sasl' '--enable-perl' '--disable-meanwhile' '--disable-avahi' '--disable-nm' '--program-prefix=' '--program-suffix=' '--build=i486-slackware-linux' 'build_alias=i486-slackware-linux' 'CFLAGS=-O2 -march=i486 -mtune=i686' 'LDFLAGS=-lgadu' 'PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig'
Print debugging messages: No
Plugins: Enabled
SSL: SSL support is present.
Library Support
Cyrus SASL: Enabled
D-Bus: Enabled
Evolution Addressbook: Disabled
Gadu-Gadu library (libgadu): External
GtkSpell: Enabled
GnuTLS: Disabled
GStreamer: Enabled
Mono: Disabled
NetworkManager: Disabled
Network Security Services (NSS): Enabled
Perl: Enabled
Tcl: Enabled
Tk: Enabled
UTF-8 DNS (IDN): Enabled
Voice and Video: Disabled
X Session Management: Enabled
XScreenSaver: Enabled
Zephyr library (libzephyr): Internal
Zephyr uses Kerberos: No
|
please check if installing libgadu and recompiling pidgin solves your problem?
Last edited by willysr; 10-30-2014 at 04:38 PM.
|
|
2 members found this post helpful.
|
11-01-2014, 07:29 AM
|
#3
|
Member
Registered: Sep 2012
Distribution: Slackware
Posts: 88
Rep:
|
I also have this problem. I've checked on my laptop, which is running Debian, and there gadu protocol on Pidgin 2.10.10 works fine. I'm going to check the slackbuild willysr wrote.
Last edited by elesmod; 11-01-2014 at 07:40 AM.
|
|
|
11-01-2014, 08:21 AM
|
#4
|
Member
Registered: Sep 2012
Distribution: Slackware
Posts: 88
Rep:
|
It worked! Thanks willysr!
|
|
|
11-01-2014, 11:24 AM
|
#5
|
Member
Registered: Mar 2006
Location: EU
Distribution: Slackware, Gentoo
Posts: 58
Original Poster
Rep:
|
Thanks for your replies.
This problem is not Slackware specific, I'm also having the same issue on Gentoo. It seems that since version 2.10.10 there's no Gadu-Gadu protocol support when Pidgin's internal libgadu is used. As willysr and elesmod proved, using external libgadu fixes this. I guess this problem should be reported upstream.
|
|
|
11-04-2014, 04:18 AM
|
#6
|
Member
Registered: Aug 2012
Posts: 484
Rep:
|
Quote:
Originally Posted by arcctgx
I upgraded pidgin-2.10.9 to 2.10.10 on Slackware64-14.1 using slackpkg. Now when I start the application the buddy list is empty. When I open "Manage accounts", my previously configured Gadu-Gadu account is listed as unknown protocol. In the "Modify account" window, Gadu-Gadu is not in the list of available protocols...I'm trying to figure out whether it's a Slackware64 bug, an upstream bug, or somehow my fault.
|
I looked into this and found Pidgin's GnuTLS checking logic is a bit broken now because of this commit. Basically, the problem manifests when
you build Pidgin without GnuTLS (Slackware uses NSS for SSL support) and the internal libgadu (as Slackware does).
You can fix with pidgin-2.10.10_internal-libgadu.diff. Download the patch and add line 82 to pidgin.SlackBuild:
Code:
80 -exec chmod 644 {} \;
81
82 patch -p1 --verbose < $CWD/pidgin-2.10.10_internal-libgadu.diff || exit 1
83
84 CFLAGS="$SLKCFLAGS" \
85 CXXFLAGS="$SLKCFLAGS" \
86 ./configure \
However, there's a catch. The patch does fix Slackware's Pidgin package but note that Gadu-Gadu communications won't be encrypted. I
am not familiar with Gadu-Gadu but wikipedia says SSL support in G-G is new and experimental. If you know Polish you can look through
official docs and confirm.
Why? Because libgadu only supports GnuTLS & OpenSSL while Pidgin/libpurple only supports GnuTLS & NSS (they intentionally don't support
OpenSSL). Seems the only way to have SSL for everything when using the internal libgadu is by building Pidgin against GnuTLS (not NSS).
Note: Slackware's Pidgin has not had SSL-capable Gadu-Gadu since at least Slackware 14.0 because that is when it started building Pidgin
against NSS. Earlier Slackware versions might have had SSL-ized Gadu-Gadu depending on when SSL was introduced to Gadu-Gadu and
when it was adopted by Pidgin.
You might want to let Pat know Slackware's Pidgin package is broken as is. He has a few options: - fix with the above patch (but then Gadu-Gadu will continue to lack SSL support)
- build Pidgin against GnuTLS instead of NSS (then everything will link GnuTLS)
- ship a system libgadu library and build Pidgin against that (libgadu can link GnuTLS and Pidgin can link NSS)
Also, you can let Pidgin upstream know its GnuTLS checking logic needs fixing.
--mancha
Last edited by mancha; 11-04-2014 at 04:52 AM.
|
|
2 members found this post helpful.
|
11-04-2014, 11:19 AM
|
#7
|
Member
Registered: Mar 2006
Location: EU
Distribution: Slackware, Gentoo
Posts: 58
Original Poster
Rep:
|
mancha, that's very informative, thank you!
I already opened a ticket at Pidgin's Trac, I just forgot to mention this in this thread. In case anyone wants to take a look, it's here: https://developer.pidgin.im/ticket/16431. One of the devs indeed suspects that the issue has something to do with GnuTLS. I'm going to try to help as much as I can, but I believe it would be great if others could contribute as well.
Regarding encryption in Gadu-Gadu, I must confess that I don't know much about it. I just remember that it has been "considered" for a very long time, but I didn't follow the development of the official client closely. Right now I found this blog post. Abbreviating and paraphrasing, it says that since GG10 build 784 the official client supports SSL encryption with key size of 256 bits. I have no idea if Pidgin ever supported this.
|
|
|
11-04-2014, 01:53 PM
|
#8
|
Member
Registered: Aug 2012
Posts: 484
Rep:
|
Quote:
Originally Posted by arcctgx
mancha, that's very informative, thank you!
|
You're welcome.
Quote:
Originally Posted by arcctgx
I already opened a ticket at Pidgin's Trac, I just forgot to mention this in this thread. In case anyone wants to take a look, it's here: https://developer.pidgin.im/ticket/16431. One of the devs indeed suspects that the issue has something to do with GnuTLS. I'm going to try to help as much as I can, but I believe it would be great if others could contribute as well.
|
I just posted my analysis to the ticket you linked.
--mancha
EDIT: upstream fixed with this commit.
Last edited by mancha; 11-05-2014 at 12:19 AM.
Reason: Add link to upstream fix / tidy
|
|
1 members found this post helpful.
|
11-06-2014, 11:06 PM
|
#9
|
Member
Registered: Aug 2012
Posts: 484
Rep:
|
[deleted]
Last edited by mancha; 11-07-2014 at 02:27 AM.
Reason: HCF
|
|
|
11-18-2014, 05:43 PM
|
#10
|
Member
Registered: Aug 2012
Posts: 484
Rep:
|
This thread should be marked solved. Pat pushed upgrades on 20141113 for Slackware 14.0, 14.1, and -current that address the issue.
--mancha
|
|
|
11-26-2014, 11:49 AM
|
#11
|
Member
Registered: Dec 2009
Posts: 358
Rep:
|
Quote:
Originally Posted by mancha
This thread should be marked solved. Pat pushed upgrades on 20141113 for Slackware 14.0, 14.1, and -current that address the issue.
--mancha
|
I just built Pidgin 2.10.11 and the pidgin.gadugadu.diff.gz patch is no longer needed.
|
|
|
All times are GMT -5. The time now is 07:10 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|