0

I am trying to get git to run on my armhf BuildRoot based system. Since git is not in BuildRoot, I went over to my other Debian based armhf system and compiled it from source there with "make prefix=/usr CFLAGS="${CFLAGS} -static-libgcc" (I want a static binary). I then made an archive of that binary and the files in /usr/share/git-core, and un-archived that on the armhf BuildRoot based system.

Now when I try and clone a repo. on the target system via https I get this error:

git: /usr/lib/libcrypto.so.1.0.0: no version information available (required by git)
Cloning into 'test_repo'...
fatal: Unable to find remote helper for 'https'

Both my armhf build system and the target seem to have the same version of libcrypto.so (that is 1.0.0), so I can't see what the problem is in terms of versions. Anyone got any suggestions to get it to work?

SeanLabs
  • 1,469
  • 3
  • 16
  • 19
  • 1
    _"...seem to have the same version..."_ doesn't instil a great deal of confidence - surely the very first thing you'd try is running with the _exact_ same libraries you built against (or conversely building against the exact libraries from the target filesystem). Either there _is_ some significant difference between the two copies of libcrypto.so, or there's something up with Git, but those are then two rather different questions. – Notlikethat Jul 24 '16 at 22:03
  • 1
    `git` will silently fails in its configuration, and then truck-on as if nothing happened. Go back to the beginning. Checkout or unpack `git`. Configure`git` for the build. Then, after configure, manually inspect `config.log` for errors. You will likely find 3 or 4 of them, especially if you enabled HTTPS through cURL. – jww Jul 25 '16 at 03:35
  • @Notlikethat : both the host system and the target have version 1.0.0 of libcrypto. Host system is a beaglebone and target is a custom system using buildroot. I wanted to look for other problems before just copying over the beaglebone library to the target. – SeanLabs Jul 25 '16 at 17:09
  • ...that's my _point_. They are nominally the same version, but are they _actually_ identical configurations? "I want to attempt to diagnose the cause of the problem by guessing before trying a really quick and simple test that would definitively narrow it down one way or the other" doesn't seem to be the most efficient debugging strategy. – Notlikethat Jul 25 '16 at 19:47
  • 1
    Here's one that helped me: https://stackoverflow.com/questions/18390833/no-version-information-available – Jack Mar 02 '18 at 22:06

1 Answers1

1
  1. If you want to have static binary, use -static linker option, please (that is LDFLAGS).
  2. "no version information available" is not a big problem in most of the cases, it's just that your libcrypto library don't have symbol versioning information available (as in VERDEF ELF section).
  3. Your real problem is that your git doesn't have git-remote-https helper program (which usually is just a symlink to git-remote-http) that should be somewhere in the /usr/lib/git-core/.
  4. But from what I see there is already a git package for BuildRoot, so your best bet is just to use that.
Roman Khimov
  • 4,312
  • 1
  • 23
  • 32