Bitcoin Forum
December 11, 2017, 01:24:11 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 [3] 4 5 6 »  All
  Print  
Author Topic: Compiling Mac Clients for ANY Alt Coin, Your Choice!  (Read 13605 times)
maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 02:26:13 AM
 #41

Hey guys,

I've been trying to get YACoin compiled for OSX but i'm stuck.  maxpower do you know ASM at all?

Check this out:
https://bitcointalk.org/index.php?topic=206577.msg2279287#msg2279287

Nope, I'm kind of stuck on YACoin too. I know that pooler's cpuminer has a script that fixes up the project's assembly for OS X. Maybe that script is applicable here, too.

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
1512955451
Hero Member
*
Offline Offline

Posts: 1512955451

View Profile Personal Message (Offline)

Ignore
1512955451
Reply with quote  #2

1512955451
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 02:27:00 AM
 #42

any chance making a DGC mac wallet?

Definitely on my list! I'll post if/when I can get it working.

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
cheesylard
Member
**
Offline Offline

Activity: 105



View Profile WWW
May 27, 2013, 02:27:15 AM
 #43

Please do digitalcoin.
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 27, 2013, 01:10:05 PM
 #44

Shoooooooop da Woooop got the yacoin QT built, it's running and syncing with the network right now.

I need to go through and bundle in all the deps, and then i can release it.

Thanks for your help maxpower & others in this thread.

maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 01:27:20 PM
 #45

Shoooooooop da Woooop got the yacoin QT built, it's running and syncing with the network right now.

I need to go through and bundle in all the deps, and then i can release it.

Thanks for your help maxpower & others in this thread.

Very nice! How did you get the assembly working?

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 27, 2013, 01:56:47 PM
 #46

See this post:
https://bitcointalk.org/index.php?topic=206577.msg2279387#msg2279387

There was some other stuff i did to get to that point as well though, i edited the: yacoin-qt.pro file.
adding this line: QMAKE_CXXFLAGS += -fpermissive

Also, see my reply further down in the same thread linked above, i had to modify his suggestion slightly.

I made a DMG and i'm uploading it now (my internet sucks here, but when it's done uploading i'll post the link for people to test).

Edit: i forgot, i also unraveled the macros in that ASM file, with poolers perl file: nomacros.pl
sudo perl nomacro.pl scrypt-x86_64.S

But i think in the end this step wasn't necessary, because i think that that ASM file is circumvented completely with the method described in the thread linked above.  I guess this means that the OSX QT might be a bit slower, so i wouldn't recomend mining with it, but there are other ways to mine YaCoin, and the Qt can just be for wallet management.

EDIT2: this is neat: http://qt-project.org/doc/qt-4.8/deployment-mac.html
specifically
Code:
Create a disk image file (.dmg) with the application
In order to create a compressed disk image with your application, issue the following commands in a shell:

cd /path/to/the/dir/with-your-app
hdiutil create -format UDBZ -quiet -srcfolder YourApp.app YourAppArchive.dmg

Cheers,
Crendore

maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 02:10:13 PM
 #47

See this post:
https://bitcointalk.org/index.php?topic=206577.msg2279387#msg2279387

There was some other stuff i did to get to that point as well though, i edited the: yacoin-qt.pro file.
adding this line: QMAKE_CXXFLAGS += -fpermissive

Also, see my reply further down in the same thread linked above, i had to modify his suggestion slightly.

I made a DMG and i'm uploading it now (my internet sucks here, but when it's done uploading i'll post the link for people to test).

Edit: i forgot, i also unraveled the macros in that ASM file, with poolers perl file: nomacros.pl
sudo perl nomacro.pl scrypt-x86_64.S

But i think in the end this step wasn't necessary, because i think that that ASM file is circumvented completely with the method described in the thread linked above.  I guess this means that the OSX QT might be a bit slower, so i wouldn't recomend mining with it, but there are other ways to mine YaCoin, and the Qt can just be for wallet management.

EDIT2: this is neat: http://qt-project.org/doc/qt-4.8/deployment-mac.html
specifically
Code:
Create a disk image file (.dmg) with the application
In order to create a compressed disk image with your application, issue the following commands in a shell:

cd /path/to/the/dir/with-your-app
hdiutil create -format UDBZ -quiet -srcfolder YourApp.app YourAppArchive.dmg

Cheers,
Crendore

Very cool! Kudos for getting it working. Okay if I add your client to my master list of Mac wallets (https://bitcointalk.org/index.php?topic=216672) when you upload it?

Making dmgs would be nice! I'll check that out, thanks.

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 27, 2013, 02:25:24 PM
 #48

Hey maxpower,

How did you fix the startup crash bug you had with your clients? i got a friend to run the client and they said it crashed right away:
http://pastebin.com/LguBEgxX

Any ideas?

maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 02:29:14 PM
 #49

Hey maxpower,

How did you fix the startup crash bug you had with your clients? i got a friend to run the client and they said it crashed right away:
http://pastebin.com/LguBEgxX

Any ideas?

I've never seen that particular crash. My startup crash was in the Qt code, and I ended up fixing it by running macdeployqt on my clients after running my dependency fixing script posted above. Looks like yours is crashing in the berkeleydb code somewhere...maybe the blockchain db is corrupted on your friend's machine?

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 02:30:11 PM
 #50

Please do digitalcoin.

Done! Download link is in my Mac Wallets thread: https://bitcointalk.org/index.php?topic=216672

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 27, 2013, 02:32:22 PM
 #51

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.

maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 03:18:23 PM
 #52

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

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 27, 2013, 09:04:55 PM
 #53

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

maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 27, 2013, 09:28:24 PM
 #54

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.

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
mcrimson
Newbie
*
Offline Offline

Activity: 13


View Profile
May 27, 2013, 11:18:21 PM
 #55

This is awesome! Been looking for a Mac Mincoin client! Thanks bro!
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 29, 2013, 12:36:46 PM
 #56

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.

crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 29, 2013, 01:53:28 PM
 #57

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?

maxpower
Sr. Member
****
Offline Offline

Activity: 453


View Profile
May 29, 2013, 02:45:51 PM
 #58

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.

Mac Altcoin Wallets: https://bitcointalk.org/index.php?topic=216672 | Rep Thread: https://bitcointalk.org/index.php?topic=205035.0
BTC: 13wuRW8v1PtZrbKKrBfT5JcuiCwpMqpCmY
crendore
Sr. Member
****
Offline Offline

Activity: 363


View Profile
May 29, 2013, 06:51:19 PM
 #59

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

baritus
Legendary
*
Offline Offline

Activity: 798


View Profile
May 29, 2013, 07:16:09 PM
 #60

Please do digitalcoin.

Done! Download link is in my Mac Wallets thread: https://bitcointalk.org/index.php?topic=216672

Can I share this on the main thread?

Thanks Smiley
Pages: « 1 2 [3] 4 5 6 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!