Re: Git on Mac OS X 10.4.10
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Aug 14, 2014, 14:39 UTC
- Message-ID
- <53ECCA14.40900@web.de>
- In-Reply-To
- <53ECA7DB.7060407@jump-ing.de>
On 08/14/2014 02:13 PM, Markus Hitter wrote:
Show 25 quoted lines
> I'm new to this list, so: Hello everybody! > > My backup servers run Mac OS X 10.4.10. Yes, these are old, but very > reliable and easily up to the task. And Mac OS X 10.4 is the latest OS > supported there (PowerPC G3). > > Recently I tried to upgrade to v2.0.4 (from 1.7.11.4). > > Issue 1: I get many of these warnings: > > LINK [many cases] > /usr/bin/ld: warning multiple definitions of symbol _regcomp > libgit.a(regex.o) definition of _regcomp in section (__TEXT,__text) > /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regcomp.So) > definition of _regcomp > /usr/bin/ld: warning multiple definitions of symbol _regexec > libgit.a(regex.o) definition of _regexec in section (__TEXT,__text) > /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regexec.So) > definition of _regexec > /usr/bin/ld: warning multiple definitions of symbol _regfree > libgit.a(regex.o) definition of _regfree in section (__TEXT,__text) > /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regfree.So) > definition of _regfree > > Is this expected?
No. Git has its own regcomp() (and the regXXX() ) in ./compat/regex/*, and for some reasons the linker picks them both from libgit.a (which is a static library) and the dynamic library in libSystem.dylib
Either the linker needs to be convinced not to do that (by changing the command line to the linker, changing the order of libraries may help, I don't know) Or each regcomp in the .h and .c files is changed into git_regcomp. This change shouldn't break anything.
Show 15 quoted lines
> > > Issue 2: I need this simple patch ... > > --- compat/apple-common-crypto.h.org 2014-07-30 23:19:53.000000000 +0200 > +++ compat/apple-common-crypto.h 2014-08-14 12:57:37.000000000 +0200 > @@ -2,7 +2,7 @@ > #define OPENSSL_NO_MD5 > #define HEADER_HMAC_H > #define HEADER_SHA_H > -#include <CommonCrypto/CommonHMAC.h> > +//#include <CommonCrypto/CommonHMAC.h> > #define HMAC_CTX CCHmacContext > #define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key, len) > #define HMAC_Update CCHmacUpdate
The <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9, but not in 10.4 (I don't know about 10.5). You can try to tweak the "makefiles", search for NO_APPLE_COMMON_CRYPTO, and set NO_APPLE_COMMON_CRYPTO, but only for Darwin 10.3 (or below)
Show 14 quoted lines
> ... and this command sequence ... > > make all > touch imap-send.o > touch git-imap-send > make all > > ... to get it compiling. All, except git-imap-send, obviously, which is > no loss for my purposes. > > I tried many releases, the patch requirement started with about v1.9.1, > the git-imap-send failure somewhere between 1.8.1.6 and 1.8.4.3. > > Trying to be a good Open Source citizen, how would I proceed?
If you want to share your changes, please send a patch to this list.
> Thanks, > Markus