Bug 625459 - libgcrypt linker error
Summary: libgcrypt linker error
Alias: None
Product: Fedora
Classification: Fedora
Component: libgcrypt
Version: 13
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Tomas Mraz
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2010-08-19 13:56 UTC by Juan P. Daza P.
Modified: 2010-08-19 21:56 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-08-19 21:56:17 UTC
Type: ---

Attachments (Terms of Use)

Description Juan P. Daza P. 2010-08-19 13:56:04 UTC
Description of problem:
When compiling freeswitch the process exits with an error in libgcrypt

Version-Release number of selected component (if applicable):
Name        : libgcrypt
Arch        : x86_64
Version     : 1.4.5
Release     : 4.fc13

How reproducible:

Steps to Reproduce:
1. download the source code for freeswitch (www.freeswitch.org)
2. ./configure
3. make mod_dingaling
Actual results:
making all mod_dingaling
Compiling ../../../../libs/libdingaling/src/libdingaling.c...
Compiling ../../../../libs/libdingaling/src/sha1.c...
Making all in include
Making all in src
libtool: link: rm -fr .libs/libiksemel.a .libs/libiksemel.la .libs/libiksemel.lai
libtool: link: ar cru .libs/libiksemel.a libiksemel_la-ikstack.o libiksemel_la-utility.o libiksemel_la-iks.o libiksemel_la-sax.o libiksemel_la-dom.o libiksemel_la-io-posix.o libiksemel_la-stream.o libiksemel_la-sha.o libiksemel_la-jabber.o libiksemel_la-filter.o libiksemel_la-md5.o libiksemel_la-base64.o
libtool: link: ranlib .libs/libiksemel.a
libtool: link: ( cd ".libs" && rm -f "libiksemel.la" && ln -s "../libiksemel.la" "libiksemel.la" )
Making all in tools
libtool: link: gcc -g -O2 -Wall -o ikslint ikslint.o hash.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o iksroster iksroster.o ../src/.libs/libiksemel.a -lgnutls -lpthread
/usr/bin/ld: ../src/.libs/libiksemel.a(libiksemel_la-stream.o): undefined reference to symbol 'gcry_control@@GCRYPT_1.2'
/usr/bin/ld: note: 'gcry_control@@GCRYPT_1.2' is defined in DSO /lib64/libgcrypt.so.11 so try adding it to the linker command line
/lib64/libgcrypt.so.11: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[6]: *** [iksroster] Error 1
Making all in test
tst-ikstack.c: In function 'test_stack':
tst-ikstack.c:33: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int'
libtool: link: gcc -g -O2 -Wall -o tst-ikstack tst-ikstack.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-iks tst-iks.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-sax tst-sax.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-dom tst-dom.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-sha tst-sha.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-md5 tst-md5.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-filter tst-filter.o ../src/.libs/libiksemel.a -lgnutls -lpthread
libtool: link: gcc -g -O2 -Wall -o tst-jid tst-jid.o ../src/.libs/libiksemel.a -lgnutls -lpthread
Making all in doc
make[5]: *** [all-recursive] Error 1
make[4]: *** [../../../../libs/iksemel/src/libiksemel.la] Error 2
make[3]: *** [all] Error 1
make[2]: *** [mod_dingaling-all] Error 1
make[1]: *** [mod_dingaling] Error 2
make: *** [mod_dingaling] Error 2 

Expected results:
To compile the module

Additional info:
Linux titan #1 SMP Fri Jul 23 17:14:44 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)

Comment 1 Joe Orton 2010-08-19 20:21:14 UTC
 => http://fedoraproject.org/wiki/UnderstandingDSOLinkChange ?

if the code is using gcry_control directly it should link against -lgcrypt not just -lgnutls.

Comment 2 Tomas Mraz 2010-08-19 21:56:17 UTC

Note You need to log in before you can comment on or make changes to this bug.