Bug 625459

Summary: libgcrypt linker error
Product: [Fedora] Fedora Reporter: Juan P. Daza P. <tcpip4000>
Component: libgcryptAssignee: Tomas Mraz <tmraz>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: extras-orphan, jorton, nalin, notting, rdieter, tmraz
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-19 21:56:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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