Author

Topic: Offline bundle for newer Ubuntus? (Read 1401 times)

legendary
Activity: 3766
Merit: 1364
Armory Developer
August 19, 2015, 05:28:33 PM
#19
I'm sorry if I have come across as pushy. That was never the intention; I know the time of any developer is precious, so I would not want to hoard on it. While, of course, wanting to reach a personal goal of running the newest version of Armory on my old computer, I genuinely hoped that if this might be a bug, I would be of help in solving it.

It was not my intent to sound exasperated. By our standards, this is a bug, but most likely one in CryptoPP, which is unmaintained for a while now.

The reality of this bug is that first of all to fix it I'd probably need to look at the code behavior with your CPU directly. The kind of remote debugging that was practiced in this thread is only good at identifying issues. Unless I have a very good hunch as to what is the underlying cause (usually I do if it's my own code), I can't fix this stuff without experiencing it first hand. Turns out this is probably a CryptoPP issue, so short of having a machine like yours, I'll have a terrible time finding a fix.

The other part is that CryptoPP is a library we piggy back on. Seeing it's crypto, we are very cautious about modifying anything in there. Usually we would try to narrow down the issue and report it to the official maintainer, but that's not an option anymore. We'd have to weight the cost of finding the issue (which possibly requires for someone to get very familiar with this library) and coming up with a as small as possible fix against the reward and the risk of modifying our crypto lib. Simply put, even if we had a fix, we may not implement it.

The future isn't so dark however. As Core is planning to drop OpenSSL, we too plan on ditching CryptoPP and rely on the libraries Core are replacing OpenSSL with, one of which is Sipa's secp256k1 library. So it's possible that this bug will entirely go away in the future.

There is also a plan to come up with lighter builds for some targeted versions such as purely offline Armory and Litenode. Getting rid of the need for C++11 in the offline bundle may very well be one of our goals as it is painful to maintain older OS compatibility otherwise, which is a desirable for our offline package.
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
August 19, 2015, 03:14:43 PM
#18
I didn't have success in setting up clang, so I will be running the provided 0.92.3 offline bundle with Ubuntu 12.04 on my cold storage machine. Thank you to anyone who have helped out in this thread. I am very grateful for that.

I think the later 92.x releases use the newest transaction file format, Armory devs will know the full details on that sort of thing. So you're not missing much in the difference between 0.92.3 and 93.2 (no deterministic signing, for instance).

For offline machines, yes, this is basically correct. There is a bug (fixed in 0.93.2, IIRC) that does affect signatures and has a 1-in-256 chance of being triggered. That could be a problem depending on luck and how often transactions will be signed. (Then again, the bug may have been introduced in 0.93! I forget exactly where all the code was introduced.)
legendary
Activity: 3430
Merit: 3080
August 19, 2015, 02:03:01 PM
#17
I didn't have success in setting up clang, so I will be running the provided 0.92.3 offline bundle with Ubuntu 12.04 on my cold storage machine. Thank you to anyone who have helped out in this thread. I am very grateful for that.

I think the later 92.x releases use the newest transaction file format, Armory devs will know the full details on that sort of thing. So you're not missing much in the difference between 0.92.3 and 93.2 (no deterministic signing, for instance).
newbie
Activity: 58
Merit: 0
August 19, 2015, 01:47:53 PM
#16
Then it's possibly GCC's C++11 implementation that has some forward compatibility issues. Either try clang or take it easy and just rely on 0.92

I'm sorry if I have come across as pushy. That was never the intention; I know the time of any developer is precious, so I would not want to hoard on it. While, of course, wanting to reach a personal goal of running the newest version of Armory on my old computer, I genuinely hoped that if this might be a bug, I would be of help in solving it.

I didn't have success in setting up clang, so I will be running the provided 0.92.3 offline bundle with Ubuntu 12.04 on my cold storage machine. Thank you to anyone who have helped out in this thread. I am very grateful for that.
legendary
Activity: 3766
Merit: 1364
Armory Developer
August 19, 2015, 10:55:17 AM
#15
Then it's possibly GCC's C++11 implementation that has some forward compatibility issues. Either try clang or take it easy and just rely on 0.92
newbie
Activity: 58
Merit: 0
August 19, 2015, 10:47:29 AM
#14
The version of gcc you use does not support C++11.

Try clang or build an earlier version, like 0.92. You can pull the tag v0.92.3 and build that.

Ok, I tried building 0.92.3 and it worked flawlessly. I was able to create a new wallet without problems.

So I decided to take it a step further. Since this is Ubuntu 12.04, I do indeed have an old gcc version, so I upgraded it to gcc 4.8 (which has C++11 support) and was successfully able to build Armory 0.93.2. However, it crashes at the exact same point that the offline bundle version does:

Code:
$ python ArmoryQt.py --offline --debug
Traceback (most recent call last):
  File "update_version.py", line 14, in
    f = open(hash_loc, "r")
