objective-git icon indicating copy to clipboard operation
objective-git copied to clipboard

Distributed Mac binary (via Carthage) depends on Homebrew’d openssl

Open mxcl opened this issue 7 years ago • 5 comments

$ otool -L ObjectiveGit.framework/ObjectiveGit 
ObjectiveGit:
	@rpath/ObjectiveGit.framework/ObjectiveGit (compatibility version 1.0.0, current version 1.0.0)
	/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 9.0.0)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1452.23.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1452.23.0)

Key lines being these:

/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)

This makes it hard to distribute a binary on Mac that uses ObjectiveGit.

I realize this is probably a deep seated distribution problem, I'm willing to put in the time to fix it, but need guidance and encouragement. Thanks.

mxcl avatar Sep 27 '18 17:09 mxcl

Hey, another GitX fork, which stumbled on the exact same problem I did just a few days ago 😉.

@mxcl Can you give a try to the PR just above, just so I have another pair of eyes ?

tiennou avatar Sep 27 '18 22:09 tiennou

Great! I’ll do it. Will let you know.

mxcl avatar Sep 28 '18 00:09 mxcl

This didn't work for my GitX installation since it runs in the ObjectiveGit.framework build and at that point there is no bundle to copy the dylibs to.

mxcl avatar Sep 28 '18 19:09 mxcl

I've just checked my GitX by moving the submodule against that, and I can confirm its included ObjectiveGit.framework is correct, and it runs.

  • Did the script error in some way while building ObjectiveGit ?
  • Can you provide the output of otool -L against your GitX executable, and it's ObjectiveGit framework ?
  • How is your build system setup, is it submodules or carthage/CocoaPods ?

tiennou avatar Sep 28 '18 20:09 tiennou

K right I see how it can work. I built with Carthage on CLI. So that is no good yeah. But if you build as source from the GitX project it makes sense that it would work.

mxcl avatar Sep 28 '18 21:09 mxcl