Post
Topic
Board Armory
Re: Offline bundle for newer Ubuntus?
by
knahrvorn
on 19/08/2015, 07:43:00 UTC
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