IOError: [Errno 2] No such file or directory: '.git/3cb2a80c7cd461ac26bf34f240a3b60e367'
(INFO) ArmoryUtils.py:1076 - C++ block utilities loaded successfully
(INFO) ArmoryUtils.py:600 - Executing popen: free -m
(INFO) ArmoryUtils.py:600 - Executing popen: ['cat', '/proc/cpuinfo']
(INFO) ArmoryUtils.py:1186 -
(INFO) ArmoryUtils.py:1187 -
(INFO) ArmoryUtils.py:1188 -
(INFO) ArmoryUtils.py:1189 - ************************************************************
(INFO) ArmoryUtils.py:1190 - Invoked: ArmoryQt.py --offline --debug
(INFO) ArmoryUtils.py:1191 - ************************************************************
(INFO) ArmoryUtils.py:1192 - Loading Armory Engine:
(INFO) ArmoryUtils.py:1193 -    Armory Version        : 0.93.2
(INFO) ArmoryUtils.py:1194 -    Armory Build:         : None
(INFO) ArmoryUtils.py:1195 -    PyBtcWallet  Version  : 1.35
(INFO) ArmoryUtils.py:1196 - Detected Operating system: Linux
(INFO) ArmoryUtils.py:1197 -    OS Variant            : Ubuntu-12.04-precise
(INFO) ArmoryUtils.py:1198 -    User home-directory   : /home/thomas
(INFO) ArmoryUtils.py:1199 -    Satoshi BTC directory : /home/thomas/.bitcoin/
(INFO) ArmoryUtils.py:1200 -    Armory home dir       : /home/thomas/.armory/
(INFO) ArmoryUtils.py:1201 - Detected System Specs    :
(INFO) ArmoryUtils.py:1202 -    Total Available RAM   : 0.48 GB
(INFO) ArmoryUtils.py:1203 -    CPU ID string         : Intel(R) Pentium(R) M processor 1.86GHz
(INFO) ArmoryUtils.py:1204 -    Number of CPU cores   : 1 cores
(INFO) ArmoryUtils.py:1205 -    System is 64-bit      : False
(INFO) ArmoryUtils.py:1206 -    Preferred Encoding    : UTF-8
(INFO) ArmoryUtils.py:1207 -    Machine Arch          : i686
(INFO) ArmoryUtils.py:1208 -    Available HDD (ARM)   : 44 GB
(INFO) ArmoryUtils.py:1209 -    Available HDD (BTC)   : 44 GB
(INFO) ArmoryUtils.py:1210 -
(INFO) ArmoryUtils.py:1211 - Network Name: Main Network
(INFO) ArmoryUtils.py:1212 - Satoshi Port: 8333
(INFO) ArmoryUtils.py:1213 - Do wlt check: True
(INFO) ArmoryUtils.py:1214 - Named options/arguments to armoryengine.py:
(INFO) ArmoryUtils.py:1216 -     nettimeout      : 2
(INFO) ArmoryUtils.py:1216 -     rescan          : False
(INFO) ArmoryUtils.py:1216 -     ignoreAllZC     : False
(INFO) ArmoryUtils.py:1216 -     enableSupernode : False
(INFO) ArmoryUtils.py:1216 -     disableModules  : False
(INFO) ArmoryUtils.py:1216 -     port            : None
(INFO) ArmoryUtils.py:1216 -     interport       : 8223
(INFO) ArmoryUtils.py:1216 -     skipStatsReport : False
(INFO) ArmoryUtils.py:1216 -     forceWalletCheck: False
(INFO) ArmoryUtils.py:1216 -     rebuild         : False
(INFO) ArmoryUtils.py:1216 -     datadir         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     clearMempool    : False
(INFO) ArmoryUtils.py:1216 -     offline         : True
(INFO) ArmoryUtils.py:1216 -     coverageOutputDir: None
(INFO) ArmoryUtils.py:1216 -     armoryDBDir     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiPort     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     useTorSettings  : False
(INFO) ArmoryUtils.py:1216 -     netlog          : False
(INFO) ArmoryUtils.py:1216 -     keypool         : 100
(INFO) ArmoryUtils.py:1216 -     coverageInclude : None
(INFO) ArmoryUtils.py:1216 -     forceOnline     : False
(INFO) ArmoryUtils.py:1216 -     skipAnnounceCheck: False
(INFO) ArmoryUtils.py:1216 -     redownload      : False
(INFO) ArmoryUtils.py:1216 -     multisigFile    : DEFAULT
(INFO) ArmoryUtils.py:1216 -     disableTorrent  : False
(INFO) ArmoryUtils.py:1216 -     testAnnounceCode: False
(INFO) ArmoryUtils.py:1216 -     mtdebug         : False
(INFO) ArmoryUtils.py:1216 -     logDisable      : False
(INFO) ArmoryUtils.py:1216 -     settingsPath    : /home/thomas/.armory/ArmorySettings.txt
(INFO) ArmoryUtils.py:1216 -     verbosity       : None
(INFO) ArmoryUtils.py:1216 -     doDebug         : True
(INFO) ArmoryUtils.py:1216 -     enableDetSign   : True
(INFO) ArmoryUtils.py:1216 -     testnet         : False
(INFO) ArmoryUtils.py:1216 -     rpcport         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiHome     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiRpcport  : DEFAULT
(INFO) ArmoryUtils.py:1216 -     logFile         : /home/thomas/.armory/armorylog.txt
(INFO) ArmoryUtils.py:1216 -     disableConfPermis: False
(INFO) ArmoryUtils.py:1217 - Other arguments:
(INFO) ArmoryUtils.py:1220 - ************************************************************
(INFO) ArmoryUtils.py:1615 - C++ block utilities loaded successfully
(INFO) BDM.py:404 - Armory loaded in offline-mode.  Will not attempt to load
(INFO) BDM.py:405 - blockchain without explicit command to do so.
(DEBUG) ArmoryQt.py:7076 - Checking for already open socket...
(INFO) ArmoryUtils.py:3521 - Using settings file: /home/thomas/.armory/ArmorySettings.txt
(INFO) announcefetch.py:95 - Reading files in fetcher directory:
(INFO) announcefetch.py:104 -    notify           : 78bbf86a93b31c391ad34ee1b26097abd9064c0c037a6d4a16d6d1cdb0c7635d
(INFO) announcefetch.py:104 -    bootstrap        : b62c08932668ce162d51226135940724e90f4c71704ac936f74cc153b34cc251
(INFO) announcefetch.py:104 -    changelog        : 791059d52f04d68a142730b421f46f52c3169440a168db50088fb2b7856e3d9b
(INFO) announcefetch.py:104 -    announce         : b8eec8ca1eb01c9c2a55690e5c779cdffa15b30a5ce611cc8444c43472d0ca98
(INFO) announcefetch.py:104 -    downloads        : 21707983b98ad85f3ac5fd50ec765c08a346d00eaddbeb117516d0b7c25c5dbf
(INFO) ArmoryQt.py:2735 - loadWalletsAndSettings
(INFO) ArmoryQt.py:2789 - Loading wallets...
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/atisignedannounce is a directory.
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/databases is a directory.
(INFO) ArmoryQt.py:2848 - Number of wallets read in: 0
(INFO) ArmoryQt.py:2297 - Setting up networking...
(INFO) ArmoryQt.py:2326 - Internet status: 0
(INFO) ArmoryQt.py:2441 - startBitcoindIfNecessary
(WARNING) ArmoryQt.py:2443 - Not online, will not start bitcoind
(DEBUG) ArmoryQt.py:1411 - setupSystemTray
(INFO) ArmoryQt.py:1514 - setupUriRegistration
(INFO) ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command
(INFO) ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin
(INFO) ArmoryUtils.py:600 - Executing popen: find /home/thomas -type f -name "mimeTypes.rdf"
(DEBUG) ArmoryQt.py:4361 - setupDashboard
(INFO) ArmoryQt.py:664 - Usermode: Advanced
(INFO) ArmoryQt.py:1809 - Changing usermode:
(INFO) ArmoryQt.py:1810 -    From: Advanced
(INFO) ArmoryQt.py:1818 -      To: Advanced
(INFO) ArmoryQt.py:5766 - Dashboard switched to auto-OfflineNoSatoshiNoInternet
(INFO) ArmoryQt.py:1278 - Adding 32 keypress events to the entropy pool
(INFO) ArmoryQt.py:1280 - Adding 1.6 kB bytes of filesystem data to the entropy pool
(INFO) ArmoryQt.py:1282 - Adding 294.0 kB bytes from desktop screenshot to the entropy pool
(INFO) PyBtcWallet.py:802 - ***Creating new deterministic wallet
(INFO) PyBtcWallet.py:808 - (with encryption)
(INFO) PyBtcWallet.py:810 - Target (time,RAM)=(0.250,33554432)
Illegal instruction (core dumped)

Then, I built 0.93.2 again, this time with "make DEBUG=1" like you suggested. I deleted the entire Armory directory in before, and did a new git clone, just to be sure nothing was left from the old build. Still the same, though:

Code:
python ArmoryQt.py --offline --debug
Traceback (most recent call last):
  File "update_version.py", line 14, in
    f = open(hash_loc, "r")
IOError: [Errno 2] No such file or directory: '.git/3cb2a80c7cd461ac26bf34f240a3b60e367'
(INFO) ArmoryUtils.py:1076 - C++ block utilities loaded successfully
(INFO) ArmoryUtils.py:600 - Executing popen: free -m
(INFO) ArmoryUtils.py:600 - Executing popen: ['cat', '/proc/cpuinfo']
(INFO) ArmoryUtils.py:1186 -
(INFO) ArmoryUtils.py:1187 -
(INFO) ArmoryUtils.py:1188 -
(INFO) ArmoryUtils.py:1189 - ************************************************************
(INFO) ArmoryUtils.py:1190 - Invoked: ArmoryQt.py --offline --debug
(INFO) ArmoryUtils.py:1191 - ************************************************************
(INFO) ArmoryUtils.py:1192 - Loading Armory Engine:
(INFO) ArmoryUtils.py:1193 -    Armory Version        : 0.93.2
(INFO) ArmoryUtils.py:1194 -    Armory Build:         : None
(INFO) ArmoryUtils.py:1195 -    PyBtcWallet  Version  : 1.35
(INFO) ArmoryUtils.py:1196 - Detected Operating system: Linux
(INFO) ArmoryUtils.py:1197 -    OS Variant            : Ubuntu-12.04-precise
(INFO) ArmoryUtils.py:1198 -    User home-directory   : /home/thomas
(INFO) ArmoryUtils.py:1199 -    Satoshi BTC directory : /home/thomas/.bitcoin/
(INFO) ArmoryUtils.py:1200 -    Armory home dir       : /home/thomas/.armory/
(INFO) ArmoryUtils.py:1201 - Detected System Specs    :
(INFO) ArmoryUtils.py:1202 -    Total Available RAM   : 0.48 GB
(INFO) ArmoryUtils.py:1203 -    CPU ID string         : Intel(R) Pentium(R) M processor 1.86GHz
(INFO) ArmoryUtils.py:1204 -    Number of CPU cores   : 1 cores
(INFO) ArmoryUtils.py:1205 -    System is 64-bit      : False
(INFO) ArmoryUtils.py:1206 -    Preferred Encoding    : UTF-8
(INFO) ArmoryUtils.py:1207 -    Machine Arch          : i686
(INFO) ArmoryUtils.py:1208 -    Available HDD (ARM)   : 44 GB
(INFO) ArmoryUtils.py:1209 -    Available HDD (BTC)   : 44 GB
(INFO) ArmoryUtils.py:1210 -
(INFO) ArmoryUtils.py:1211 - Network Name: Main Network
(INFO) ArmoryUtils.py:1212 - Satoshi Port: 8333
(INFO) ArmoryUtils.py:1213 - Do wlt check: True
(INFO) ArmoryUtils.py:1214 - Named options/arguments to armoryengine.py:
(INFO) ArmoryUtils.py:1216 -     nettimeout      : 2
(INFO) ArmoryUtils.py:1216 -     rescan          : False
(INFO) ArmoryUtils.py:1216 -     ignoreAllZC     : False
(INFO) ArmoryUtils.py:1216 -     enableSupernode : False
(INFO) ArmoryUtils.py:1216 -     disableModules  : False
(INFO) ArmoryUtils.py:1216 -     port            : None
(INFO) ArmoryUtils.py:1216 -     interport       : 8223
(INFO) ArmoryUtils.py:1216 -     skipStatsReport : False
(INFO) ArmoryUtils.py:1216 -     forceWalletCheck: False
(INFO) ArmoryUtils.py:1216 -     rebuild         : False
(INFO) ArmoryUtils.py:1216 -     datadir         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     clearMempool    : False
(INFO) ArmoryUtils.py:1216 -     offline         : True
(INFO) ArmoryUtils.py:1216 -     coverageOutputDir: None
(INFO) ArmoryUtils.py:1216 -     armoryDBDir     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiPort     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     useTorSettings  : False
(INFO) ArmoryUtils.py:1216 -     netlog          : False
(INFO) ArmoryUtils.py:1216 -     keypool         : 100
(INFO) ArmoryUtils.py:1216 -     coverageInclude : None
(INFO) ArmoryUtils.py:1216 -     forceOnline     : False
(INFO) ArmoryUtils.py:1216 -     skipAnnounceCheck: False
(INFO) ArmoryUtils.py:1216 -     redownload      : False
(INFO) ArmoryUtils.py:1216 -     multisigFile    : DEFAULT
(INFO) ArmoryUtils.py:1216 -     disableTorrent  : False
(INFO) ArmoryUtils.py:1216 -     testAnnounceCode: False
(INFO) ArmoryUtils.py:1216 -     mtdebug         : False
(INFO) ArmoryUtils.py:1216 -     logDisable      : False
(INFO) ArmoryUtils.py:1216 -     settingsPath    : /home/thomas/.armory/ArmorySettings.txt
(INFO) ArmoryUtils.py:1216 -     verbosity       : None
(INFO) ArmoryUtils.py:1216 -     doDebug         : True
(INFO) ArmoryUtils.py:1216 -     enableDetSign   : True
(INFO) ArmoryUtils.py:1216 -     testnet         : False
(INFO) ArmoryUtils.py:1216 -     rpcport         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiHome     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiRpcport  : DEFAULT
(INFO) ArmoryUtils.py:1216 -     logFile         : /home/thomas/.armory/armorylog.txt
(INFO) ArmoryUtils.py:1216 -     disableConfPermis: False
(INFO) ArmoryUtils.py:1217 - Other arguments:
(INFO) ArmoryUtils.py:1220 - ************************************************************
(INFO) ArmoryUtils.py:1615 - C++ block utilities loaded successfully
(INFO) BDM.py:404 - Armory loaded in offline-mode.  Will not attempt to load
(INFO) BDM.py:405 - blockchain without explicit command to do so.
/home/thomas/BitcoinArmory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(DEBUG) ArmoryQt.py:7076 - Checking for already open socket...
(INFO) ArmoryUtils.py:3521 - Using settings file: /home/thomas/.armory/ArmorySettings.txt
(INFO) announcefetch.py:95 - Reading files in fetcher directory:
(INFO) announcefetch.py:104 -    notify           : 78bbf86a93b31c391ad34ee1b26097abd9064c0c037a6d4a16d6d1cdb0c7635d
(INFO) announcefetch.py:104 -    bootstrap        : b62c08932668ce162d51226135940724e90f4c71704ac936f74cc153b34cc251
(INFO) announcefetch.py:104 -    changelog        : 791059d52f04d68a142730b421f46f52c3169440a168db50088fb2b7856e3d9b
(INFO) announcefetch.py:104 -    announce         : b8eec8ca1eb01c9c2a55690e5c779cdffa15b30a5ce611cc8444c43472d0ca98
(INFO) announcefetch.py:104 -    downloads        : 21707983b98ad85f3ac5fd50ec765c08a346d00eaddbeb117516d0b7c25c5dbf
(INFO) ArmoryQt.py:2735 - loadWalletsAndSettings
(INFO) ArmoryQt.py:2789 - Loading wallets...
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/atisignedannounce is a directory.
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/databases is a directory.
(INFO) ArmoryQt.py:2848 - Number of wallets read in: 0
(INFO) ArmoryQt.py:2297 - Setting up networking...
(INFO) ArmoryQt.py:2326 - Internet status: 0
(INFO) ArmoryQt.py:2441 - startBitcoindIfNecessary
(WARNING) ArmoryQt.py:2443 - Not online, will not start bitcoind
(DEBUG) ArmoryQt.py:1411 - setupSystemTray
(INFO) ArmoryQt.py:1514 - setupUriRegistration
(INFO) ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command
(INFO) ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin
(INFO) ArmoryUtils.py:600 - Executing popen: find /home/thomas -type f -name "mimeTypes.rdf"
(DEBUG) ArmoryQt.py:4361 - setupDashboard
(INFO) ArmoryQt.py:664 - Usermode: Advanced
(INFO) ArmoryQt.py:1809 - Changing usermode:
(INFO) ArmoryQt.py:1810 -    From: Advanced
(INFO) ArmoryQt.py:1818 -      To: Advanced
(INFO) ArmoryQt.py:5766 - Dashboard switched to auto-OfflineNoSatoshiNoInternet
(INFO) ArmoryQt.py:1278 - Adding 35 keypress events to the entropy pool
(INFO) ArmoryQt.py:1280 - Adding 1.6 kB bytes of filesystem data to the entropy pool
(INFO) ArmoryQt.py:1282 - Adding 359.4 kB bytes from desktop screenshot to the entropy pool
(INFO) PyBtcWallet.py:802 - ***Creating new deterministic wallet
(INFO) PyBtcWallet.py:808 - (with encryption)
(INFO) PyBtcWallet.py:810 - Target (time,RAM)=(0.250,33554432)
Illegal instruction (core dumped)

