undefined symbol: gcry_md_hash_buffer‏

Daniel Kahn Gillmor dkg at
Thu Jun 17 16:14:19 CEST 2010

On 06/14/2010 09:55 AM, honi@ wrote:
> I am installing collectd-4.10.0 on a CentOS 5 machine:

I don't use collectd or CentOS, but i'm happy to help you debug:

> 4) Restarted collectd and got the following error: 
> Stopping collectd:                                         [FAILED]
> Starting collectd: /opt/collectd/sbin/collectd: symbol lookup error:
> /opt/collectd/lib/collectd/ undefined symbol: gcry_md_hash_buffer

what output do you get from:

 readelf -s /opt/collectd/lib/collectd/ | grep md_hash

 ldd /opt/collectd/lib/collectd/ | grep gcry

 readelf -s /usr/lib/ | grep md_hash


when i install debian's packaged collectd 4.9.1-2 on a testing system, i
see this on the equivalent files:

>> 0 dkg at pip:~$ readelf -s /usr/lib/collectd/ | grep md_hash
>>     87: 00000000     0 FUNC    GLOBAL DEFAULT  UND gcry_md_hash_buffer at GCRYPT_1.2 (5)
>> 0 dkg at pip:~$ ldd /usr/lib/collectd/ | grep gcry
>> => /usr/lib/ (0xb7661000)
>> 0 dkg at pip:~$ readelf -s /usr/lib/ | grep md_hash
>>    101: 00006130   115 FUNC    GLOBAL DEFAULT   13 gcry_md_hash_buffer@@GCRYPT_1.2
>> 0 dkg at pip:~$ 

i think these three lines of output mean:

 /usr/lib/collectd/ expects to see
gcry_md_hash_bufer at GCRYPT1.2 in some library that it will load (it is
undefined internally, hence the "UND")

 /usr/lib/collectd/ expects to load, which the
dynamic linker finds in /usr/lib

 /usr/lib/ contains a defined symbol
gcry_md_hash_bufer at GCRYPT1.2

maybe one of these doesn't line up for you somehow?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 892 bytes
Desc: OpenPGP digital signature
URL: </pipermail/attachments/20100617/8156aaa6/attachment.pgp>

More information about the Gcrypt-devel mailing list