Pages:
Author

Topic: Compiling Mac Clients for ANY Alt Coin, Your Choice! - page 3. (Read 14368 times)

full member
Activity: 134
Merit: 100
Mac OS X 10.8.5 w/

$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
hero member
Activity: 532
Merit: 500
can anyone take a look at this and see what they suggest i do for this error ?

src/scrypt-x86_64.S:291:9: error: invalid alignment value
 .align 32


I changed these to .align 16 and have been able to move past that error to eventually compile Mac wallets.  AFAIK, The alignment is strictly for the code and is not data related.
What version of osx ?
full member
Activity: 134
Merit: 100
can anyone take a look at this and see what they suggest i do for this error ?

src/scrypt-x86_64.S:291:9: error: invalid alignment value
 .align 32


I changed these to .align 16 and have been able to move past that error to eventually compile Mac wallets.  AFAIK, The alignment is strictly for the code and is not data related.
hero member
Activity: 532
Merit: 500
can anyone take a look at this and see what they suggest i do for this error ?
src/scrypt-x86_64.S:178:9: error: invalid alignment value
 .align 32
        ^
src/scrypt-x86_64.S:291:9: error: invalid alignment value
 .align 32
        ^
src/scrypt-x86_64.S:528:9: error: invalid alignment value
 .align 32
        ^
src/scrypt-x86_64.S:844:9: error: invalid alignment value
 .align 32
        ^
src/scrypt-x86_64.S:1002:9: error: invalid alignment value
 .align 32
        ^
src/scrypt-x86_64.S:1464:9: error: invalid alignment value
 .align 32
        ^
make: *** [build/scrypt-x86_64.o] Error 1
hero member
Activity: 630
Merit: 502
I'd like to commission a Mac client of GameCoin (GME) with the latest code from GitHub.

EDIT: built by maxpower.
sr. member
Activity: 363
Merit: 250
Yeah, sounds good!
sr. member
Activity: 456
Merit: 250
Thanks! i moved it into a DMG, i've now tested it on 4 laptops, and it worked. it is just one of my developer friends' laptop that it didn't work on.

I wonder if it has something to do with processor on the different machines, i know his laptop is fairly old, but he is running the same version of OSX as i am 10.8.3

Weird. I've gotten one crash report on one of my wallets, too, but no details. I'll ask about the Mac model.

Would you mind if I added your YACoin wallet to my list of wallets? https://bitcointalksearch.org/topic/ann-the-definitive-list-of-mac-altcoin-wallets-216672
sr. member
Activity: 363
Merit: 250
Thanks! i moved it into a DMG, i've now tested it on 4 laptops, and it worked. it is just one of my developer friends' laptop that it didn't work on.

I wonder if it has something to do with processor on the different machines, i know his laptop is fairly old, but he is running the same version of OSX as i am 10.8.3
sr. member
Activity: 456
Merit: 250
Hmmm... so i got a QT compiled and running on my computer, it also runs on my GFs laptop, which is the same model as my laptop, but with no extra libraries or QT installed.  The weird part though, is that it doesn't run on my friends computer.
[removed check my sig for latest version]
Anyone wanna give it a go and tell me the errors they get?

Thanks!
Crendore

Could it be an issue with Mac OS X versions? I'm unclear on whether Qt apps built on the 10.7 framework will work on OS X earlier than Lion.

I'll give it a try on my system later and let you know how it goes.
sr. member
Activity: 456
Merit: 250
legendary
Activity: 966
Merit: 1052
sr. member
Activity: 363
Merit: 250
Hmmm... so i got a QT compiled and running on my computer, it also runs on my GFs laptop, which is the same model as my laptop, but with no extra libraries or QT installed.  The weird part though, is that it doesn't run on my friends computer.
[removed check my sig for latest version]
Anyone wanna give it a go and tell me the errors they get?

Thanks!
Crendore
sr. member
Activity: 456
Merit: 250
Hey maxpower,

Why are we bothing with all this manual file moving stuff when that is exactly what:
Code:
sudo macdeployqt /Applications/appname.app

Does for us?

Unfortunately, macdeployqt doesn't copy all required frameworks and dylibs over, even though the docs say it does. In my script, I'm just erring on the side of caution and making sure that all dependencies I know of are copied in and renamed.
sr. member
Activity: 363
Merit: 250
Hey maxpower,

Why are we bothing with all this manual file moving stuff when that is exactly what:
Code:
sudo macdeployqt /Applications/appname.app

Does for us?
sr. member
Activity: 363
Merit: 250
Well i'm sick in bed today, and not working, so i figured it was a good time to give this YaCoin QT another shot.  Will report back in a little bit with results.
newbie
Activity: 13
Merit: 0
This is awesome! Been looking for a Mac Mincoin client! Thanks bro!
sr. member
Activity: 456
Merit: 250
Ok, i'll give it another go tomorrow, too busy with work atm.

How did you get it to use your libssl/libcrypto 1.0.0 ? mine keeps compiling with libssl/libcrypto 0.9.8 even though i have libssl/libcrypto 1.0.0

openssl was another homebrew keg that I had to force link. If you don't, I think Qt picks up the system openssl.
sr. member
Activity: 363
Merit: 250
Ok, i'll give it another go tomorrow, too busy with work atm.

How did you get it to use your libssl/libcrypto 1.0.0 ? mine keeps compiling with libssl/libcrypto 0.9.8 even though i have libssl/libcrypto 1.0.0
sr. member
Activity: 456
Merit: 250
Hmm, how did you go about obtaining your copy of berkeley db-4.8?
I used a custom homebrew keg from github...

just saw this now:
http://bitcoin.stackexchange.com/questions/3672/trouble-compiling-bitcoind-on-osx-with-homebrew

might try that one next.

I just use the stock berkeley-db4 keg, and force-link it to get the libraries in the right place. The hard part is tracking down all the dylib dependencies of the wallet, since some dylibs have funky paths to their dependencies. This is the current version of the script I use to fix them up (which may be overkill for some wallets):

Code:
#!/bin/bash
mkdir $1.app/Contents/Frameworks
cp -R /Library/Frameworks/QtCore.framework $1.app/Contents/Frameworks
cp -R /Library/Frameworks/QtGui.framework $1.app/Contents/Frameworks
cp -R /Library/Frameworks/QtNetwork.framework $1.app/Contents/Frameworks
cp -RL /usr/local/lib/libminiupnpc.9.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/opt/openssl/lib/libssl.1.0.0.dylib $1.app/Contents/Frameworks
#cp -RL /usr/local/lib/libz.1.dylib $1.app/Contents/Frameworks
#cp -RL /usr/local/lib/libz.1.2.7.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/opt/berkeley-db4/lib/libdb_cxx-4.8.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_system-mt.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_filesystem-mt.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_program_options-mt.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_thread-mt.dylib $1.app/Contents/Frameworks
cp -RL /usr/local/lib/libboost_chrono-mt.dylib $1.app/Contents/Frameworks
chmod -R +w $1.app/Contents/Frameworks
install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore $1.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore
install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui $1.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui
install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtGui $1.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
install_name_tool -id @executable_path/../Frameworks/libminiupnpc.9.dylib $1.app/Contents/Frameworks/libminiupnpc.9.dylib
install_name_tool -id @executable_path/../Frameworks/libssl.1.0.0.dylib $1.app/Contents/Frameworks/libssl.1.0.0.dylib
#install_name_tool -id @executable_path/../Frameworks/libz.1.dylib $1.app/Contents/Frameworks/libz.1.dylib
install_name_tool -id @executable_path/../Frameworks/libcrypto.1.0.0.dylib $1.app/Contents/Frameworks/libcrypto.1.0.0.dylib
install_name_tool -id @executable_path/../Frameworks/libdb_cxx-4.8.dylib $1.app/Contents/Frameworks/libdb_cxx-4.8.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_system-mt.dylib $1.app/Contents/Frameworks/libboost_system-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_filesystem-mt.dylib $1.app/Contents/Frameworks/libboost_filesystem-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_program_options-mt.dylib $1.app/Contents/Frameworks/libboost_program_options-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_thread-mt.dylib $1.app/Contents/Frameworks/libboost_thread-mt.dylib
install_name_tool -id @executable_path/../Frameworks/libboost_chrono-mt.dylib $1.app/Contents/Frameworks/libboost_chrono-mt.dylib
install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore $1.app/Contents/MacOs/$1
install_name_tool -change QtGui.framework/Versions/4/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui $1.app/Contents/MacOs/$1
install_name_tool -change QtNetwork.framework/Versions/4/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork $1.app/Contents/MacOs/$1
install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore $1.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui
install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore $1.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
install_name_tool -change /usr/local/lib/libminiupnpc.9.dylib @executable_path/../Frameworks/libminiupnpc.9.dylib $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib @executable_path/../Frameworks/libssl.1.0.0.dylib $1.app/Contents/MacOs/$1
#install_name_tool -change /usr/local/lib/libz.1.dylib @executable_path/../Frameworks/libz.1.dylib $1.app/Contents/Frameworks/libcrypto.1.0.0.dylib
#install_name_tool -change /usr/local/lib/libz.1.dylib @executable_path/../Frameworks/libz.1.dylib $1.app/Contents/Frameworks/libssl.1.0.0.dylib
install_name_tool -change /usr/local/Cellar/openssl/1.0.1e/lib/libcrypto.1.0.0.dylib @executable_path/../Frameworks/libcrypto.1.0.0.dylib $1.app/Contents/Frameworks/libcrypto.1.0.0.dylib
install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib @executable_path/../Frameworks/libcrypto.1.0.0.dylib $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/Cellar/openssl/1.0.1e/lib/libcrypto.1.0.0.dylib @executable_path/../Frameworks/libcrypto.1.0.0.dylib $1.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 $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/lib/libboost_system-mt.dylib @executable_path/../Frameworks/libboost_system-mt.dylib $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/lib/libboost_system-mt.dylib @executable_path/../Frameworks/libboost_system-mt.dylib $1.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 $1.app/Contents/Frameworks/libboost_thread-mt.dylib
install_name_tool -change /usr/local/lib/libboost_system-mt.dylib @executable_path/../Frameworks/libboost_system-mt.dylib $1.app/Contents/Frameworks/libboost_chrono-mt.dylib
install_name_tool -change /usr/local/lib/libboost_filesystem-mt.dylib @executable_path/../Frameworks/libboost_filesystem-mt.dylib $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/lib/libboost_program_options-mt.dylib @executable_path/../Frameworks/libboost_program_options-mt.dylib $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/lib/libboost_thread-mt.dylib @executable_path/../Frameworks/libboost_thread-mt.dylib $1.app/Contents/MacOs/$1
install_name_tool -change /usr/local/lib/libboost_chrono-mt.dylib @executable_path/../Frameworks/libboost_chrono-mt.dylib $1.app/Contents/MacOs/$1
sr. member
Activity: 363
Merit: 250
Hmm, how did you go about obtaining your copy of berkeley db-4.8?
I used a custom homebrew keg from github...

just saw this now:
http://bitcoin.stackexchange.com/questions/3672/trouble-compiling-bitcoind-on-osx-with-homebrew

might try that one next.
Pages:
Jump to: