Red Hat Bugzilla – Bug 841497
X509_subject_name_hash_old doesn't exist in RHEL7
Last modified: 2012-07-19 07:14:14 EDT
Description of problem:
During regression testing I found that there seems to be a typo in openssl X509_subject_name_hash_old symbol name. According to readelf the symbol ends with _ol not _old:
# readelf --symbols /lib64/libcrypto.so.10 | grep X509_subject_name_hash_
1341: 0000004b177f399c 26 FUNC GLOBAL DEFAULT 12 X509_subject_name_hash_ol@@libcrypto.so.10
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. readelf --symbols /lib64/libcrypto.so.10 | grep X509_subject_name_hash_old
No symbol found
X509_subject_name_hash_old exists and works well
The names are truncated in the readelf output.
That is possible, anyway the function seems to be missing. Had it been deprecated??
/bin/ld: /tmp/cc6Ic736.o: undefined reference to symbol 'X509_subject_name_hash_old@@libcrypto.so.10'
/bin/ld: note: 'X509_subject_name_hash_old@@libcrypto.so.10' is defined in DSO /lib64/libcrypto.so.10 so try adding it to the linker command line
/lib64/libcrypto.so.10: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
:: [ FAIL ] :: Running 'gcc -lssl -o./bz568395 bz568395.c' (Expected 0, got 1)
That's a buggy gcc command line. You need -lcrypto.