Quote
To make the .deb, try this script:

https://github.com/etotheipi/BitcoinArmory/blob/v0.92.3/dpkgfiles/make_deb_package.py

I'm not all that familiar with it but this is what etotheipi used to build 0.92 at least.

Thanks! I'll give it a shot once I compile a version that can create a new wallet Smiley
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
August 19, 2015, 09:58:45 AM
#13
To make the .deb, try this script:

https://github.com/etotheipi/BitcoinArmory/blob/v0.92.3/dpkgfiles/make_deb_package.py

I'm not all that familiar with it but this is what etotheipi used to build 0.92 at least.

That script also requires some extra attention if you want to create an offline bundle. This link (WARNING: Massive amounts of techno-babble) and some follow-up posts roughly describe the process for building offline bundles.
newbie
Activity: 58
Merit: 0
August 19, 2015, 07:52:21 AM
#12
Yeah, that's pretty much what I'm doing, but thanks Smiley
pf
full member
Activity: 176
Merit: 105
August 19, 2015, 07:38:40 AM
#11
It seems like the offline bundle is for Ubuntu 12.04 (exact), which is a 4½ years old release. Are there any plans to do offline bundles for newer Ubuntus like 15.04, or perhaps just the latest LTS 14.04?

I know 12.04 is still maintained, but that doesn't really matter much on a machine that never connects to the internet anyway -- and building a new cold storage, I would naturally go for a newer release, not download a release from 2012. But perhaps that's just me :-)

You could just compile your own. It's not that hard: https://bitcointalksearch.org/topic/tutorial-compiling-armory-and-getting-it-onto-an-offline-computer-1156924  Smiley
legendary
Activity: 3766
Merit: 1364
Armory Developer
August 19, 2015, 05:03:02 AM
#10
The version of gcc you use does not support C++11.

Try clang or build an earlier version, like 0.92. You can pull the tag v0.92.3 and build that.

To make the .deb, try this script:

https://github.com/etotheipi/BitcoinArmory/blob/v0.92.3/dpkgfiles/make_deb_package.py

I'm not all that familiar with it but this is what etotheipi used to build 0.92 at least.
newbie
Activity: 58
Merit: 0
August 19, 2015, 02:43:00 AM
#9
I'm thinking the CPU is old enough it could be missing some enhanced instruction sets. The easiest way to verify this would be to build from source straight on the faulty machine. If you dont want to build straight from your to be offline signer, build from source on your other machine in this fashion:

Code:
make DEBUG=1

The debug build should turn off all compiler and linker optimization, which may be just what you need to fix this.

FYI, An OS reinstallation, forced on a different physical part of the HDD (with partitions) didn't help, and neither did an "apt-get upgrade". Yes, in my attempts to get Armory working, the machine is not offline anymore, but it will of course be completely reformatted and reinstalled without any network once things work.

So, I tend to think you're right in your theory about missing instruction sets in this indeed very old CPU.

I will try compiling myself; that seems not too hard. And I can do it on the machine itself, since I will not be using the current OS installation for cold storage anyway.

Only question regarding compiling: Is there an easy way to compile to a ready deb file that I can use together with the rest of the offline bundle once I reinstalled the system without network? Otherwise I reckon I can just git clone, compile, tar.gz the whole dir and put it on USB, reformat/install OS, and install the compiled dir on the offline system.


Edit: Compiling stops quite quickly:

Code:
$  sudo apt-get install git-core build-essential pyqt4-dev-tools swig libqtcore4 libqt4-dev python-qt4 python-dev python-twisted python-psutil
[sudo] password for thomas:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-qt4 is already the newest version.
python-twisted is already the newest version.
python-psutil is already the newest version.
libqtcore4 is already the newest version.
libqtcore4 set to manually installed.
The following extra packages will be installed:
  dpkg-dev fakeroot g++ g++-4.6 git git-man libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libdrm-dev
  liberror-perl libexpat1-dev libgl1-mesa-dev libglu1-mesa-dev
  libpthread-stubs0 libpthread-stubs0-dev libqt4-opengl-dev libqt4-qt3support
  libqtwebkit-dev libssl-dev libssl-doc libstdc++6-4.6-dev libtimedate-perl
  libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev
  mesa-common-dev python2.7-dev qt4-linguist-tools qt4-qmake swig2.0
  x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev
  xorg-sgml-doctools xtrans-dev zlib1g-dev
[...]

$ git clone git://github.com/etotheipi/BitcoinArmory.git
Cloning into 'BitcoinArmory'...
remote: Counting objects: 24875, done.
remote: Compressing objects: 100% (68/68), done.
Receiving objects: 100% (24875/24875), 76.63 MiB | 2.06 MiB/s, done.
remote: Total 24875 (delta 45), reused 0 (delta 0), pack-reused 24807
Resolving deltas: 100% (18514/18514), done.

$ cd BitcoinArmory/

$ git checkout v0.93.2
Note: checking out 'v0.93.2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 73b533c... Merge branch 'master' into testing

$ make
make -C cppForSwig
make[1]: Entering directory `/home/thomas/BitcoinArmory/cppForSwig'
g++  -Icryptopp -Imdb -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS -I/usr/include/python2.7 -I/usr/include/python2.7 -std=c++11 -O2 -pipe -fPIC -c UniversalTimer.cpp
cc1plus: error: unrecognized command line option ‘-std=c++11’
make[1]: *** [UniversalTimer.o] Error 1
make[1]: Leaving directory `/home/thomas/BitcoinArmory/cppForSwig'
make: *** [all] Error 2
legendary
Activity: 3766
Merit: 1364
Armory Developer
August 18, 2015, 05:38:26 PM
#8
I'm thinking the CPU is old enough it could be missing some enhanced instruction sets. The easiest way to verify this would be to build from source straight on the faulty machine. If you dont want to build straight from your to be offline signer, build from source on your other machine in this fashion:

Code:
make DEBUG=1

The debug build should turn off all compiler and linker optimization, which may be just what you need to fix this.
newbie
Activity: 58
Merit: 0
August 18, 2015, 03:48:55 PM
#7
That's the first time I see it choke like this. I have little to help you with without a backtrace. Do you have another machine you can create a mock wallet on? Same software, different hardware kinda test.

Both yes and no. I have another laptop of much newer date, but unfortunately no spare HDD to use for this test. So what I did instead was to boot off the exact same usb stick that I had used to install Ubuntu on the older machine. So booted it in live mode, installed the same offline bundle, and lo and behold: no problems whatsoever; wallet created successfully.

So, I made a software backup (unencrypted) onto another USB stick and put it in the older machine, and imported it into Armory there. No troubles. So I selected the option to encrypt the newly imported wallet. It let me type in a new password the usual three times, and when I clicked Next after the third time, Armory crashed again.

I don't know whether this means some of the old machine's hardware might be faulty, or whether the newer machine wasn't really qualified in that it didn't have Ubuntu installed on a HDD in the same sense that the old machine does, but rather as a live usb stick. I think I'll try reinstalling Ubuntu on the older machine, perhaps tinkering a bit with harddrive partitions in order to force files being placed on other physical sectors than what is the case now.

