Bitcoin Unlimited MAC effort

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
Lot's of people want an Apple version. I need people who are willing to test it and someone who can get me this file: MacOSX10.9.sdk.tar.gz. I think you'll find that in the MAC software development kit available for free in the apple store.
 
  • Like
Reactions: Max

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
can you use dropbox or mega?
 

Bloomie

Administrator
Staff member
Aug 19, 2015
510
803
I think you may have left him a public message instead. Profile posts are public (you can delete it though). To PM, use the "Start a Conversation" link in the user's profile.
 

tynwald

Member
Dec 8, 2015
69
176
Welcome, Matthew. Maybe we can form a small, informal group here on BU & Mac OSX? I am open to doing some testing, documentation etc.
 

Max

New Member
Dec 26, 2015
1
0
I'd also be interested in testing an OS X version. I think having a version for Macs is absolutely essential when trying to target a larger audience.

So I'd be happy to test on a MacBook Air / El Capitan (10.11.1). Please let me know how to proceed.
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
Unfortunately, I don't have a Mac. I was hoping that it would be automatically cross-built using the Bitcoin "canonical" build tool (https://github.com/devrandom/gitian-builder) like Linux and Windows are. Unfortunately, it seems like its not that easy. I am currently getting the error below:

configure:3275: clang -target x86_64-apple-darwin11 -mmacosx-version-min=10.7 --sysroot /home/ubuntu/build/bitcoin/depends/SDKs/MacOSX10.9.sdk -mlinker-version=241.9 -pipe -O2 -I/home/ubuntu/build/bitcoin/depends/x86_64-apple-darwin11/include -L/home/ubuntu/build/bitcoin/depends/x86_64-apple-darwin11/lib conftest.c >&5
ld: library not found for -lcrt1.10.6.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It looks like static linking is not a part of the Mac distro by default but Bitcoin wants to use it for security and ease-of-deployment reasons. So, I think we are going to need a Mac developer to work on this...
 
  • Like
Reactions: 79b79aa8

Phraust

New Member
It's been a while since I've built wallets on OSX (probably two-ish years), and I've never packaged for distribution, but I'll try to give it a shot tomorrow. I'll need to update all my build stuff, update in the morning.

Update #1:

Updated my build stuff and tried making it, seems to have worked for a local instance of bitcoind and bitcoin-qt. Tried running "make deploy" and it appears to have made a good dmg for distribution, but everything is mis-labeled as Bitcoin Core in the disk image, and I have no idea where to change that.

Haven't started it yet as my block server is on OS X 10.10 still (won't let me run it), and the laptop i've compiled on is 10.11. Looking into what i gotta do for 10.10.

Update #2:

Runs fine on 10.11, even says Bitcoin Unlimited on the splash graphic (I copied it to Applications and renamed it to Bitcoin Unlimited). I'd like to see if it runs on a different machine, without all the dev stuff i've got installed on this one.

Normal warnings apply. I'm not a developer, nor do I play one on TV. Back up your wallets and/or your blockchain data and/or your ~/Library/Application Support/Bitcoin directories before trying this, it takes forever to download from scratch.

If anyone wants to give it a shot, i've uploaded it here: LINK REMOVED

Update #3:

Just noticed that the application window says Bitcoin Unlimited, but the Menu bar in OS X still says Bitcoin Core. Shut it down & copying over my block data now (65GB, ew), will try again in the morning.
 
Last edited:

Phraust

New Member
Update #4:

Just built it on my 10.10 machine as well, but as I'm in the middle of copying over my block data, I can't start it. Pretty straightforward though, didn't run into any compilation problems. Same caveats as before, naming is kinda weird, so it shows up as Bitcoin Core in the DMG, and on the OS X menu bar, but the application window and splash at startup should show as Bitcoin Unlimited.

Remember, back your shit up. Get it all together. And put it in a backpack. All your shit. So it’s together. And if you gotta take it somewhere, take it somewhere, you know, take it to the shit store and sell it, or put it in a shit museum, I don’t care what you do, you just gotta back your shit up.

Back your shit up.

OS X 10.10: http://www.phraust.com/BitcoinUnlimited-10.10.dmg
OS X 10.11: http://www.phraust.com/BitcoinUnlimited-10.11.dmg

Oh, and let me know if it works.

Update #5:

Copy of data is complete, running a Bitcoin Unlimited node on my Mac Mini with OS X 10.10.5!

Only thing I wanna check is if it'll work on someone else's mac without all the dependancies I have installed on mine. Please let me know if there are any issues and I'll see what I can do to fix them.
 
Last edited:

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
@Phraust just to verify what github branch are you using?
 

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
@Phraust
No good sorry.
Using OSX 10.10.3
10.10 dmg downloaded ok but labelled Core. Proceeded anyway but executable can't be opened.

"Check with the developer to make sure Bitcoin-Qt works with this version of OS X. You may need to reinstall the application. Be sure to install any available updates for the application and OS X."
 

Phraust

New Member
Update #6:

I've been able to put in a little more time on this today, so here is what I'm doing.

It looks like:
/contrib/macdeploy/fancy.plist
/contrib/macdeploy/Base.lproj/InfoPlist.strings

Control how the DMG bundle is written, so I've modified them to change "Bitcoin Core" to "Bitcoin Unlimited" and "Bitcoin-Qt.app" to "BitcoinUnlimited-Qt.app". I figure I'll probably have to rename Bitcoin-Qt.app to BitcoinUnlimited-Qt.app after it gets built.

In:
/doc/build-osx.md

It says:
All dependencies should be compiled with these flags:

-mmacosx-version-min=10.7 -arch x86_64 -isysroot $(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk

Oh, it's missing a dependency in the homebrew list as well:
libevent

SSL is kinda borked I guess, so after it's installed via homebrew you'll need to (thanks Francesco!):
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include


Downloaded the MacOSX10.7.sdk from here:
https://github.com/phracker/MacOSX-SDKs

So I'm using homebrew, and I'm not sure how to rebuild the dependancies using those options. I am trying to build bitcoinunlimited right now using the following:

./autogen.sh
./configure --with-gui=qt5
make CFLAGS='-mmacosx-version-min=10.7 -arch x86_64 -isysroot /Users/phraust/Build/MacOSX10.7.sdk'

I'll try to package it up and see how that works locally after this. Still trying to figure out how to rebuild my brew dependancies though, so I doubt it'll work on other machines at this point.
 
Last edited: