Bug 2181668
Summary: | gdb: symbol lookup error: /lib64/libldap.so.2: undefined symbol: EVP_md2, version OPENSSL_3.0.0 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jun Aruga <jaruga> |
Component: | openldap | Assignee: | Simon Pichugin <spichugi> |
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 37 | CC: | lance, spichugi, vashirov |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2023-03-28 15:10:26 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jun Aruga
2023-03-24 22:24:41 UTC
Actually this error happens just without specifying the `ruby-mri` command. ``` $ rpm -qf /lib64/libldap.so.2 openldap-2.6.4-1.fc37.x86_64 $ rpm -q gdb gdb-13.1-1.fc37.x86_64 $ ldd /bin/gdb | grep ldap libldap.so.2 => /lib64/libldap.so.2 (0x00007f147899a000) $ LD_LIBRARY_PATH=/home/jaruga/.local/openssl-3.0.8/lib/ gdb gdb: symbol lookup error: /lib64/libldap.so.2: undefined symbol: EVP_md2, version OPENSSL_3.0.0 $ echo $? 127 ``` I checked by building the rpms/openldap on the rawhide, it seems that the set of `EVP_md2` strings are also included. ``` <mock-chroot> sh-5.2$ rpm -q openldap openldap-2.6.4-1.fc39.x86_64 <mock-chroot> sh-5.2$ strings /usr/lib64/libldap* | grep -c EVP_md2 3 <mock-chroot> sh-5.2$ strings /usr/lib64/libldap* | grep EVP_md2 EVP_md2 EVP_md2 EVP_md2 ``` > $ ./Configure --prefix=$HOME/.local/openssl-3.0.8 --libdir=lib shared linux-x86_64 Check openssl's spec file: https://src.fedoraproject.org/rpms/openssl/blob/f37/f/openssl.spec#_231 It enables MD2, among other options. If you enable it too, the symbol will be there: # ./Configure --prefix=$HOME/.local/openssl-3.0.8.md2 --libdir=lib shared linux-x86_64 enable-md2 # make # make install # nm -D /root/.local/openssl-3.0.8.md2/lib/libcrypto.so.3 | grep EVP_md2 0000000000200450 T EVP_md2@@OPENSSL_3.0.0 > Could you tell me why this happened? Is there a workaround to avoid this? Thanks. I was told the workaround at the devel@ mailing list below. https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/5Y2S2QUSC4O27DMCXKFDUJQSOIRBKTU4/ > Yes. gdb expects system openssl (providing this function) > > To workaround it, you have to provide the LD_SET_LIBRARY inside gdb, via > (gdb) set environment LD_LIBRARY_PATH /home/jaruga/.local/openssl-3.0.8/lib/ I hope this issue will be fixed to prevent people's confusion. |