The output from the crash when encrypting the imported wallet was:

Code:
$ armory --offline --debug
(INFO) ArmoryUtils.py:1076 - C++ block utilities loaded successfully
(INFO) ArmoryUtils.py:600 - Executing popen: free -m
(INFO) ArmoryUtils.py:600 - Executing popen: ['cat', '/proc/cpuinfo']
(INFO) ArmoryUtils.py:1186 -
(INFO) ArmoryUtils.py:1187 -
(INFO) ArmoryUtils.py:1188 -
(INFO) ArmoryUtils.py:1189 - ************************************************************
(INFO) ArmoryUtils.py:1190 - Invoked: /usr/lib/armory/ArmoryQt.py --offline --debug
(INFO) ArmoryUtils.py:1191 - ************************************************************
(INFO) ArmoryUtils.py:1192 - Loading Armory Engine:
(INFO) ArmoryUtils.py:1193 -    Armory Version        : 0.93.2
(INFO) ArmoryUtils.py:1194 -    Armory Build:         : 85959b20d8
(INFO) ArmoryUtils.py:1195 -    PyBtcWallet  Version  : 1.35
(INFO) ArmoryUtils.py:1196 - Detected Operating system: Linux
(INFO) ArmoryUtils.py:1197 -    OS Variant            : Ubuntu-12.04-precise
(INFO) ArmoryUtils.py:1198 -    User home-directory   : /home/thomas
(INFO) ArmoryUtils.py:1199 -    Satoshi BTC directory : /home/thomas/.bitcoin/
(INFO) ArmoryUtils.py:1200 -    Armory home dir       : /home/thomas/.armory/
(INFO) ArmoryUtils.py:1201 - Detected System Specs    :
(INFO) ArmoryUtils.py:1202 -    Total Available RAM   : 0.48 GB
(INFO) ArmoryUtils.py:1203 -    CPU ID string         : Intel(R) Pentium(R) M processor 1.86GHz
(INFO) ArmoryUtils.py:1204 -    Number of CPU cores   : 1 cores
(INFO) ArmoryUtils.py:1205 -    System is 64-bit      : False
(INFO) ArmoryUtils.py:1206 -    Preferred Encoding    : UTF-8
(INFO) ArmoryUtils.py:1207 -    Machine Arch          : i686
(INFO) ArmoryUtils.py:1208 -    Available HDD (ARM)   : 49 GB
(INFO) ArmoryUtils.py:1209 -    Available HDD (BTC)   : 49 GB
(INFO) ArmoryUtils.py:1210 -
(INFO) ArmoryUtils.py:1211 - Network Name: Main Network
(INFO) ArmoryUtils.py:1212 - Satoshi Port: 8333
(INFO) ArmoryUtils.py:1213 - Do wlt check: True
(INFO) ArmoryUtils.py:1214 - Named options/arguments to armoryengine.py:
(INFO) ArmoryUtils.py:1216 -     nettimeout      : 2
(INFO) ArmoryUtils.py:1216 -     rescan          : False
(INFO) ArmoryUtils.py:1216 -     ignoreAllZC     : False
(INFO) ArmoryUtils.py:1216 -     enableSupernode : False
(INFO) ArmoryUtils.py:1216 -     disableModules  : False
(INFO) ArmoryUtils.py:1216 -     port            : None
(INFO) ArmoryUtils.py:1216 -     interport       : 8223
(INFO) ArmoryUtils.py:1216 -     skipStatsReport : False
(INFO) ArmoryUtils.py:1216 -     forceWalletCheck: False
(INFO) ArmoryUtils.py:1216 -     rebuild         : False
(INFO) ArmoryUtils.py:1216 -     datadir         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     clearMempool    : False
(INFO) ArmoryUtils.py:1216 -     offline         : True
(INFO) ArmoryUtils.py:1216 -     coverageOutputDir: None
(INFO) ArmoryUtils.py:1216 -     armoryDBDir     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiPort     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     useTorSettings  : False
(INFO) ArmoryUtils.py:1216 -     netlog          : False
(INFO) ArmoryUtils.py:1216 -     keypool         : 100
(INFO) ArmoryUtils.py:1216 -     coverageInclude : None
(INFO) ArmoryUtils.py:1216 -     forceOnline     : False
(INFO) ArmoryUtils.py:1216 -     skipAnnounceCheck: False
(INFO) ArmoryUtils.py:1216 -     redownload      : False
(INFO) ArmoryUtils.py:1216 -     multisigFile    : DEFAULT
(INFO) ArmoryUtils.py:1216 -     disableTorrent  : False
(INFO) ArmoryUtils.py:1216 -     testAnnounceCode: False
(INFO) ArmoryUtils.py:1216 -     mtdebug         : False
(INFO) ArmoryUtils.py:1216 -     logDisable      : False
(INFO) ArmoryUtils.py:1216 -     settingsPath    : /home/thomas/.armory/ArmorySettings.txt
(INFO) ArmoryUtils.py:1216 -     verbosity       : None
(INFO) ArmoryUtils.py:1216 -     doDebug         : True
(INFO) ArmoryUtils.py:1216 -     enableDetSign   : True
(INFO) ArmoryUtils.py:1216 -     testnet         : False
(INFO) ArmoryUtils.py:1216 -     rpcport         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiHome     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiRpcport  : DEFAULT
(INFO) ArmoryUtils.py:1216 -     logFile         : /home/thomas/.armory/ArmoryQt.py.log.txt
(INFO) ArmoryUtils.py:1216 -     disableConfPermis: False
(INFO) ArmoryUtils.py:1217 - Other arguments:
(INFO) ArmoryUtils.py:1220 - ************************************************************
(INFO) ArmoryUtils.py:1615 - C++ block utilities loaded successfully
(INFO) BDM.py:404 - Armory loaded in offline-mode.  Will not attempt to load
(INFO) BDM.py:405 - blockchain without explicit command to do so.
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(DEBUG) ArmoryQt.py:7076 - Checking for already open socket...
(INFO) ArmoryUtils.py:3521 - Using settings file: /home/thomas/.armory/ArmorySettings.txt
(INFO) announcefetch.py:95 - Reading files in fetcher directory:
(INFO) ArmoryQt.py:2735 - loadWalletsAndSettings
(INFO) ArmoryQt.py:2789 - Loading wallets...
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/databases is a directory.
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/atisignedannounce is a directory.
(INFO) ArmoryQt.py:2848 - Number of wallets read in: 0
(INFO) ArmoryQt.py:2862 - Loading Multisig Lockboxes
(INFO) ArmoryQt.py:2297 - Setting up networking...
(ERROR) ArmoryUtils.py:3752 - Error checking for internet connection
Traceback (most recent call last):
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 3749, in isInternetAvailable
    urllib2.urlopen('http://microsoft.com', timeout=CLI_OPTIONS.nettimeout)
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
    raise URLError(err)
URLError:
(ERROR) ArmoryUtils.py:3753 - Run --skip-online-check if you think this is an error
(INFO) ArmoryQt.py:2326 - Internet status: 1
(INFO) ArmoryQt.py:2441 - startBitcoindIfNecessary
(WARNING) ArmoryQt.py:2443 - Not online, will not start bitcoind
(DEBUG) ArmoryQt.py:1411 - setupSystemTray
(INFO) ArmoryQt.py:1514 - setupUriRegistration
(INFO) ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command
(INFO) ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin
(INFO) ArmoryUtils.py:600 - Executing popen: find /home/thomas -type f -name "mimeTypes.rdf"
(DEBUG) ArmoryQt.py:4361 - setupDashboard
(INFO) ArmoryQt.py:664 - Usermode: Expert
(INFO) ArmoryQt.py:1809 - Changing usermode:
(INFO) ArmoryQt.py:1810 -    From: Expert
(INFO) ArmoryQt.py:1818 -      To: Expert
(INFO) ArmoryQt.py:5766 - Dashboard switched to auto-OfflineNoSatoshiNoInternet
(DEBUG) ArmoryQt.py:2916 - getFileLoad
(ERROR) announcefetch.py:186 - No file with ID=announce was fetched
(ERROR) announcefetch.py:186 - No file with ID=changelog was fetched
(ERROR) announcefetch.py:186 - No file with ID=downloads was fetched
(WARNING) ArmoryQt.py:2004 - No Armory links in the downloads list
(WARNING) ArmoryQt.py:2064 - No Satoshi links in the downloads list
(INFO) ArmoryQt.py:3859 - Copying imported wallet to: /home/thomas/.armory/armory_263W7Y9ef_decrypt.wallet
(DEBUG) PyBtcWallet.py:2354 - Creating backup file /home/thomas/.armory/armory_263W7Y9ef_decrypt_backup.wallet
(INFO) ArmoryQt.py:3491 - addWalletToApplication
Illegal instruction (core dumped)
legendary
Activity: 3766
Merit: 1364
Armory Developer
August 18, 2015, 12:06:45 PM
#6
That's the first time I see it choke like this. I have little to help you with without a backtrace. Do you have another machine you can create a mock wallet on? Same software, different hardware kinda test.
newbie
Activity: 58
Merit: 0
August 18, 2015, 11:21:28 AM
#5
Quote
OSError: [Errno 2] No such file or directory: '/home/thomas/.bitcoin/'

It failed here and halted the entire process of discovering system specs. Start in offline mode or create that folder.

Thank you. I do start in offline mode, though, with the --offline flag. Creating that directory did seem to correct the detected system specs, but Armory still crashes when I try to create a new wallet. More specifically it does so when I have typed the password for the third time and click "Next".

Code:
$ armory --offline --debug
(INFO) ArmoryUtils.py:1076 - C++ block utilities loaded successfully
(INFO) ArmoryUtils.py:600 - Executing popen: free -m
(INFO) ArmoryUtils.py:600 - Executing popen: ['cat', '/proc/cpuinfo']
(INFO) ArmoryUtils.py:1186 -
(INFO) ArmoryUtils.py:1187 -
(INFO) ArmoryUtils.py:1188 -
(INFO) ArmoryUtils.py:1189 - ************************************************************
(INFO) ArmoryUtils.py:1190 - Invoked: /usr/lib/armory/ArmoryQt.py --offline --debug
(INFO) ArmoryUtils.py:1191 - ************************************************************
(INFO) ArmoryUtils.py:1192 - Loading Armory Engine:
(INFO) ArmoryUtils.py:1193 -    Armory Version        : 0.93.2
(INFO) ArmoryUtils.py:1194 -    Armory Build:         : 85959b20d8
(INFO) ArmoryUtils.py:1195 -    PyBtcWallet  Version  : 1.35
(INFO) ArmoryUtils.py:1196 - Detected Operating system: Linux
(INFO) ArmoryUtils.py:1197 -    OS Variant            : Ubuntu-12.04-precise
(INFO) ArmoryUtils.py:1198 -    User home-directory   : /home/thomas
(INFO) ArmoryUtils.py:1199 -    Satoshi BTC directory : /home/thomas/.bitcoin/
(INFO) ArmoryUtils.py:1200 -    Armory home dir       : /home/thomas/.armory/
(INFO) ArmoryUtils.py:1201 - Detected System Specs    :
(INFO) ArmoryUtils.py:1202 -    Total Available RAM   : 0.48 GB
(INFO) ArmoryUtils.py:1203 -    CPU ID string         : Intel(R) Pentium(R) M processor 1.86GHz
(INFO) ArmoryUtils.py:1204 -    Number of CPU cores   : 1 cores
(INFO) ArmoryUtils.py:1205 -    System is 64-bit      : False
(INFO) ArmoryUtils.py:1206 -    Preferred Encoding    : UTF-8
(INFO) ArmoryUtils.py:1207 -    Machine Arch          : i686
(INFO) ArmoryUtils.py:1208 -    Available HDD (ARM)   : 49 GB
(INFO) ArmoryUtils.py:1209 -    Available HDD (BTC)   : 49 GB
(INFO) ArmoryUtils.py:1210 -
(INFO) ArmoryUtils.py:1211 - Network Name: Main Network
(INFO) ArmoryUtils.py:1212 - Satoshi Port: 8333
(INFO) ArmoryUtils.py:1213 - Do wlt check: True
(INFO) ArmoryUtils.py:1214 - Named options/arguments to armoryengine.py:
(INFO) ArmoryUtils.py:1216 -     nettimeout      : 2
(INFO) ArmoryUtils.py:1216 -     rescan          : False
(INFO) ArmoryUtils.py:1216 -     ignoreAllZC     : False
(INFO) ArmoryUtils.py:1216 -     enableSupernode : False
(INFO) ArmoryUtils.py:1216 -     disableModules  : False
(INFO) ArmoryUtils.py:1216 -     port            : None
(INFO) ArmoryUtils.py:1216 -     interport       : 8223
(INFO) ArmoryUtils.py:1216 -     skipStatsReport : False
(INFO) ArmoryUtils.py:1216 -     forceWalletCheck: False
(INFO) ArmoryUtils.py:1216 -     rebuild         : False
(INFO) ArmoryUtils.py:1216 -     datadir         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     clearMempool    : False
(INFO) ArmoryUtils.py:1216 -     offline         : True
(INFO) ArmoryUtils.py:1216 -     coverageOutputDir: None
(INFO) ArmoryUtils.py:1216 -     armoryDBDir     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiPort     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     useTorSettings  : False
(INFO) ArmoryUtils.py:1216 -     netlog          : False
(INFO) ArmoryUtils.py:1216 -     keypool         : 100
(INFO) ArmoryUtils.py:1216 -     coverageInclude : None
(INFO) ArmoryUtils.py:1216 -     forceOnline     : False
(INFO) ArmoryUtils.py:1216 -     skipAnnounceCheck: False
(INFO) ArmoryUtils.py:1216 -     redownload      : False
(INFO) ArmoryUtils.py:1216 -     multisigFile    : DEFAULT
(INFO) ArmoryUtils.py:1216 -     disableTorrent  : False
(INFO) ArmoryUtils.py:1216 -     testAnnounceCode: False
(INFO) ArmoryUtils.py:1216 -     mtdebug         : False
(INFO) ArmoryUtils.py:1216 -     logDisable      : False
(INFO) ArmoryUtils.py:1216 -     settingsPath    : /home/thomas/.armory/ArmorySettings.txt
(INFO) ArmoryUtils.py:1216 -     verbosity       : None
(INFO) ArmoryUtils.py:1216 -     doDebug         : True
(INFO) ArmoryUtils.py:1216 -     enableDetSign   : True
(INFO) ArmoryUtils.py:1216 -     testnet         : False
(INFO) ArmoryUtils.py:1216 -     rpcport         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiHome     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiRpcport  : DEFAULT
(INFO) ArmoryUtils.py:1216 -     logFile         : /home/thomas/.armory/ArmoryQt.py.log.txt
(INFO) ArmoryUtils.py:1216 -     disableConfPermis: False
(INFO) ArmoryUtils.py:1217 - Other arguments:
(INFO) ArmoryUtils.py:1220 - ************************************************************
(INFO) ArmoryUtils.py:1615 - C++ block utilities loaded successfully
(INFO) BDM.py:404 - Armory loaded in offline-mode.  Will not attempt to load
(INFO) BDM.py:405 - blockchain without explicit command to do so.
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(DEBUG) ArmoryQt.py:7076 - Checking for already open socket...
(INFO) ArmoryUtils.py:3521 - Using settings file: /home/thomas/.armory/ArmorySettings.txt
(INFO) announcefetch.py:95 - Reading files in fetcher directory:
(INFO) ArmoryQt.py:2735 - loadWalletsAndSettings
(INFO) ArmoryQt.py:2789 - Loading wallets...
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/databases is a directory.
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/atisignedannounce is a directory.
(INFO) ArmoryQt.py:2848 - Number of wallets read in: 0
(INFO) ArmoryQt.py:2862 - Loading Multisig Lockboxes
(INFO) ArmoryQt.py:2297 - Setting up networking...
(ERROR) ArmoryUtils.py:3752 - Error checking for internet connection
Traceback (most recent call last):
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 3749, in isInternetAvailable
    urllib2.urlopen('http://microsoft.com', timeout=CLI_OPTIONS.nettimeout)
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
    raise URLError(err)
