forked from transferdev/Transfercoin
-
Notifications
You must be signed in to change notification settings - Fork 8
Publish macOS Sierra Qt build doc #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AtomSmasher00
wants to merge
9
commits into
ionomy:master
Choose a base branch
from
AtomSmasher00:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
2ef8c05
publish macOS Sierra Qt build instructions
AtomSmasher00 b83b392
update build-macOS-Sierra-Qt.txt
AtomSmasher00 3bd0c44
fix README.md UPnP typo
AtomSmasher00 8d8ab00
Merge remote-tracking branch 'ionomy/master'
AtomSmasher00 3ca29c9
Revert "fix README.md UPnP typo"
AtomSmasher00 64fdeb9
fix typos and updated files and paths
AtomSmasher00 21a210d
publish macOS Sierra Qt build instructions
AtomSmasher00 7325083
Merge remote-tracking branch 'ionomy/master'
AtomSmasher00 cafa219
Merge remote-tracking branch 'origin/master'
AtomSmasher00 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,153 @@ | ||
| Build ionx-Qt on macOS 10.12+ Sierra | ||
|
|
||
| confirmed to work with | ||
| miniupnpc 2.0 | ||
| boost 1.64.0_1 | ||
| qt 5.8.0_2 | ||
| openssl 1.0.2k | ||
| berkeley-db4 4.8.30 | ||
| gmp 6.1.2 | ||
|
|
||
| Install Xcode https://developer.apple.com/download | ||
| Install the associated Command Line Tools to your Xcode version https://developer.apple.com/download/more | ||
|
|
||
| Launch Terminal | ||
| Install brew from http://brew.sh | ||
|
|
||
| Brew some recipes! | ||
| brew install autoconf automake berkeley-db4 gmp libpng libtool miniupnpc openssl qrencode qt5 | ||
| brew install boost --c++11 --without-single --without-static | ||
|
|
||
| Manually link your openssl dependency paths to the brew cellar (recommend /usr/local/opt/openssl/lib and /usr/local/opt/openssl/include): | ||
| mkdir /usr/local/opt/openssl | ||
| ln -s /usr/local/Cellar/openssl/1.0.2k/lib /usr/local/opt/openssl/lib | ||
| ln -s /usr/local/Cellar/openssl/1.0.2k/include /usr/local/opt/openssl/include | ||
|
|
||
| NOTE: replace the openssl version path (1.0.2k at time of writing) with the version that brew installed | ||
|
|
||
| NOTE: Might need to force brew to link berkeley-db4: | ||
| brew link --force berkeley-db4 | ||
|
|
||
| DOWNLOAD ION SOURCE | ||
|
|
||
| git clone https://github.com/ionomy/ion | ||
| cd ion/src/secp256k1 | ||
| ./autogen.sh | ||
| ./configure | ||
| make | ||
| make install | ||
|
|
||
|
|
||
| Modify these lines in ion.pro to match as follows, or according to your preferences/environment: | ||
|
|
||
| isEmpty(BOOST_LIB_PATH) { | ||
| macx:BOOST_LIB_PATH = /usr/local/opt/boost/lib | ||
| } | ||
|
|
||
| isEmpty(BOOST_INCLUDE_PATH) { | ||
| macx:BOOST_INCLUDE_PATH = /usr/local/opt/boost/include | ||
| } | ||
|
|
||
| isEmpty(BDB_LIB_PATH) { | ||
| macx:BDB_LIB_PATH = /usr/local/opt/berkeley-db4/lib | ||
| } | ||
|
|
||
| isEmpty(BDB_INCLUDE_PATH) { | ||
| macx:BDB_INCLUDE_PATH = /usr/local/opt/berkeley-db4/include | ||
| } | ||
|
|
||
| isEmpty(MINIUPNPC_INCLUDE_PATH) { | ||
| macx:MINIUPNPC_INCLUDE_PATH=/usr/locale/opt/miniupnpc/include | ||
| } | ||
|
|
||
| isEmpty(MINIUPNPC_LIB_PATH) { | ||
| macx:MINIUPNPC_LIB_PATH=/usr/local/opt/miniupnpc/lib/ | ||
| } | ||
|
|
||
| isEmpty(OPENSSL_LIB_PATH) { | ||
| macx:OPENSSL_LIB_PATH = /usr/local/opt/openssl/lib/ | ||
| } | ||
|
|
||
| isEmpty(OPENSSL_INCLUDE_PATH) { | ||
| macx:OPENSSL_INCLUDE_PATH = /usr/local/opt/openssl/include | ||
| } | ||
|
|
||
|
|
||
| If making the daemon, modify these lines in src/makefile.osx as follows, or according to your preferences/environment: | ||
|
|
||
| INCLUDEPATHS= \ | ||
| -I"$(CURDIR)" \ | ||
| -I"$(CURDIR)"/obj \ | ||
| -I"$(DEPSDIR)/include" \ | ||
| -I"$(DEPSDIR)/opt/boost/include" \ | ||
| -I"$(DEPSDIR)/opt/berkeley-db4/include" \ | ||
| -I"$(DEPSDIR)/opt/openssl/include" | ||
|
|
||
| LIBPATHS= \ | ||
| -L"$(DEPSDIR)/lib" \ | ||
| -I"$(DEPSDIR)/opt/boost/lib” \ | ||
| -L"$(DEPSDIR)/opt/berkeley-db4/lib" \ | ||
| -L"$(DEPSDIR)/opt/openssl/lib" | ||
|
|
||
| ifdef STATIC | ||
| # Build STATIC if you are redistributing the xiond binary | ||
| LIBS += \ | ||
| $(DEPSDIR)/opt/berkeley-db4/lib/libdb_cxx-4.8.a \ | ||
| $(DEPSDIR)/lib/libboost_system.a \ | ||
| $(DEPSDIR)/lib/libboost_filesystem.a \ | ||
| $(DEPSDIR)/lib/libboost_program_options.a \ | ||
| $(DEPSDIR)/lib/libboost_thread-mt.a \ | ||
| $(DEPSDIR)/opt/openssl/lib/libssl.a \ | ||
| $(DEPSDIR)/opt/openssl/lib/libcrypto.a \ | ||
|
|
||
|
|
||
| OPTIONAL: Add Qt paths to user’s environment. | ||
| nano ~/.bash_profile | ||
| Add this line: | ||
| export PATH=/usr/local/opt/qt/bin:$PATH | ||
| control+x to save and exit | ||
| OR | ||
| echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.bash_profile | ||
|
|
||
| OPTIONAL: add show and hide hidden files shortcuts. nano ~/.bash_profile | ||
| Add these lines: | ||
| alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' | ||
| alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' | ||
| control+x to save and exit | ||
|
|
||
| OR | ||
| echo ‘alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' >> ~/.bash_profile | ||
| alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' >> ~/.bash_profile | ||
|
|
||
|
|
||
| RELOAD .bash_profile | ||
| . ~/.bash_profile | ||
|
|
||
|
|
||
| GET BACK TO REPO ROOT DIR | ||
| cd ../.. | ||
|
|
||
| BUILD IT | ||
| qmake -config release -config c++11 ion-qt.pro | ||
| make | ||
|
|
||
|
|
||
| PACKAGE IT | ||
| ###OPTIONAL - THIS MAY NOT WORK WITH QT5.7### | ||
| ###UNTESTED WITH QT5.8### | ||
| macdeployqt ion-Qt.app -dmg | ||
|
|
||
| ###THIS WORKS BETTER. IT IS A FANCY PACKAGING SCRIPT THAT ALLOWS TO CUSTOMIZE THE DMG’S APPEARANCE - FROM DARKSILK### | ||
| chmod +x contrib/macdeploy/macdeployqtplus | ||
| contrib/macdeploy/macdeployqtplus ionx-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy contrib/macdeploy/fancy.plist -verbose 2 | ||
|
|
||
|
|
||
|
|
||
| RUN IT | ||
| /Applications/ionx-Qt.app/Contents/MacOS/ionx-Qt | ||
|
|
||
| OPTIONAL: Create a custom data directory to store the wallet data, where 'XXX' is a unique name (testnet, for example): | ||
| mkdir ~/Library/Application\ Support/ion_test | ||
| ionx-Qt.app/Contents/MacOS/ionx-Qt -testnet -datadir=/Users/YOURUSERNAME/Library/Application\ Support/ion_test & | ||
|
|
||
| NOTE: launch with -? to display the list of runtime arguments - there are many useful ones! | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to manually link OpenSSL? Is it okay to just set the platform specific defaults in the .pro file instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had issues building with the Apple provided OpenSSL pre-Sierra. It might be better with Sierra. Why use an old version, though?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I should clarify, I thought Homebrew automatically linked
/usr/local/opt/opensslwhen youbrew install opensslThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does not.