Just a quick update: Ran into some issues with the latest Devcoin client. Got it compiled and deployed okay, and it starts up fine, but crashes after a few seconds - appears to be a memory leak. Troubleshooting and will update later.
The one problem with writing an all-inclusive guide is that some of these alt coins' source code seem to be more Mac friendly or less Mac friendly depending on their author. Mincoin appears to have been very Mac friendly at the source level - the QT project file already had all kinds of flags set for Macs... Anyway, I'll keep trucking along and update this soon.
P.S. The mini-guide above is still valid,... I just need to elaborate on some things like how to install HomeBrew and dependencies, etc.
P.P.S. I'd appreciate anyone who uses the Mincoin-qt client I compiled for a few days posting back here to vouch that there was no Trojan inserted by me stealing your coin or anything.
Thanks!
Thanks to your instructions, and with a bit of fiddling, I was able to compile my own Mac version of the MinCoin app. I had to adjust a few things for compiling on Mountain Lion, using homebrew. Here's a quick list of what I had to do, in case anyone else wants to try:
- After installing the Qt SDK, I had to find the file g++-macx.conf (it was in /usr/local/Qt4.8/mkspecs/common for me) and change the two instances of -mmacosx-version-min=10.5 to -mmacosx-version-min=10.7. This is apparently a known bug. See https://qt-project.org/forums/viewreply/93191/. The downside is that the compiled client won't work on OS X versions older than Lion.
- sudo ln -s /usr/local /opt/local (because the MinCoin Mac code assumes you have MacPorts, not homebrew.)
- Use the GCC (x86 64bit) toolchain, not the clang toolchain.
- Since homebrew installs openssl and berkeley-db4 as keg-only, I had to force-link them (brew link --force openssl, etc.)
Once I'd done that, I didn't have to change the MinCoin code at all to build the Qt app, which was great. That got me to a dynamically linked version of MinCoin-Qt.app that only worked on the computer I compiled it on. Then I looked at bushstar's script and modified it for homebrew, like this:
#!/bin/bash
mkdir MinCoin-Qt.app/Contents/Frameworks
cp -RL /Library/Frameworks/QtCore.framework MinCoin-Qt.app/Contents/Frameworks
cp -RL /Library/Frameworks/QtGui.framework MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/lib/libminiupnpc.9.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/opt/openssl/lib/libssl.1.0.0.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/opt/berkeley-db4/lib/libdb_cxx-4.8.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_system-mt.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_filesystem-mt.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_program_options-mt.dylib MinCoin-Qt.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_thread-mt.dylib MinCoin-Qt.app/Contents/Frameworks
chmod -R +w MinCoin-Qt.app/Contents/Frameworks
install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore MinCoin-Qt.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore
install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui MinCoin-Qt.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui
install_name_tool -id @executable_path/../Frameworks/libminiupnpc.9.dylib MinCoin-Qt.app/Contents/Frameworks/libminiupnpc.9.dylib
install_name_tool -id @executable_path/../Frameworks/libssl.1.0.0.dylib MinCoin-Qt.app/Contents/Frameworks/libssl.1.0.0.dylib
install_name_tool -id @executable_path/../Frameworks/libcrypto.1.0.0.dylib MinCoin-Qt.app/Contents/Frameworks/libcrypto.1.0.0.dylib
install_name_tool -id @executable_path/../Frameworks/libdb_cxx-4.8.dylib MinCoin-Qt.app/Contents/Frameworks/libdb_cxx-4.8.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_system-mt.dylib MinCoin-Qt.app/Contents/Frameworks/libboost_system-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_filesystem-mt.dylib MinCoin-Qt.app/Contents/Frameworks/libboost_filesystem-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_program_options-mt.dylib MinCoin-Qt.app/Contents/Frameworks/libboost_program_options-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_thread-mt.dylib MinCoin-Qt.app/Contents/Frameworks/libboost_thread-mt.dylib
install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change QtGui.framework/Versions/4/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore MinCoin-Qt.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui
install_name_tool -change /usr/local/lib/libminiupnpc.9.dylib @executable_path/../Frameworks/libminiupnpc.9.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib @executable_path/../Frameworks/libssl.1.0.0.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib @executable_path/../Frameworks/libcrypto.1.0.0.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib @executable_path/../Frameworks/libcrypto.1.0.0.dylib MinCoin-Qt.app/Contents/Frameworks/libssl.1.0.0.dylib
install_name_tool -change /usr/local/opt/berkeley-db4/lib/libdb_cxx-4.8.dylib @executable_path/../Frameworks/libdb_cxx-4.8.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/lib/libboost_system-mt.dylib @executable_path/../Frameworks/libboost_system-mt.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/lib/libboost_system-mt.dylib @executable_path/../Frameworks/libboost_system-mt.dylib MinCoin-Qt.app/Contents/Frameworks/libboost_filesystem-mt.dylib
install_name_tool -change /usr/local/lib/libboost_system-mt.dylib @executable_path/../Frameworks/libboost_system-mt.dylib MinCoin-Qt.app/Contents/Frameworks/libboost_thread-mt.dylib
install_name_tool -change /usr/local/lib/libboost_filesystem-mt.dylib @executable_path/../Frameworks/libboost_filesystem-mt.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/lib/libboost_program_options-mt.dylib @executable_path/../Frameworks/libboost_program_options-mt.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
install_name_tool -change /usr/local/lib/libboost_thread-mt.dylib @executable_path/../Frameworks/libboost_thread-mt.dylib MinCoin-Qt.app/Contents/MacOs/MinCoin-Qt
After running that, I had a statically linked app that worked great on another Mac! Now to try some of the other clients...
jrlepage, I don't have very many mincoins, but I'm sending a couple your way.
bushstar, I didn't see a donation address for you, but I'd like to send you a tip as well.