Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 412871 - net-im/jabberd-1.6.1.1-r1 should DEPEND on dev-libs/libgcrypt
Summary: net-im/jabberd-1.6.1.1-r1 should DEPEND on dev-libs/libgcrypt
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Net-im project
URL:
Whiteboard:
Keywords:
: 408633 (view as bug list)
Depends on:
Blocks: 361317
  Show dependency tree
 
Reported: 2012-04-21 08:37 UTC by tdr
Modified: 2012-05-19 14:26 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tdr 2012-04-21 08:37:31 UTC
jabberd should link explictly to gcrypt. currently it depends its linking to gnutls to "inherit" a link to gcrypt.  No such link exists.

Reproducible: Always

Steps to Reproduce:
1. have gnutls installed +nettle
2. emerge -va =jabberd-1.6.1.1-r

Actual Results:  
libtool: link: x86_64-pc-linux-gnu-g++ -march=native -O2 -fomit-frame-pointer -pipe -mssse3 -Wl,-O1 -Wl,--as-needed -o .libs/jabberd -Wl,-O1 -Wl,--as-needed jabberd.o -Wl,--export-dynamic  ../jabberd/base/.libs/libjabberdbase.a ./.libs/libjabberd.so -lgnutls-extra -lgnutls -lpopt -lresolv -ldl -lidn -lpth -lexpat
./.libs/libjabberd.so: undefined reference to `gcry_control'


Expected Results:  
Succesful compile
Comment 1 tdr 2012-04-21 08:39:40 UTC
Meant explicit linking to libgcrypt should be done (I wrote gcrpyt)
Comment 2 Mike Hodson 2012-04-21 09:16:04 UTC
make[1]: Entering directory `/tmp/jabberd14-1.6.1.1/jabberd'
/bin/sh ../libtool --tag=CXX --mode=link g++  -g -O2  -lgnutls   -lgnutls-extra -lgnutls   -o jabberd -lgnutls   -lgnutls-extra -lgnutls   -export-dynamic jabberd.o ../jabberd/base/libjabberdbase.la ../jabberd/libjabberd.la -lpopt -lresolv -lgcrypt -ldl -lidn -lpth -lexpat -lmysqlclient
g++ -g -O2 -o .libs/jabberd jabberd.o -Wl,--export-dynamic  ../jabberd/base/.libs/libjabberdbase.a -lgnutls-extra -lgnutls ../jabberd/.libs/libjabberd.so -lpopt -lresolv /usr/lib64/libgcrypt.so -ldl /usr/lib64/libidn.so /usr/lib64/libpth.so /usr/lib64/libexpat.so -lmysqlclient
creating jabberd
make[1]: Leaving directory `/tmp/jabberd14-1.6.1.1/jabberd'


Manually added -lgcrypt to makefile; added #include <gcrypt.h> to jabberd/jabberd.h 

Works. :)
Comment 3 tdr 2012-04-21 09:28:09 UTC
With gnutls-2.12.18, +nettle is default in IUSE, which removes the dep on libgcrypt.  -nettle causes gnutls to still to use libgrypt, so the inheireted linking would still works.

It is probably preferred to include libgcrypt directly than to force gnutls[-nettle]
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2012-05-19 14:14:57 UTC
Added -lgcrypt to jabberd/Makefile.am and the missing depend in the ebuild

Thanks for reporting!

Closing
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2012-05-19 14:17:02 UTC
*** Bug 408633 has been marked as a duplicate of this bug. ***