URLError:
(ERROR) ArmoryUtils.py:3753 - Run --skip-online-check if you think this is an error
(INFO) ArmoryQt.py:2326 - Internet status: 1
(INFO) ArmoryQt.py:2441 - startBitcoindIfNecessary
(WARNING) ArmoryQt.py:2443 - Not online, will not start bitcoind
(DEBUG) ArmoryQt.py:1411 - setupSystemTray
(INFO) ArmoryQt.py:1514 - setupUriRegistration
(INFO) ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command
(INFO) ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin
(INFO) ArmoryUtils.py:600 - Executing popen: find /home/thomas -type f -name "mimeTypes.rdf"
(DEBUG) ArmoryQt.py:4361 - setupDashboard
(INFO) ArmoryQt.py:664 - Usermode: Expert
(INFO) ArmoryQt.py:1809 - Changing usermode:
(INFO) ArmoryQt.py:1810 -    From: Expert
(INFO) ArmoryQt.py:1818 -      To: Expert
(INFO) ArmoryQt.py:5766 - Dashboard switched to auto-OfflineNoSatoshiNoInternet
(INFO) ArmoryQt.py:1278 - Adding 23 keypress events to the entropy pool
(INFO) ArmoryQt.py:1280 - Adding 1.5 kB bytes of filesystem data to the entropy pool
(INFO) ArmoryQt.py:1282 - Adding 232.1 kB bytes from desktop screenshot to the entropy pool
(INFO) PyBtcWallet.py:802 - ***Creating new deterministic wallet
(INFO) PyBtcWallet.py:808 - (with encryption)
(INFO) PyBtcWallet.py:810 - Target (time,RAM)=(0.250,33554432)
Illegal instruction (core dumped)
legendary
Activity: 3766
Merit: 1364
Armory Developer
August 18, 2015, 10:58:24 AM
#4
Quote
OSError: [Errno 2] No such file or directory: '/home/thomas/.bitcoin/'

It failed here and halted the entire process of discovering system specs. Start in offline mode or create that folder.
newbie
Activity: 58
Merit: 0
August 18, 2015, 10:54:29 AM
#3
I'm not aware of any such plans at the moment. That said, we are working on a setup that should make it easier to support multiple offline bundles. No promises but hopefully the stuff we're working on will make bundle support much easier.

Sounds great! If that new setup doesn't make it in time, I hope that at least a 14.04 offline bundle will be considered for Armory 0.94.

Trying out the 32 bit offline bundle of Armory 0.93.2 on a freshly installed Ubuntu 12.04.5 (32 bit) on an old IBM laptop, it installed fine. However, every time I try to create a new wallet, I consistenly get an "Illegal instruction (core dumped)" error and Armory crashes. Armory reports the following:

Code:
$ armory --offline --debug
(INFO) ArmoryUtils.py:1076 - C++ block utilities loaded successfully
(INFO) ArmoryUtils.py:600 - Executing popen: free -m
(INFO) ArmoryUtils.py:600 - Executing popen: ['cat', '/proc/cpuinfo']
(ERROR) ArmoryUtils.py:1174 - Error getting system details:
Traceback (most recent call last):
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 1172, in
    SystemSpecs = GetSystemDetails()
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 1167, in GetSystemDetails
    out.HddAvailB = getHddSize(BTC_HOME_DIR)    / (1024**3)
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 1164, in getHddSize
    s = os.statvfs(adir)
