Post
Topic
Board Armory
Re: Armory 0.95 is out
by
dellech
on 29/07/2017, 22:38:48 UTC
Hi,

thanks for finalizing the new release! I am keen to check it out Smiley

I get the following compilation error in Swig:
Code:
CppBlockUtils_wrap.cxx:3991:77: error: ‘type_name’ is not a member of ‘swig::traits’

Regards,
Michael

What OS and compiler are you using?

Hi

I encountered the same error and found a workaround. Successfully compiled Armory 0.96.1 for usage as my offline signer wallet.

I need a 32bit linux version (OpenSUSE Tumbleweed, GCC 7.2) because my cold wallet is on an old Pentium M laptop, so 64bit OS is not an option.
After the compilation error I tried to compile Armory on a Bananpi M1 with armbian. Same error here and I found the following workaround which also helped for the 32bit compile:

in the file BitcoinArmory/cppForSwig/CppBlockUtils.i on line 44 I added the "|| 1" at the end.
Code:
#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) || defined(__CLANG__) || 1
%typedef unsigned long long uint64_t;
#else
#if defined(__GNUC__) // Linux
%typedef long unsigned int uint64_t;
#else
%typedef unsigned long long uint64_t;
#endif
#endif

It seems that the definition for the case __GNUC__ is only valid for 64bit Intel/AMD targets. my addition simply forces the typedef unsigned long long  instead of long unsigned int.  That does the trick for x86_32 and arm7.

Offline wallet creation and signing work like a charm - I tried 2 small transactions signed with the resulting executables and everything went ok.

I do not know enough C++, python and swig to suggest the real solution, but my workaround might give a hint.


Cheers and many thanks for your work, Goatpig!