Bitcoin Forum
May 02, 2024, 04:35:22 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Building Armoury from sources in 2023  (Read 77 times)
Desten (OP)
Sr. Member
****
Offline Offline

Activity: 357
Merit: 250


View Profile
March 14, 2023, 10:04:11 AM
 #1

Hi guys, hi @goatpig.

Tried to build ArmouryQT from sources following instructions at https://btcarmory.com/docs/building/ but seems like all of them are outdated.
I'm familiar with some things but trying to dig deep without success.

goatpig, can you update your docs to build wallet for now?

1) Ubuntu 22.04.2 says that almost all packages "apt install ..." are not exist and/or outdated.

2) Win 10 22H2 - I have installed MSVS 2022 and unsure it is possible/good for OS to install MVSE 2013U3, don't want to crack fine tuned machine.
swig 3.0.2 - there are swigwin-4.1.1, swig-4.1.1 (and outdated swigwin-3.0.2/swig-3.0.2) - swig or swigwin? outdated 3.0.2 or it is ok to use 4.1.1? lot of questions
python 2.7.8 - mine is Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)] on win3, do I need to downgrade/install another copy of copies? currently python's installations eats a ton of gigs, even MSVS 2022 wants it's own python, and each python wants "pip install" a ton of packages. There are number of identical/duplicate files Sad It's almost a madness.
python psutil 2.1.3 - I've made "py -2 -m pip install psutil --upgrade", so it is v5.9.4
python-Qt4 4.11.2 - I've downloaded and installed PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe (which options must be checked when installing and which are not needed?)
py2exe - downloaded and installed latest py2exe-0.6.9.win64-py2.7.amd64.exe
pywin32 2.19 - downloaded and installed pywin32-219.win-amd64-py2.7.exe, no more newer versions that support py2
NSIS 3.0+ - nsis-3.08-setup.exe

"To accommodate systems with multiple versions of python, some tweaks were made to distinguish between them" - I have both pythons 2 & 3 in %Path%, python currently have an easy option to select which version to run, for example "py -2", so I think it's not needed
"C:\Python27_64\Lib\site-packages\PyQt4\pyrcc4.exe is referenced by a build script even though default python installation does not have the _64. Either rename the base directory or modify BitcoinArmory/cppForSwig/BitcoinArmory_SwigDLL/build_installer_64.bat to reference the correct path" - I have "Z:\Devel\Python\Python27\Lib\site-packages\PyQt4\pyrcc4.exe" but there are no "BitcoinArmory/cppForSwig/BitcoinArmory_SwigDLL/build_installer_64.bat" after getting sources, there are no BitcoinArmory_SwigDLL directory (git clone --depth 1 https://github.com/goatpig/BitcoinArmory or git clone https://github.com/goatpig/BitcoinArmory).

"Make sure the following folders are in your PATH" - ok
"py2exe chokes on zope..." - zope? any words about zope previously, so installed with "py -2 -m pip install zope --upgrade" and created zero length Z:\Devel\Python\Python27\Lib\site-packages\zope\__init__.py
"Swig is not installed like the other packages" - tried to unpack swigwin-3.0.2.zip and swigwin-4.1.1.zip then renamed swigwin-3.0.2/swigwin-4.1.1 dirs to swigwin, there are swig.exe inside it

And there are End Of Document. Not clear what to do next...

tried py -2 ArmoryQt.py:
Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 40, in <module>
    import CppBlockUtils as Cpp
ImportError: No module named CppBlockUtils
tried run cppForSwig\BitcoinArmory.sln (read from some topics there) - MSVS 2022 started with ErrorMessageWindow "One or more projects... was not correctly loaded" with errors/warnings in debut output:
BitcoinArmory\cppForSwig\DBtests_Supernode\DBtests_Supernode.vcxproj : error  : can't load project file/can't find part path
there are no cppForSwig\DBtests_Supernode directory; this error printed twice

BitcoinArmory\cppForSwig\guardian\guardian.vcxproj : warning  : can't find building tools for VS 2013 (v120). To make a build with VS 2022 (v143), select "Project" menu or click RMB and click "change target platform". Install VS 2013 (v120) to build with VS 2013 (v120).

I've deleted "DBtests_Supernode" from left panel in VS 2022 then clicked "Project" and "Change target" (first line in submenu) then accepted all that was there - SDK 10.0 last installed, update instruments to v143, all checkboxes is on (guardian, cryptopp, BitcoinArmory_CppTests, LMDB_Win, BlockDataManager, BDM_Cliend, ContainerTests, DB1kIterTest). After clicking OK all 8 was successfully updated.
Clicked "Build" - "Build solution". Successful: 1, with errors: 7. 8636 lines of debug output and a lot of warnings and fatal errors.

Ok, digging again. To build v120 I need VS 2013. "Build tools VS 2013 is not enough, because no c++".
Downloaded MSVS 2013U5 original ISO from MS. It don't want to install - "Program Compatibility mode is on" / "is blocked by another condition" and no solitions found.
Then created Virtual Machine, installed new Win10, C:\Python27, psutil, etc (all what I've done in #2) then tried to install MSVS 2013U5 - the same "Program Compatibility mode is on" / "is blocked by another condition".
Then downloaded 2013U3 - still the same "compatibility is on" (it is not enabled anywhere).
So to just TRY to compile now I need to try downgrade everything, even OS? Total madness.
1714667722
Hero Member
*
Offline Offline

Posts: 1714667722

View Profile Personal Message (Offline)

Ignore
1714667722
Reply with quote  #2

1714667722
Report to moderator
1714667722
Hero Member
*
Offline Offline

Posts: 1714667722

View Profile Personal Message (Offline)

Ignore
1714667722
Reply with quote  #2

1714667722
Report to moderator
1714667722
Hero Member
*
Offline Offline

Posts: 1714667722

View Profile Personal Message (Offline)

Ignore
1714667722
Reply with quote  #2

1714667722
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714667722
Hero Member
*
Offline Offline

Posts: 1714667722

View Profile Personal Message (Offline)

Ignore
1714667722
Reply with quote  #2

1714667722
Report to moderator
1714667722
Hero Member
*
Offline Offline

Posts: 1714667722

View Profile Personal Message (Offline)

Ignore
1714667722
Reply with quote  #2

1714667722
Report to moderator
1714667722
Hero Member
*
Offline Offline

Posts: 1714667722

View Profile Personal Message (Offline)

Ignore
1714667722
Reply with quote  #2

1714667722
Report to moderator
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1345

Armory Developer


View Profile
March 14, 2023, 01:34:06 PM
 #2

Are you trying to build the dev branch or the latest stable release? Win or *nix? Pick one and I'll try to walk you througgh.

Desten (OP)
Sr. Member
****
Offline Offline

Activity: 357
Merit: 250


View Profile
March 14, 2023, 02:07:29 PM
 #3

I'm on Win10 x64 22H2 + VS 2022 + python2.7.8 (& 3.11) and trying to build ArmoryQT for windows from latest sources (with some changes in sources because current 0.96.5 is unusable; or without changes for beginnig just to be sure it builds ok). Also I have VM with Ubuntu 22.04.2 and can/want crosscompile for windows there if it is possible too.
Thank you
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1345

Armory Developer


View Profile
March 14, 2023, 03:18:50 PM
 #4

Oddly enough it's easier to build on Windows these days cause it doesn't come with a native python install. Ubuntu moved on from py2, which makes life harder.

Quote
Win 10 22H2 - I have installed MSVS 2022 and unsure it is possible/good for OS to install MVSE 2013U3, don't want to crack fine tuned machine.

You should be able to import a msvs 2013 project into 2022, it will offer you to convert it, which you should agree to. Then you need to get it to build, that's the worst part actually.

Quote
NSIS 3.0+ - nsis-3.08-setup.exe

That's to create the installer, not super useful tbh.

Quote
"Swig is not installed like the other packages" - tried to unpack swigwin-3.0.2.zip and swigwin-4.1.1.zip then renamed swigwin-3.0.2/swigwin-4.1.1 dirs to swigwin, there are swig.exe inside it

swig.exe needs to be available in your PATH, that's all you need to do with that.

Quote
Ok, digging again. To build v120 I need VS 2013. "Build tools VS 2013 is not enough, because no c++".

Look for MSVC community, or VS code. MSVS is a bundle (think Office). You want the C++ IDE only, the rest isn't useful.

Desten (OP)
Sr. Member
****
Offline Offline

Activity: 357
Merit: 250


View Profile
March 14, 2023, 03:59:09 PM
 #5

Quote
You should be able to import a msvs 2013 project into 2022
So I did this and there was a problems, all in first post.

Quote
swig.exe needs to be...
As I said in first post, all are available and calling all tools from any directory are working ("Make sure the following folders are in your PATH" - ok)

Quote
Look for MSVC community, or VS code
Any of the old versions don't want to install - last part of first post.

So nothing changed for that moment.
Desten (OP)
Sr. Member
****
Offline Offline

Activity: 357
Merit: 250


View Profile
March 14, 2023, 05:35:06 PM
Last edit: March 14, 2023, 10:40:50 PM by Desten
 #6

@goatpig, maybe the best would be if you set up fresh Win10 machine in VM, install VS 2022 and from that moment record a video of all steps building ArmoryQT?
It will be much more speaking and less time consuming for all. You can even record video without any sounds, just what you're doing, whats happening and a final positive result.
When I will have opportunity then I can write text instructions based on your record and give it to you to place to your site.

PS: at /building page at your site there are some blocks with code and there are something wrong with CSS so I decided that there are pictures or js mouse copy/paste disabling code and type most of the codes manually and only at last moment understood that it is selectable and right-mouse-button-clickable  Undecided
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1345

Armory Developer


View Profile
March 16, 2023, 11:26:39 AM
 #7

@goatpig, maybe the best would be if you set up fresh Win10 machine in VM, install VS 2022 and from that moment record a video of all steps building ArmoryQT?
It will be much more speaking and less time consuming for all. You can even record video without any sounds, just what you're doing, whats happening and a final positive result.
When I will have opportunity then I can write text instructions based on your record and give it to you to place to your site.

PS: at /building page at your site there are some blocks with code and there are something wrong with CSS so I decided that there are pictures or js mouse copy/paste disabling code and type most of the codes manually and only at last moment understood that it is selectable and right-mouse-button-clickable  Undecided

I'm abroad to be the best man at my brother's wedding, I'm nowhere near my work setup. You'd have to wait until Im back in late March to deliver that.

goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1345

Armory Developer


View Profile
March 16, 2023, 11:27:26 AM
 #8

PS: at /building page at your site there are some blocks with code and there are something wrong with CSS so I decided that there are pictures or js mouse copy/paste disabling code and type most of the codes manually and only at last moment understood that it is selectable and right-mouse-button-clickable  Undecided

I'm not familiar with gh-pages, Andy Chow contributed that part, I'll try to look into it too.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!