OSError: [Errno 2] No such file or directory: '/home/thomas/.bitcoin/'
(ERROR) ArmoryUtils.py:1175 - Skipping.
(INFO) ArmoryUtils.py:1186 -
(INFO) ArmoryUtils.py:1187 -
(INFO) ArmoryUtils.py:1188 -
(INFO) ArmoryUtils.py:1189 - ************************************************************
(INFO) ArmoryUtils.py:1190 - Invoked: /usr/lib/armory/ArmoryQt.py --offline --debug
(INFO) ArmoryUtils.py:1191 - ************************************************************
(INFO) ArmoryUtils.py:1192 - Loading Armory Engine:
(INFO) ArmoryUtils.py:1193 -    Armory Version        : 0.93.2
(INFO) ArmoryUtils.py:1194 -    Armory Build:         : 85959b20d8
(INFO) ArmoryUtils.py:1195 -    PyBtcWallet  Version  : 1.35
(INFO) ArmoryUtils.py:1196 - Detected Operating system: Linux
(INFO) ArmoryUtils.py:1197 -    OS Variant            : Ubuntu-12.04-precise
(INFO) ArmoryUtils.py:1198 -    User home-directory   : /home/thomas
(INFO) ArmoryUtils.py:1199 -    Satoshi BTC directory : /home/thomas/.bitcoin/
(INFO) ArmoryUtils.py:1200 -    Armory home dir       : /home/thomas/.armory/
(INFO) ArmoryUtils.py:1201 - Detected System Specs    :
(INFO) ArmoryUtils.py:1202 -    Total Available RAM   : -1.00 GB
(INFO) ArmoryUtils.py:1203 -    CPU ID string         : Unknown
(INFO) ArmoryUtils.py:1204 -    Number of CPU cores   : -1 cores
(INFO) ArmoryUtils.py:1205 -    System is 64-bit      : Unknown
(INFO) ArmoryUtils.py:1206 -    Preferred Encoding    : UTF-8
(INFO) ArmoryUtils.py:1207 -    Machine Arch          : i686
(INFO) ArmoryUtils.py:1208 -    Available HDD (ARM)   : -1 GB
(INFO) ArmoryUtils.py:1209 -    Available HDD (BTC)   : -1 GB
(INFO) ArmoryUtils.py:1210 -
(INFO) ArmoryUtils.py:1211 - Network Name: Main Network
(INFO) ArmoryUtils.py:1212 - Satoshi Port: 8333
(INFO) ArmoryUtils.py:1213 - Do wlt check: True
(INFO) ArmoryUtils.py:1214 - Named options/arguments to armoryengine.py:
(INFO) ArmoryUtils.py:1216 -     nettimeout      : 2
(INFO) ArmoryUtils.py:1216 -     rescan          : False
(INFO) ArmoryUtils.py:1216 -     ignoreAllZC     : False
(INFO) ArmoryUtils.py:1216 -     enableSupernode : False
(INFO) ArmoryUtils.py:1216 -     disableModules  : False
(INFO) ArmoryUtils.py:1216 -     port            : None
(INFO) ArmoryUtils.py:1216 -     interport       : 8223
(INFO) ArmoryUtils.py:1216 -     skipStatsReport : False
(INFO) ArmoryUtils.py:1216 -     forceWalletCheck: False
(INFO) ArmoryUtils.py:1216 -     rebuild         : False
(INFO) ArmoryUtils.py:1216 -     datadir         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     clearMempool    : False
(INFO) ArmoryUtils.py:1216 -     offline         : True
(INFO) ArmoryUtils.py:1216 -     coverageOutputDir: None
(INFO) ArmoryUtils.py:1216 -     armoryDBDir     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiPort     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     useTorSettings  : False
(INFO) ArmoryUtils.py:1216 -     netlog          : False
(INFO) ArmoryUtils.py:1216 -     keypool         : 100
(INFO) ArmoryUtils.py:1216 -     coverageInclude : None
(INFO) ArmoryUtils.py:1216 -     forceOnline     : False
(INFO) ArmoryUtils.py:1216 -     skipAnnounceCheck: False
(INFO) ArmoryUtils.py:1216 -     redownload      : False
(INFO) ArmoryUtils.py:1216 -     multisigFile    : DEFAULT
(INFO) ArmoryUtils.py:1216 -     disableTorrent  : False
(INFO) ArmoryUtils.py:1216 -     testAnnounceCode: False
(INFO) ArmoryUtils.py:1216 -     mtdebug         : False
(INFO) ArmoryUtils.py:1216 -     logDisable      : False
(INFO) ArmoryUtils.py:1216 -     settingsPath    : /home/thomas/.armory/ArmorySettings.txt
(INFO) ArmoryUtils.py:1216 -     verbosity       : None
(INFO) ArmoryUtils.py:1216 -     doDebug         : True
(INFO) ArmoryUtils.py:1216 -     enableDetSign   : True
(INFO) ArmoryUtils.py:1216 -     testnet         : False
(INFO) ArmoryUtils.py:1216 -     rpcport         : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiHome     : DEFAULT
(INFO) ArmoryUtils.py:1216 -     satoshiRpcport  : DEFAULT
(INFO) ArmoryUtils.py:1216 -     logFile         : /home/thomas/.armory/ArmoryQt.py.log.txt
(INFO) ArmoryUtils.py:1216 -     disableConfPermis: False
(INFO) ArmoryUtils.py:1217 - Other arguments:
(INFO) ArmoryUtils.py:1220 - ************************************************************
(INFO) ArmoryUtils.py:1615 - C++ block utilities loaded successfully
(INFO) BDM.py:404 - Armory loaded in offline-mode.  Will not attempt to load
(INFO) BDM.py:405 - blockchain without explicit command to do so.
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(DEBUG) ArmoryQt.py:7076 - Checking for already open socket...
(INFO) ArmoryUtils.py:3521 - Using settings file: /home/thomas/.armory/ArmorySettings.txt
(INFO) announcefetch.py:95 - Reading files in fetcher directory:
(INFO) ArmoryQt.py:2735 - loadWalletsAndSettings
(INFO) ArmoryQt.py:2789 - Loading wallets...
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/databases is a directory.
(DEBUG) ArmoryUtils.py:1046 - /home/thomas/.armory/atisignedannounce is a directory.
(INFO) ArmoryQt.py:2848 - Number of wallets read in: 0
(INFO) ArmoryQt.py:2862 - Loading Multisig Lockboxes
(INFO) ArmoryQt.py:2297 - Setting up networking...
(ERROR) ArmoryUtils.py:3752 - Error checking for internet connection
Traceback (most recent call last):
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 3749, in isInternetAvailable
    urllib2.urlopen('http://microsoft.com', timeout=CLI_OPTIONS.nettimeout)
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
    raise URLError(err)
URLError:
(ERROR) ArmoryUtils.py:3753 - Run --skip-online-check if you think this is an error
(INFO) ArmoryQt.py:2326 - Internet status: 1
(INFO) ArmoryQt.py:2441 - startBitcoindIfNecessary
(WARNING) ArmoryQt.py:2443 - Not online, will not start bitcoind
(DEBUG) ArmoryQt.py:1411 - setupSystemTray
(INFO) ArmoryQt.py:1514 - setupUriRegistration
(INFO) ArmoryUtils.py:600 - Executing popen: gconftool-2 --get /desktop/gnome/url-handlers/bitcoin/command
(INFO) ArmoryUtils.py:600 - Executing popen: xdg-mime query default x-scheme-handler/bitcoin
(INFO) ArmoryUtils.py:600 - Executing popen: find /home/thomas -type f -name "mimeTypes.rdf"
(DEBUG) ArmoryQt.py:4361 - setupDashboard
(INFO) ArmoryQt.py:664 - Usermode: Expert
(INFO) ArmoryQt.py:1809 - Changing usermode:
(INFO) ArmoryQt.py:1810 -    From: Expert
(INFO) ArmoryQt.py:1818 -      To: Expert
(INFO) ArmoryQt.py:5766 - Dashboard switched to auto-OfflineNoSatoshiNoInternet
(ERROR) announcefetch.py:186 - No file with ID=announce was fetched
(ERROR) announcefetch.py:186 - No file with ID=changelog was fetched
(ERROR) announcefetch.py:186 - No file with ID=downloads was fetched
(WARNING) ArmoryQt.py:2004 - No Armory links in the downloads list
(WARNING) ArmoryQt.py:2064 - No Satoshi links in the downloads list
(INFO) ArmoryQt.py:1278 - Adding 25 keypress events to the entropy pool
(INFO) ArmoryQt.py:1280 - Adding 1.5 kB bytes of filesystem data to the entropy pool
(INFO) ArmoryQt.py:1282 - Adding 264.9 kB bytes from desktop screenshot to the entropy pool
(INFO) PyBtcWallet.py:802 - ***Creating new deterministic wallet
(INFO) PyBtcWallet.py:808 - (with encryption)
(INFO) PyBtcWallet.py:810 - Target (time,RAM)=(0.250,33554432)
Illegal instruction (core dumped)

Notice, though, how RAM and CPU cores (and a few others) are reported as a negative number. The computer's actual specs are low, but not negative Smiley
Is the computer too underspec'ed to run Armory offline? That would seem a bit strange, though, since I've been running it on a Raspberry Pi 1 (with 512 MB RAM).

https://i.imgur.com/CMyQbfk.png
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
August 12, 2015, 04:17:22 PM
#2
I'm not aware of any such plans at the moment. That said, we are working on a setup that should make it easier to support multiple offline bundles. No promises but hopefully the stuff we're working on will make bundle support much easier.
newbie
Activity: 58
Merit: 0
August 12, 2015, 03:46:43 PM
#1
It seems like the offline bundle is for Ubuntu 12.04 (exact), which is a 4½ years old release. Are there any plans to do offline bundles for newer Ubuntus like 15.04, or perhaps just the latest LTS 14.04?

I know 12.04 is still maintained, but that doesn't really matter much on a machine that never connects to the internet anyway -- and building a new cold storage, I would naturally go for a newer release, not download a release from 2012. But perhaps that's just me :-)
Jump to: