Pages:
Author

Topic: The official Armory-for-OSX Bounty Thread [CLAIMED -- 25 BTC] (Read 10384 times)

member
Activity: 105
Merit: 10
Thanks.

Please have a look at my post about segfault problem.
https://bitcointalksearch.org/topic/m.1835452

Kind regards
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Done!  I have a testing release, posted here.
member
Activity: 105
Merit: 10
Hello,

I send you 0.2 BTC so
Total Bounty Accumulated is 25.005 BTC (need to wait confirmation)
I hope it will help to have a public OS X Armory client.

I'm also looking for user friendly Linux live USB key with all necessary tools
to backup securely crypto coins (BTC but also LTC, NMC, DVC...).

Kind regards
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
So I feel a little silly.  After talking with higuys, and sending him my .bash_history of my failed attempts, we figured out that Red Emerald's instructions are actually conflicting somehow with his build.  I thought I had to follow RedEmerald's instructions first, then do his, not realizing that he made his script pretty much full-service.

  • (1) Install XCode from the App store
  • (2) Open XCode, go to Edit->Preferences->Downloads(Tab)->Command Line Utilities->Install
  • (3) Install brew:  ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
  • (4) Install pip:  sudo easy_install pip
  • (5) Clone the repo: git clone git://github.com/etotheipi/BitcoinArmory.git; cd BitcoinArmory
  • (6) Make it:  make osx
  • (6a) You'll have to type in your password, since the "make osx" script installs everything for you
  • (7) Run it:  ./osxbuild/Armory.app/Contents/MacOS/Armory

That's it!  And it appears to work.  The only problem I see so far is that the icon doesn't work, and notifications crash it.  I am in the process of disabling notifications (and 0.5 BTC to someone who figures out how to run them without causing growl to segfault, or whatever is happening), and then I'm going sign the .app and add it to my testing release notification.

Because there is no bitcoind for OSX, it's going to take me quite a bit of work to even get Bitcoin-Qt automated.  I think for 0.88, I will be skipping that (disabled the option for auto-bitcoind), and OSX will run just like the previous versions.  It's still better than nothing.  Perhaps others can experiment with how to best find Bitcoin-Qt, run it, and then hide it.

I'll have something posted soon!
newbie
Activity: 18
Merit: 0
I'll try and report back Smiley

(it might take a couple hours to half a day for the download of Xcode though... I'll update you asap)
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
I have a clean OS X 10.7.5 partition in this mac mini I'm using.

If it's OK with you not being 10.8 I can try what you said.

By all means take a shot at it.   
newbie
Activity: 18
Merit: 0
I have a clean OS X 10.7.5 partition in this mac mini I'm using.

If it's OK with you not being 10.8 I can try what you said.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Maybe change the paths to absolute paths?

I don't think that works.  It needs to reference relative paths to the virtualenv-included python dependencies. 

I have no idea where to go from here.  I was hoping higuys would respond and help... more.  Maybe someone with a fresh OSX install can follow the higuys directions and figure out how to modify it.  I suspect that somehow he was able to create .app with extra stuff installed on his system than comes with OSX. 

To anyone willing to try, I guess I'll offer an extra 0.5 BTC bounty.

(1) Create a fresh OSX VM or installation so that there are no pre-installed dependencies.
(2) Follow Red Emerald's brew instructions (use Method 2).  It will involve installing Xcode and the command-line utilities.  And running python with the PYTHONPATH=... prefix.
(2a) Before you make the project, do a "git checkout osx_managesat", which has the updated Makefile and deploy.sh from higuys. 
(3) You should be able to just "make osx" from there.  But you can also look at what he changed/added in his pull request.

I'm very frustrated.  I've been tinkering for a while.  Not sure what's wrong.  By they way, I'm using OSX 10.8.2

hero member
Activity: 560
Merit: 500
I am the one who knocks
Maybe change the paths to absolute paths?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Okay, I've been battling this for a while now.  I think the virtualenv is screwing me up.  Using Red Emerald's brew formula, I can use run Armory no problem.  Then I use higuys' Makefile and deploy script, and everything breaks.  It doesn't break the system, just the directory.

i.e. It looks like this:

(1) Red Emerald brew formula
(2) python ArmoryQt.py  # works!
(3) higuys' "make osx"
(4) cd osxbuild;  open Armory.app;  #fails!
(5) cd Armory.app/Contents/MacOS/Armory; #fails!
(6) cd ~/src/BitcoinArmory;  python ArmoryQt.py;  #fails!
(7) "PYTHONPATH=... /usr/bin/python Armory.Qt" #works!

So I guess that the virtualenv is linking to the wrong libraries, or bad libraries or something.  

Specifically:  Red Emerald's call (the one that works):

Code:
$ PYTHONPATH=`brew --prefix`/lib/python2.7/site-packages /usr/bin/python ~/src/BitcoinArmory/ArmoryQt.py

higuys' script executes the following to start Armory (doesn't work):

Code:
$ export DYLD_LIBRARY_PATH=../Dependencies/QtCore.framework/Versions/Current:../Dependencies/QtGui.framework/Versions/Current:../Dependencies:$DYLD_LIBRARY_PATH
$ bin/python armorybuild/ArmoryQt.pyc &

hero member
Activity: 547
Merit: 500
Decor in numeris
I think I saw that error when testing one of higuys builds - i don't know what he did to fix it.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
If it is needed at runtime, then I would think it needs to be copied.

Well there's a lot of packages that are needed at runtime.  Twisted is one of them, yet that seems to be covered through the pip-install line. 

I'll try the copy operation...

Gah!  I figured it out -- higuys made the deploy.sh script skip those function calls if the env and Armory.app directories already exist.   And "make clean" doesn't remove them.  So this whole time, all those things I was trying were not executing!

I added removal of those directories to "make clean", and re-ran with just the extra "bin/pip install psutil" call, and it appears to have worked!  I can't believe I spent so much time chasing that down!

P.S. - Actually it doesn't totally work yet, but I'm getting closer...  Just got a "PyThreadState_Get: no current thread" error.  Have we seen that before?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
If it is needed at runtime, then I would think it needs to be copied.

Well there's a lot of packages that are needed at runtime.  Twisted is one of them, yet that seems to be covered through the pip-install line. 

I'll try the copy operation...
hero member
Activity: 547
Merit: 500
Decor in numeris
If it is needed at runtime, then I would think it needs to be copied.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
If you don't redirect output to /dev/null then perhaps you will see an error message.


I did that actually, and didn't see any errors.  It tells me it's installed successfully.  But I wonder if it is installing it in the external system, not the virtual environment.  I can't tell.  Or maybe I need to copy the psutil folder into the Armory.app explicitly, like pyqt is....?
hero member
Activity: 547
Merit: 500
Decor in numeris
If you don't redirect output to /dev/null then perhaps you will see an error message.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
I went ahead and did what I said I was going to try, above.  It appears to have worked.  I'm still curious why my system is different... but I'll live if I don't find out.

My next problem has to do with a new python dependency that has been added for version 0.88:  python-psutil.  It looks like the Armory.app is failing because that is missing that dependency.

Here is the deploy.sh script that higuys sent me.  I tried modifying it by adding the line in blue:

Quote
function make_env()
{
    echo "Making python environment..."
    virtualenv -q env
    cd env
    bin/pip install twisted >/dev/null
    bin/pip install psutil >/dev/null
    ...
}

I assumed that is the point at which you are installing the dependencies in the virtual environment.  I also added it the get_dependencies() function as well.  Either way, it still fails find it when run from osxbuild/Armory.app/Contents/MacOS/Armory.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
I'm finally doing this!  I've just spent some time getting an OSX environment setup, and make sure that I can compile and run the latest Armory.

I just hit a snag while trying to execute the Makefile.  I think I understand what's going on, I just want to make sure:

-- I did a "sudo pip install virtualenv" and it completed successfully
-- I type "virtualenv" and I get "unknown command" error
-- I have looked around and found "/usr/local/lib/python2.7/site-packages/virtualenv.py"
-- When I directly run that script in python (bare), it appears to do what I want
-- I found some other references to installing "virtualenv" and running it as it's described in higuys' email and in the Makefile/deploy.sh script

So what's different?  Why is it that I don't get a symlink/executable like everyone else does?  Is there any reason not to just modify the Make file to replace "virtualenv" with "python /usr/local/lib/python2.7/site-packages/virtualenv.py"?



legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Hi. I tested higuys' build on an iMac running 10.8.3 and it runs fine. The only real problem I have is that the memory usage is very high, about 1.7G, so it takes a big bite out of the maximum of 4G I can install on this iMac. I remember reading somewhere in this forum that optimisation is something that is being worked on. Is the memory usage likely to drop significantly?

Yes, RAM usage and startup time will both drop significantly, at the expense of using more hard-disk.  However, after I complete that transition, I will likely be able to reduce the disk usage, too -- I don't need to store/index all tx in Armory... it's just how it was originally built.   I want to scale that back and try not to duplicate everything on disk...eventually...

Timeframe for the first round (with duplicate blockchain data) is probably a couple weeks.
legendary
Activity: 1025
Merit: 1000
Hi. I tested higuys' build on an iMac running 10.8.3 and it runs fine. The only real problem I have is that the memory usage is very high, about 1.7G, so it takes a big bite out of the maximum of 4G I can install on this iMac. I remember reading somewhere in this forum that optimisation is something that is being worked on. Is the memory usage likely to drop significantly?
Pages:
Jump to: