threads / discuss / 11964

Why does git depend on two versions of libcrypto?

Subject: Why does git depend on two versions of libcrypto?

## tl;dr

2 messages between Feb 8, 2008 and Feb 8, 2008.

replies: 1people: 2as markdown or json

H.Merijn Brand· Feb 8, 2008, 09:46 UTC · lore

Don't know if this is a git question or a OpenSUSE question, but why does git depend on libcrypto.so.6 and not on libcrypto.so.0.9.8, like the rest does?

Isn't that asking for trouble? In my case, they're both linked to the same lib, so I guess I'm safe.

/home/merijn > rpm -q git git-core git-1.5.4-1 git-core-1.5.4-1 /home/merijn > rpm -qi git-core Name : git-core Relocations: (not relocatable) Version : 1.5.4 Vendor: (none) Release : 1 Build Date: Sat 02 Feb 2008 05:14:54 CET Install Date: Fri 08 Feb 2008 10:32:28 CET Build Host: hera.kernel.org Group : Development/Tools Source RPM: git-1.5.4-1.src.rpm Size : 9223129 License: GPL Signature : (none) URL : http://kernel.org/pub/software/scm/git/ Summary : Core git tools Description : Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

These are the core tools with minimal dependencies.
Distribution: (none)
/home/merijn > ll /usr/bin/git
14157168 -rwxr-xr-x 83 root root 769176 2008-02-02 05:14 /usr/bin/git
/home/merijn > file /usr/bin/git
/usr/bin/git: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
/home/merijn > llldd /usr/bin/git
ldd[01] on /usr/bin/git                   <=
ldd[02] on /usr/lib64/libcurl.so.3        <= /usr/bin/git
ldd[03] on /usr/lib64/libidn.so.11        <= /usr/lib64/libcurl.so.3.0.0
ldd[04] on /lib64/libc.so.6               <= /usr/lib64/libidn.so.11.5.22
ldd[03] on /usr/lib64/libssl.so.0.9.8     <= /usr/lib64/libcurl.so.3.0.0
ldd[04] on /usr/lib64/libcrypto.so.0.9.8  <= /usr/lib64/libssl.so.0.9.8
ldd[05] on /lib64/libdl.so.2              <= /usr/lib64/libcrypto.so.0.9.8
ldd[06] on /lib64/libc.so.6               <= /lib64/libdl-2.5.so
ldd[05] on /lib64/libz.so.1               <= /usr/lib64/libcrypto.so.0.9.8
ldd[06] on /lib64/libc.so.6               <= /lib64/libz.so.1.2.3
ldd[05] on /lib64/libc.so.6               <= /usr/lib64/libcrypto.so.0.9.8
ldd[04] on /lib64/libdl.so.2              <= /usr/lib64/libssl.so.0.9.8
ldd[04] on /lib64/libz.so.1               <= /usr/lib64/libssl.so.0.9.8
ldd[04] on /lib64/libc.so.6               <= /usr/lib64/libssl.so.0.9.8
ldd[03] on /usr/lib64/libcrypto.so.0.9.8  <= /usr/lib64/libcurl.so.3.0.0
ldd[03] on /lib64/libdl.so.2              <= /usr/lib64/libcurl.so.3.0.0
ldd[03] on /lib64/libz.so.1               <= /usr/lib64/libcurl.so.3.0.0
ldd[03] on /lib64/libc.so.6               <= /usr/lib64/libcurl.so.3.0.0
ldd[02] on /lib64/libz.so.1               <= /usr/bin/git
ldd[02] on /usr/lib64/libcrypto.so.6      <= /usr/bin/git
ldd[03] on /lib64/libdl.so.2              <= /usr/lib64/libcrypto.so.0.9.8
ldd[03] on /lib64/libz.so.1               <= /usr/lib64/libcrypto.so.0.9.8
ldd[03] on /lib64/libc.so.6               <= /usr/lib64/libcrypto.so.0.9.8
ldd[02] on /lib64/libc.so.6               <= /usr/bin/git
ldd[02] on /usr/lib64/libidn.so.11        <= /usr/bin/git
ldd[02] on /usr/lib64/libssl.so.0.9.8     <= /usr/bin/git
ldd[02] on /lib64/libdl.so.2              <= /usr/bin/git
Lib                                  Real path                            Package                        Size      Date                Refs
------------------------------------ ------------------------------------ ------------------------------ --------- ------------------- ----
/usr/bin/git                         /usr/bin/git                         git-core-1.5.4-1                  769176 2008-02-02 05:14:50    7
/usr/lib64/libcurl.so.3              /usr/lib64/libcurl.so.3.0.0          curl-7.15.5-23                    232480 2006-11-25 13:54:31    6
/usr/lib64/libidn.so.11              /usr/lib64/libidn.so.11.5.22         libidn-0.6.8-11                   204288 2006-11-25 12:45:38    1
/lib64/libc.so.6                     /lib64/libc-2.5.so                   glibc-2.5-34.7                   1595305 2007-11-21 18:29:59    0
/usr/lib64/libssl.so.0.9.8           /usr/lib64/libssl.so.0.9.8           openssl-0.9.8d-23.7               291176 2007-10-18 01:17:18    4
/usr/lib64/libcrypto.so.0.9.8        /usr/lib64/libcrypto.so.0.9.8        openssl-0.9.8d-23.7              1514360 2007-10-18 01:17:19    3
/lib64/libdl.so.2                    /lib64/libdl-2.5.so                  glibc-2.5-34.7                     19896 2007-11-21 18:29:58    1
/lib64/libz.so.1                     /lib64/libz.so.1.2.3                 zlib-1.2.3-33                      85288 2006-11-25 11:56:15    1
/usr/lib64/libcrypto.so.6            /usr/lib64/libcrypto.so.0.9.8        openssl-0.9.8d-23.7              1514360 2007-10-18 01:17:19    3
-- 
H.Merijn Brand         Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x  on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin.       http://qa.perl.org
http://mirrors.develooper.com/hpux/            http://www.test-smoke.org
                        http://www.goldmark.org/jeff/stupid-disclaimers/
Mike Hommey· Feb 8, 2008, 10:03 UTC · re: H.Merijn Brand · lore

Re: Why does git depend on two versions of libcrypto?

On Fri, Feb 08, 2008 at 10:46:12AM +0100, H.Merijn Brand <h.m.brand@xs4all.nl> wrote:
Show 5 quoted lines
> Don't know if this is a git question or a OpenSUSE question, but why does git
> depend on libcrypto.so.6 and not on libcrypto.so.0.9.8, like the rest does?
> 
> Isn't that asking for trouble?
> In my case, they're both linked to the same lib, so I guess I'm safe.
(...)
> ldd[03] on /usr/lib64/libcrypto.so.0.9.8  <= /usr/lib64/libcurl.so.3.0.0
> ldd[02] on /usr/lib64/libcrypto.so.6      <= /usr/bin/git

The answer is here. git was obviously built against a different version of OpenSSL than curl. This is an OpenSUSE problem.

Mike

← back to recent threads