Author

Topic: Armory - Discussion Thread - page 167. (Read 521829 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 04, 2012, 05:28:35 PM
I've gotten Armory working with the Gentoo Linux LiveDVD.  Instructions are posted here.

Great!   I bet there's a lot of folks who will like this.  I guess I should just warn folks, that Gentoo can be a bit daunting.  I used it once -- "emerge" was great, but everything else was rather difficult.  I'm sure there's plenty of users out there who are comfortable enough with linux for this, I just wanted to put the warning out there. 

Thanks for doing this.  I'll have to update the original post with an index to side-projects such as these.  I love seeing people expand on my work!  Smiley


hero member
Activity: 651
Merit: 501
My PGP Key: 92C7689C
October 04, 2012, 05:23:35 PM
I've gotten Armory working with the Gentoo Linux LiveDVD.  Instructions are posted here.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 04, 2012, 05:11:19 PM
does Armory work with Ubuntu 12.04?  having trouble installing...

I installed it without issues on a 12.04 fresh install so you should be able to use it too.

etotheipi, I figured why those bitcoind connection problems happened.
I had the number of connections limited on bitcoin.conf(maxconnections=30)
After removing that line from bitcoin.conf never again I had connection problems between Armory and Bitcoin-Qt Smiley

Awesome!  Good to know!  I bet that explains a lot... since I connect as a regular peer, I guess the localhost (Armory) can get dropped if you are at max connections.

I'll keep that nugget of information around for folks who are having network issues.
legendary
Activity: 1358
Merit: 1002
October 04, 2012, 05:09:42 PM
does Armory work with Ubuntu 12.04?  having trouble installing...

I installed it without issues on a 12.04 fresh install so you should be able to use it too.

etotheipi, I figured why those bitcoind connection problems happened.
I had the number of connections limited on bitcoin.conf(maxconnections=30)
After removing that line from bitcoin.conf never again I had connection problems between Armory and Bitcoin-Qt Smiley
hero member
Activity: 651
Merit: 501
My PGP Key: 92C7689C
October 04, 2012, 03:04:11 PM
I've gotten Armory up and running without any issues on Gentoo, but thought I'd try adding it to SystemRescueCD to make a portable offline version that you can boot on any computer.  I've documented the steps I used here, but have run into a snag. It tries to start, but throws these errors...

It looks like there's some symbols missing in your CppBlockUtils.  It's not from one of my updates, though, it's an issue with the cryptopp library, somehow not compiling everything into the .so file.   I don't know how you got to your current state, but go to cppForSwig directory and do a "make clean;  make swig" then try again.

Just tried that...didn't make any difference.  I built crypto++ with emerge, same as on any other Gentoo system. I think the SystemRescueCD might have too many libraries and headers ripped out to make it smaller, and that's causing problems.

In the meantime, I've gotten a portable offline Armory system working on top of the latest Gentoo Linux LiveDVD.  I've documented the steps involved and will post in a new thread when I get the time.  It takes more space on your flashstick (~3.5 GB vs. less than 512MB), but it also does a lot more.  It's basically a fully-functional Gentoo Linux desktop, and needs fewer add-ons to get it to where Armory will run on it.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 04, 2012, 11:54:24 AM
does Armory work with Ubuntu 12.04?  having trouble installing...

It should work.  I can't think of why it wouldn't.  Try the latest version (0.82.4):  https://github.com/etotheipi/BitcoinArmory/downloads

I didn't link directly, because I don't know if you're in 32-bit or 64-bit.  
newbie
Activity: 17
Merit: 0
October 04, 2012, 11:53:47 AM
I have Armory running on Ubuntu 12.04 (32 bit) for my offline wallet and on 64 bit for my watch-only, and it works perfectly for me.
legendary
Activity: 1764
Merit: 1002
October 04, 2012, 11:51:39 AM
does Armory work with Ubuntu 12.04?  having trouble installing...
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 04, 2012, 11:19:46 AM
Bug report : 100% CPU usage while the Blockchain is updating.

Spec : Clean install, Win 8 64x, 70k block to go.....................

I highly recommend against opening Armory until the blockchain is finished downloading.  Although the latest version is a lot better at "drinking from the firehose", Armory is much happier when it can retrieve all the data it needs from the blkXXXX.dat file.
donator
Activity: 1731
Merit: 1008
October 04, 2012, 11:17:32 AM
Bug report : 100% CPU usage while the Blockchain is updating.

Spec : Clean install, Win 8 64x, 70k block to go.....................
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 03, 2012, 02:52:57 PM
is there a way to switch from a Win 7 watching wallet to an Ubuntu watching wallet w/o losing the comments?

Wallet files are 100% portable between OS.  You can just copy the watch.wallet file from one system to the other.   There is an issue is if you are trying to merge multiple wallets into one.  There is currently no way to do that, though it is on my development plan.  But I got seriously snagged with the multi-threading (pulling my hair out).


I've gotten Armory up and running without any issues on Gentoo, but thought I'd try adding it to SystemRescueCD to make a portable offline version that you can boot on any computer.  I've documented the steps I used here, but have run into a snag. It tries to start, but throws these errors:

Code:
...

ImportError: /root/BitcoinArmory/_CppBlockUtils.so: undefined symbol:
_ZN8CryptoPP17AlignedDeallocateEPv

It looks like it's complaining that some files are missing, but they're not:

Code:
total 16567
-rw-r--r-- 1 root root     6263 Oct  2 20:06 armorycolors.py
-rw-r--r-- 1 root root   367195 Oct  2 20:06 armoryengine.py
-rw-r--r-- 1 root root   267204 Oct  3 13:59 armoryengine.pyc
-rwxr-xr-x 1 root root    46073 Oct  2 20:06 armorymodels.py
-rw-r--r-- 1 root root   107210 Oct  2 20:06 ArmoryQt.py
-rw-r--r-- 1 root root   107893 Oct  2 20:15 CppBlockUtils.py
-rw-r--r-- 1 root root   193167 Oct  3 18:04 CppBlockUtils.pyc
-rwxr-xr-x 1 root root 10226922 Oct  2 20:43 _CppBlockUtils.so
drwxr-xr-x 4 root root      784 Oct  2 20:15 cppForSwig
-rw-r--r-- 1 root root     6882 Oct  2 20:06 createTxFromAddrList.py
-rw-r--r-- 1 root root     2772 Oct  2 20:06 cryptoTimings.txt
drwxr-xr-x 2 root root      203 Oct  2 20:06 dpkgfiles
drwxr-xr-x 2 root root      321 Oct  2 20:06 extras
drwxr-xr-x 2 root root     2747 Oct  2 20:06 img
-rw-r--r-- 1 root root     6721 Oct  2 20:06 imgList.xml
-rw-r--r-- 1 root root     1057 Oct  2 20:06 LICENSE
-rwxr-xr-x 1 root root    33711 Oct  2 20:06 LICENSE.py
-rw-r--r-- 1 root root      426 Oct  2 20:06 Makefile
-rw-r--r-- 1 root root  4989706 Oct  2 20:44 qrc_img_resources.py
-rw-r--r-- 1 root root    27199 Oct  2 20:06 qrcodenative.py
-rw-r--r-- 1 root root    10440 Oct  2 20:06 qt4reactor.py
-rw-r--r-- 1 root root    17104 Oct  2 20:06 qtdefines.py
-rwxr-xr-x 1 root root   417157 Oct  2 20:06 qtdialogs.py
-rwxr-xr-x 1 root root    33505 Oct  2 20:06 README
-rw-r--r-- 1 root root      186 Oct  2 20:06 setup.py
-rw-r--r-- 1 root root    79787 Oct  2 20:06 unittest.py
-rw-r--r-- 1 root root     4031 Oct  2 20:06 versions.txt
drwxr-xr-x 2 root root      149 Oct  2 20:06 windowsbuild
-rw-r--r-- 1 root root     2506 Oct  2 20:06 WindowsBuild.txt

Why would it do this?  It looks like I'm 99% to where I want to be...how difficult will the remaining 1% turn out to be?

It looks like there's some symbols missing in your CppBlockUtils.  It's not from one of my updates, though, it's an issue with the cryptopp library, somehow not compiling everything into the .so file.   I don't know how you got to your current state, but go to cppForSwig directory and do a "make clean;  make swig" then try again.

That kind of error happens frequently when the program was compiled to dynamically link to a *.so file on your system, but your system has a different version of that *.so file.  That's why I started static compiling crypto++ into libcryptopp.a, to avoid this.  Perhaps you have crypto++ installed already on your system, and your Makefile was modified to dynamically link...?
legendary
Activity: 1036
Merit: 1002
October 03, 2012, 01:33:00 PM
Problems with that line sound familiar though.  I did a good search and found:  http://old.nabble.com/Crypto++-does-not-compile-on-Mac-OS-X-PPC-td29571081.html, which describes the exact problem you specified (I think).  I might as well modify the Makefile to prevent this from causing problems for others in the future (with the exception of causing problems for the first person to try to compile Armory on Sun!).

Uh. That's it. The person and his diff show exactly how this is wrong.

It seems the code is dependent on the line setting $(IS_SUN_CC). However, that line is executed only if the target architecture is x86. If for whatever reason architecture does not show as one of  "i.86|x86|i86|amd64", the Sun options come into play regardless of the actual compiler used.

This message from 2010 explains and repairs a clear error. If nobody from Crypto++ feels like merging it in two years' time, I'd say just merge it in your version.

That or re-write this. Isn't that check bad style in the first place? It checks whether something was not set to 0, which means it's not set... confusing! there's gotta be some better option, even in Make.
legendary
Activity: 1764
Merit: 1002
October 03, 2012, 01:16:21 PM
is there a way to switch from a Win 7 watching wallet to an Ubuntu watching wallet w/o losing the comments?
hero member
Activity: 651
Merit: 501
My PGP Key: 92C7689C
October 03, 2012, 01:11:14 PM
I've gotten Armory up and running without any issues on Gentoo, but thought I'd try adding it to SystemRescueCD to make a portable offline version that you can boot on any computer.  I've documented the steps I used here, but have run into a snag. It tries to start, but throws these errors:

Code:
********************************************************************************
Loading Armory Engine:
   Armory Version:       0.82.4
   PyBtcWallet  Version: 1.35
Detected Operating system: Linux
   User home-directory   : /root
   Satoshi BTC directory : /root/.bitcoin/
   Armory home dir       : /root/.armory/
(CRITICAL) armoryengine.py:647 - C++ block utilities not available.
(CRITICAL) armoryengine.py:648 -    Make sure that you have the
SWIG-compiled modules
(CRITICAL) armoryengine.py:649 -    in the current directory (or added to
the PATH)
(CRITICAL) armoryengine.py:650 -    Specifically, you need:
(CRITICAL) armoryengine.py:651 -        CppBlockUtils.py     and
(CRITICAL) armoryengine.py:653 -        _CppBlockUtils.so
Error in sys.excepthook:
Traceback (most recent call last):
  File "/root/BitcoinArmory/armoryengine.py", line 480, in
logexcept_override
    strList = traceback.format_exception(type,value,tback)
AttributeError: 'NoneType' object has no attribute 'format_exception'

Original exception was:
Traceback (most recent call last):
  File "ArmoryQt.py", line 41, in
    from armoryengine import *
  File "/root/BitcoinArmory/armoryengine.py", line 643, in
    import CppBlockUtils as Cpp
  File "/root/BitcoinArmory/CppBlockUtils.py", line 26, in
    _CppBlockUtils = swig_import_helper()
  File "/root/BitcoinArmory/CppBlockUtils.py", line 22, in
swig_import_helper
    _mod = imp.load_module('_CppBlockUtils', fp, pathname, description)
ImportError: /root/BitcoinArmory/_CppBlockUtils.so: undefined symbol:
_ZN8CryptoPP17AlignedDeallocateEPv

It looks like it's complaining that some files are missing, but they're not:

Code:
total 16567
-rw-r--r-- 1 root root     6263 Oct  2 20:06 armorycolors.py
-rw-r--r-- 1 root root   367195 Oct  2 20:06 armoryengine.py
-rw-r--r-- 1 root root   267204 Oct  3 13:59 armoryengine.pyc
-rwxr-xr-x 1 root root    46073 Oct  2 20:06 armorymodels.py
-rw-r--r-- 1 root root   107210 Oct  2 20:06 ArmoryQt.py
-rw-r--r-- 1 root root   107893 Oct  2 20:15 CppBlockUtils.py
-rw-r--r-- 1 root root   193167 Oct  3 18:04 CppBlockUtils.pyc
-rwxr-xr-x 1 root root 10226922 Oct  2 20:43 _CppBlockUtils.so
drwxr-xr-x 4 root root      784 Oct  2 20:15 cppForSwig
-rw-r--r-- 1 root root     6882 Oct  2 20:06 createTxFromAddrList.py
-rw-r--r-- 1 root root     2772 Oct  2 20:06 cryptoTimings.txt
drwxr-xr-x 2 root root      203 Oct  2 20:06 dpkgfiles
drwxr-xr-x 2 root root      321 Oct  2 20:06 extras
drwxr-xr-x 2 root root     2747 Oct  2 20:06 img
-rw-r--r-- 1 root root     6721 Oct  2 20:06 imgList.xml
-rw-r--r-- 1 root root     1057 Oct  2 20:06 LICENSE
-rwxr-xr-x 1 root root    33711 Oct  2 20:06 LICENSE.py
-rw-r--r-- 1 root root      426 Oct  2 20:06 Makefile
-rw-r--r-- 1 root root  4989706 Oct  2 20:44 qrc_img_resources.py
-rw-r--r-- 1 root root    27199 Oct  2 20:06 qrcodenative.py
-rw-r--r-- 1 root root    10440 Oct  2 20:06 qt4reactor.py
-rw-r--r-- 1 root root    17104 Oct  2 20:06 qtdefines.py
-rwxr-xr-x 1 root root   417157 Oct  2 20:06 qtdialogs.py
-rwxr-xr-x 1 root root    33505 Oct  2 20:06 README
-rw-r--r-- 1 root root      186 Oct  2 20:06 setup.py
-rw-r--r-- 1 root root    79787 Oct  2 20:06 unittest.py
-rw-r--r-- 1 root root     4031 Oct  2 20:06 versions.txt
drwxr-xr-x 2 root root      149 Oct  2 20:06 windowsbuild
-rw-r--r-- 1 root root     2506 Oct  2 20:06 WindowsBuild.txt

Why would it do this?  It looks like I'm 99% to where I want to be...how difficult will the remaining 1% turn out to be?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 03, 2012, 11:11:57 AM
Tried to query you about this, not sure whether you read it:

In the makefile of cryptopp, The block starting with

Code:
ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler

cost me time and nerves. In the end, I disabled it manually, using "ifeq" instead, and was able to compile Armory. I'm not aware of using some Sun compiler. I've found another thread where OSX users complained about similar problems, and I doubt they were using a Sun compiler either. It seems the flags in that block are passed when they shouldn't be.

Having no knowledge about Gnu Make, I searched the manual for behavior of undefined variables, and whether 0 is some magic value, but I couldn't find anything. That documentation is as horrible as the syntax. It would be cool if someone masochistic enough to understand Make had a look at https://github.com/etotheipi/BitcoinArmory/blob/master/cppForSwig/cryptopp/Makefile. Tongue


Edit: Here's the post of another user that had errors caused by the switches in that code block. https://bitcointalksearch.org/topic/m.904509

He explicitly stated he was using GCC, why did he too get a part of the Makefile executed that's documented to be for a Sun compiler?

FYI, I have absolutely no familiarity with the cryptopp Makefile.  It is straight from the cryptopp download, unmodified.  All the stuff in that file is completely foreign to me, only that the hashes of the zip files matched what was listed on the crypto++ website. 

Problems with that line sound familiar though.  I did a good search and found:  http://old.nabble.com/Crypto++-does-not-compile-on-Mac-OS-X-PPC-td29571081.html, which describes the exact problem you specified (I think).  I might as well modify the Makefile to prevent this from causing problems for others in the future (with the exception of causing problems for the first person to try to compile Armory on Sun!).
legendary
Activity: 1036
Merit: 1002
October 03, 2012, 10:13:29 AM
Tried to query you about this, not sure whether you read it:

In the makefile of cryptopp, The block starting with

Code:
ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler

cost me time and nerves. In the end, I disabled it manually, using "ifeq" instead, and was able to compile Armory. I'm not aware of using some Sun compiler. I've found another thread where OSX users complained about similar problems, and I doubt they were using a Sun compiler either. It seems the flags in that block are passed when they shouldn't be.

Having no knowledge about Gnu Make, I searched the manual for behavior of undefined variables, and whether 0 is some magic value, but I couldn't find anything. That documentation is as horrible as the syntax. It would be cool if someone masochistic enough to understand Make had a look at https://github.com/etotheipi/BitcoinArmory/blob/master/cppForSwig/cryptopp/Makefile. Tongue


Edit: Here's the post of another user that had errors caused by the switches in that code block. https://bitcointalksearch.org/topic/m.904509

He explicitly stated he was using GCC, why did he too get a part of the Makefile executed that's documented to be for a Sun compiler?
hero member
Activity: 868
Merit: 1000
October 03, 2012, 08:39:46 AM
Yep, found it!


Thanks you're awesome Smiley
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
October 03, 2012, 08:25:25 AM
Hi etotheipi,

I'd like to confirm something with you: is it possible to make/sign/broadcast a transaction from the command-line? In other words is it possible to script a cold offline system?

Thanks
unclescrooge

I'm on my phone right now,  so it's tough to get the link for you,  but I recently committed a script for doing exactly this.   It should be in the master branch, in the "extras" directory.  I posted about it a couple weeks ago,  but I don't remember which thread that was in.   Please let know if you can't find it,  and I'll try to dig it up for you.


 The script requires you to manually specify the location of your wallet and the unsigned.tx file,  but it does work with encrypted wallets,  and gives you a chance to verify the tx details before you sign it.
hero member
Activity: 868
Merit: 1000
October 03, 2012, 07:51:14 AM
Hi etotheipi,

I'd like to confirm something with you: is it possible to make/sign/broadcast a transaction from the command-line? In other words is it possible to script a cold offline system?

Thanks
unclescrooge
hero member
Activity: 506
Merit: 500
October 02, 2012, 11:06:42 AM
Hey guys. I made a dual boot with Windows 7 and Ubuntu 12.04 with /home and swap encrypted, to handle my armory wallet. I installed bitcoin-qt on ubuntu, and armory then. When I did a transaction clearing my old probably compromised wallet to a new uncompromised one, armory told me the transaction wasn't accepted by the Bitcoin client. I tried like 3 times and didn't work at all, until I rebooted. My issue is that the original transaction was approved by the network, and is confirmed by armory, but the second one won't ever be approved as it's a double spend, and I want to know how do I clear it from the transaction history in Armory, to avoid seeing those fake double coins.

Thanks, I hope you understand my redaction, as I'm in a hurry to leave.

I'm not sure what triggered it, but it sounds like the memory pool is corrupted.  I'll have to add a button for clearing...

Simply delete /home//.armory/mempool.bin.  If you are in Windows, it is C:\Users\\AppData\Roaming\Armory\mempool.bin.  That file holds all wallet-relevant transactions that haven't made it into the blockchain.


Worked perfectly, thanks Smiley
Jump to: