dingjinsheng / git-osx-installer

Automatically exported from code.google.com/p/git-osx-installer
0 stars 0 forks source link

Git over SSH stopped working after recent update #70

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Install GIT using installer (32bit or 64bit)
2. Go an existing repository and do "git pull"
3. See the following message:
git-upload-pack: error while loading shared libraries: libcrypto.so.8: cannot 
open shared object file: No such file or directory
fatal: The remote end hung up unexpectedly

What is the expected output? What do you see instead?
I expect the git to pull changes. It worked fine until a few days ago. The only 
thing I did that could have caused it is running System Update and updating.

What version of the product are you using? On what operating system?
Snow Leopard (10.6.8)

Please provide any additional information below.

Original issue reported on code.google.com by yoa...@gmail.com on 22 Aug 2011 at 7:36

GoogleCodeExporter commented 8 years ago
Are you sure it's using the git installer version of git (I would bet it's not)

The version of the git installer that I've released compiles against 
/usr/lib/libcrypto.0.9.8.dylib

Output from otool -l git:

{{{
git:
Load command 0
      cmd LC_SEGMENT_64
  cmdsize 72
  segname __PAGEZERO
   vmaddr 0x0000000000000000
   vmsize 0x0000000100000000
  fileoff 0
 filesize 0
  maxprot 0x00000000
 initprot 0x00000000
   nsects 0
    flags 0x0
Load command 1
      cmd LC_SEGMENT_64
  cmdsize 632
  segname __TEXT
   vmaddr 0x0000000100000000
   vmsize 0x00000000001e0000
  fileoff 0
 filesize 1966080
  maxprot 0x00000007
 initprot 0x00000005
   nsects 7
    flags 0x0
Section
  sectname __text
   segname __TEXT
      addr 0x0000000100001130
      size 0x0000000000182c10
    offset 4400
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __stubs
   segname __TEXT
      addr 0x0000000100183d40
      size 0x0000000000000480
    offset 1588544
     align 2^1 (2)
    reloff 0
    nreloc 0
     flags 0x80000408
 reserved1 0 (index into indirect symbol table)
 reserved2 6 (size of stubs)
Section
  sectname __stub_helper
   segname __TEXT
      addr 0x00000001001841c0
      size 0x0000000000000790
    offset 1589696
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __cstring
   segname __TEXT
      addr 0x0000000100184950
      size 0x0000000000026f8d
    offset 1591632
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000002
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __TEXT
      addr 0x00000001001ab8e0
      size 0x0000000000001690
    offset 1751264
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __unwind_info
   segname __TEXT
      addr 0x00000001001acf70
      size 0x00000000000001c0
    offset 1757040
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __eh_frame
   segname __TEXT
      addr 0x00000001001ad130
      size 0x0000000000032eb8
    offset 1757488
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Load command 2
      cmd LC_SEGMENT_64
  cmdsize 712
  segname __DATA
   vmaddr 0x00000001001e0000
   vmsize 0x0000000000032000
  fileoff 1966080
 filesize 45056
  maxprot 0x00000007
 initprot 0x00000003
   nsects 8
    flags 0x0
Section
  sectname __program_vars
   segname __DATA
      addr 0x00000001001e0000
      size 0x0000000000000028
    offset 1966080
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __got
   segname __DATA
      addr 0x00000001001e0028
      size 0x0000000000000028
    offset 1966120
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 192 (index into indirect symbol table)
 reserved2 0
Section
  sectname __nl_symbol_ptr
   segname __DATA
      addr 0x00000001001e0050
      size 0x0000000000000010
    offset 1966160
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 197 (index into indirect symbol table)
 reserved2 0
Section
  sectname __la_symbol_ptr
   segname __DATA
      addr 0x00000001001e0060
      size 0x0000000000000600
    offset 1966176
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000007
 reserved1 199 (index into indirect symbol table)
 reserved2 0
Section
  sectname __data
   segname __DATA
      addr 0x00000001001e0660
      size 0x000000000000646c
    offset 1967712
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __DATA
      addr 0x00000001001e6ae0
      size 0x0000000000004188
    offset 1993440
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __bss
   segname __DATA
      addr 0x00000001001eac80
      size 0x0000000000026788
    offset 0
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Section
  sectname __common
   segname __DATA
      addr 0x0000000100211420
      size 0x00000000000009b1
    offset 0
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Load command 3
      cmd LC_SEGMENT_64
  cmdsize 72
  segname __LINKEDIT
   vmaddr 0x0000000100212000
   vmsize 0x000000000000a4fc
  fileoff 2011136
 filesize 42236
  maxprot 0x00000007
 initprot 0x00000001
   nsects 0
    flags 0x0
Load command 4
            cmd LC_DYLD_INFO_ONLY
        cmdsize 48
     rebase_off 0
    rebase_size 0
       bind_off 2011136
      bind_size 104
  weak_bind_off 0
 weak_bind_size 0
  lazy_bind_off 2011240
 lazy_bind_size 3384
     export_off 2014624
    export_size 24592
Load command 5
     cmd LC_SYMTAB
 cmdsize 24
  symoff 2046432
   nsyms 200
  stroff 2051196
 strsize 2176
Load command 6
            cmd LC_DYSYMTAB
        cmdsize 80
      ilocalsym 0
      nlocalsym 1
     iextdefsym 1
     nextdefsym 1
      iundefsym 2
      nundefsym 198
         tocoff 0
           ntoc 0
      modtaboff 0
        nmodtab 0
   extrefsymoff 0
    nextrefsyms 0
 indirectsymoff 2049632
  nindirectsyms 391
      extreloff 0
        nextrel 0
      locreloff 0
        nlocrel 0
Load command 7
          cmd LC_LOAD_DYLINKER
      cmdsize 32
         name /usr/lib/dyld (offset 12)
Load command 8
     cmd LC_UUID
 cmdsize 24
    uuid 2890851E-8102-3CFD-A399-16C0F9870F54
Load command 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.6
Load command 10
        cmd LC_UNIXTHREAD
    cmdsize 184
     flavor x86_THREAD_STATE64
      count x86_THREAD_STATE64_COUNT
   rax  0x0000000000000000 rbx 0x0000000000000000 rcx  0x0000000000000000
   rdx  0x0000000000000000 rdi 0x0000000000000000 rsi  0x0000000000000000
   rbp  0x0000000000000000 rsp 0x0000000000000000 r8   0x0000000000000000
    r9  0x0000000000000000 r10 0x0000000000000000 r11  0x0000000000000000
   r12  0x0000000000000000 r13 0x0000000000000000 r14  0x0000000000000000
   r15  0x0000000000000000 rip 0x0000000100001130
rflags  0x0000000000000000 cs  0x0000000000000000 fs   0x0000000000000000
    gs  0x0000000000000000
Load command 11
          cmd LC_LOAD_DYLIB
      cmdsize 48
         name /usr/lib/libz.1.dylib (offset 24)
   time stamp 2 Wed Dec 31 17:00:02 1969
      current version 1.2.3
compatibility version 1.0.0
Load command 12
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libiconv.2.dylib (offset 24)
   time stamp 2 Wed Dec 31 17:00:02 1969
      current version 7.0.0
compatibility version 7.0.0
Load command 13
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libcrypto.0.9.8.dylib (offset 24)
   time stamp 2 Wed Dec 31 17:00:02 1969
      current version 0.9.8
compatibility version 0.9.8
Load command 14
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libssl.0.9.8.dylib (offset 24)
   time stamp 2 Wed Dec 31 17:00:02 1969
      current version 0.9.8
compatibility version 0.9.8
Load command 15
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libSystem.B.dylib (offset 24)
   time stamp 2 Wed Dec 31 17:00:02 1969
      current version 125.2.1
compatibility version 1.0.0
Load command 16
         cmd LC_FUNCTION_STARTS
  cmdsize 16
     dataoff  2039216
    datasize 7216
}}}

Original comment by timchar...@gmail.com on 22 Aug 2011 at 8:30

GoogleCodeExporter commented 8 years ago
Pretty sure. I removed, made sure I don't have git installed and re-installed 
using this DMG:
http://code.google.com/p/git-osx-installer/downloads/detail?name=git-1.7.6-x86_6
4-snow-leopard.dmg&can=2&q=

My 'which' output is:
$ which -a git
/usr/local/git/bin/git

Seems like my otool output also indicates that it links to to 0.9.8 (see 
below). But when I pull, this is what I get:
$ git pull
git-upload-pack: error while loading shared libraries: libcrypto.so.8: cannot 
open shared object file: No such file or directory
fatal: The remote end hung up unexpectedly

otool output:

$ otool -l git
git:
Load command 0
      cmd LC_SEGMENT_64
  cmdsize 72
  segname __PAGEZERO
   vmaddr 0x0000000000000000
   vmsize 0x0000000100000000
  fileoff 0
 filesize 0
  maxprot 0x00000000
 initprot 0x00000000
   nsects 0
    flags 0x0
Load command 1
      cmd LC_SEGMENT_64
  cmdsize 632
  segname __TEXT
   vmaddr 0x0000000100000000
   vmsize 0x00000000001e0000
  fileoff 0
 filesize 1966080
  maxprot 0x00000007
 initprot 0x00000005
   nsects 7
    flags 0x0
Section
  sectname __text
   segname __TEXT
      addr 0x0000000100001130
      size 0x0000000000182c10
    offset 4400
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __stubs
   segname __TEXT
      addr 0x0000000100183d40
      size 0x0000000000000480
    offset 1588544
     align 2^1 (2)
    reloff 0
    nreloc 0
     flags 0x80000408
 reserved1 0 (index into indirect symbol table)
 reserved2 6 (size of stubs)
Section
  sectname __stub_helper
   segname __TEXT
      addr 0x00000001001841c0
      size 0x0000000000000790
    offset 1589696
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __cstring
   segname __TEXT
      addr 0x0000000100184950
      size 0x0000000000026f8d
    offset 1591632
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000002
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __TEXT
      addr 0x00000001001ab8e0
      size 0x0000000000001690
    offset 1751264
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __unwind_info
   segname __TEXT
      addr 0x00000001001acf70
      size 0x00000000000001c0
    offset 1757040
     align 2^0 (1)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __eh_frame
   segname __TEXT
      addr 0x00000001001ad130
      size 0x0000000000032eb8
    offset 1757488
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Load command 2
      cmd LC_SEGMENT_64
  cmdsize 712
  segname __DATA
   vmaddr 0x00000001001e0000
   vmsize 0x0000000000032000
  fileoff 1966080
 filesize 45056
  maxprot 0x00000007
 initprot 0x00000003
   nsects 8
    flags 0x0
Section
  sectname __program_vars
   segname __DATA
      addr 0x00000001001e0000
      size 0x0000000000000028
    offset 1966080
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __got
   segname __DATA
      addr 0x00000001001e0028
      size 0x0000000000000028
    offset 1966120
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 192 (index into indirect symbol table)
 reserved2 0
Section
  sectname __nl_symbol_ptr
   segname __DATA
      addr 0x00000001001e0050
      size 0x0000000000000010
    offset 1966160
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 197 (index into indirect symbol table)
 reserved2 0
Section
  sectname __la_symbol_ptr
   segname __DATA
      addr 0x00000001001e0060
      size 0x0000000000000600
    offset 1966176
     align 2^3 (8)
    reloff 0
    nreloc 0
     flags 0x00000007
 reserved1 199 (index into indirect symbol table)
 reserved2 0
Section
  sectname __data
   segname __DATA
      addr 0x00000001001e0660
      size 0x000000000000646c
    offset 1967712
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __DATA
      addr 0x00000001001e6ae0
      size 0x0000000000004188
    offset 1993440
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __bss
   segname __DATA
      addr 0x00000001001eac80
      size 0x0000000000026788
    offset 0
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Section
  sectname __common
   segname __DATA
      addr 0x0000000100211420
      size 0x00000000000009b1
    offset 0
     align 2^5 (32)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Load command 3
      cmd LC_SEGMENT_64
  cmdsize 72
  segname __LINKEDIT
   vmaddr 0x0000000100212000
   vmsize 0x000000000000a4fc
  fileoff 2011136
 filesize 42236
  maxprot 0x00000007
 initprot 0x00000001
   nsects 0
    flags 0x0
Load command 4
            cmd LC_DYLD_INFO_ONLY
        cmdsize 48
     rebase_off 0
    rebase_size 0
       bind_off 2011136
      bind_size 104
  weak_bind_off 0
 weak_bind_size 0
  lazy_bind_off 2011240
 lazy_bind_size 3384
     export_off 2014624
    export_size 24592
Load command 5
     cmd LC_SYMTAB
 cmdsize 24
  symoff 2046432
   nsyms 200
  stroff 2051196
 strsize 2176
Load command 6
            cmd LC_DYSYMTAB
        cmdsize 80
      ilocalsym 0
      nlocalsym 1
     iextdefsym 1
     nextdefsym 1
      iundefsym 2
      nundefsym 198
         tocoff 0
           ntoc 0
      modtaboff 0
        nmodtab 0
   extrefsymoff 0
    nextrefsyms 0
 indirectsymoff 2049632
  nindirectsyms 391
      extreloff 0
        nextrel 0
      locreloff 0
        nlocrel 0
Load command 7
          cmd LC_LOAD_DYLINKER
      cmdsize 32
         name /usr/lib/dyld (offset 12)
Load command 8
     cmd LC_UUID
 cmdsize 24
    uuid 2890851E-8102-3CFD-A399-16C0F9870F54
Load command 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.6
Load command 10
        cmd LC_UNIXTHREAD
    cmdsize 184
     flavor x86_THREAD_STATE64
      count x86_THREAD_STATE64_COUNT
   rax  0x0000000000000000 rbx 0x0000000000000000 rcx  0x0000000000000000
   rdx  0x0000000000000000 rdi 0x0000000000000000 rsi  0x0000000000000000
   rbp  0x0000000000000000 rsp 0x0000000000000000 r8   0x0000000000000000
    r9  0x0000000000000000 r10 0x0000000000000000 r11  0x0000000000000000
   r12  0x0000000000000000 r13 0x0000000000000000 r14  0x0000000000000000
   r15  0x0000000000000000 rip 0x0000000100001130
rflags  0x0000000000000000 cs  0x0000000000000000 fs   0x0000000000000000
    gs  0x0000000000000000
Load command 11
          cmd LC_LOAD_DYLIB
      cmdsize 48
         name /usr/lib/libz.1.dylib (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 1.2.3
compatibility version 1.0.0
Load command 12
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libiconv.2.dylib (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 7.0.0
compatibility version 7.0.0
Load command 13
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libcrypto.0.9.8.dylib (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 0.9.8
compatibility version 0.9.8
Load command 14
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libssl.0.9.8.dylib (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 0.9.8
compatibility version 0.9.8
Load command 15
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libSystem.B.dylib (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 125.2.1
compatibility version 1.0.0
Load command 16
         cmd LC_FUNCTION_STARTS
  cmdsize 16
     dataoff  2039216
    datasize 7216

Original comment by yoa...@gmail.com on 22 Aug 2011 at 8:41

GoogleCodeExporter commented 8 years ago
I know this is a sucky answer, but the problem is most likely related to your 
machine configuration, and if not, I have no way of reproducing it. I don't 
have libcrypto.so.8 anywhere on my machine, and I'm not getting the error 
message.

I often test the git installer on fresh lion installs (even without dev tools 
installed).

You're going to have to hunt down the executable / lib file that is depending 
on libcrypto.so.8... (which, come to think about it... strange that it's 
.so.8... while valid, that's not a common darwin library extension.  You could 
run a command like the following:

{{{
find /usr/local/git -exec otool -l {} \; | less
}}}

Then search the output...

Also.. try {{{rm-rf /usr/local/git}}} and reinstall ?

I don't know what else to tell you. Sorry man. This must suck.

Original comment by timchar...@gmail.com on 22 Aug 2011 at 9:02

GoogleCodeExporter commented 8 years ago
It tried looking with otool through the git binaries. They all use 0.9.8, so I 
don't think it's a git issue. It's some library that git is calling probably. 
No idea how to find it though. 

I tried to delete and re-install. Still the same.

Well, I will keep trying to find the solution and I will post it here if I find 
it.

Thanks for the help

Original comment by yoa...@gmail.com on 22 Aug 2011 at 9:24

GoogleCodeExporter commented 8 years ago
So I tried to run otool recursively on git and git-upload-paco, but I don't see 
anything requiring libcrypto.so.8
Furthermore, from what I understand, .so files are Linux shared libraries not 
Mac, which uses the extension .dylib.

I also tried to re-install MacPorts and Xcode's DevTools.

Something weird is going on here, and I can't seem to put my finger on it.

Original comment by yoa...@gmail.com on 23 Aug 2011 at 2:05

GoogleCodeExporter commented 8 years ago
I found the problem, but the fix is beyond my control.

The problem is actually not local, it's the server libcrypto that's missing. I 
think, the message that I get is actually coming from the server (I think), and 
that's why it's looking for a .so lib (it's a Linux machine). I verified that 
my git installation can work against another server using SSH.

So the problem is not solved, but at least I figured out it's not my system nor 
git.

Thanks for the help and I hope this will make it easier to diagnose similar 
issues in the future. 

If the message really comes from the server, it will be nice if git/ssh will 
clarify this to the end user.

Original comment by yoa...@gmail.com on 23 Aug 2011 at 3:15

GoogleCodeExporter commented 8 years ago
Good find indeed, glad you got to the bottom of it.

Original comment by timchar...@gmail.com on 23 Aug 2011 at 3:42