Hello again @goatpig,
just because I can, I tried compiling the loading_wallet branch on a Raspberry Pi 5, default Raspi-OS aarch_64.
There I could even use a venv to limit the python modules to the development environment.
The compile phase went fine, and it actually runs.
I was unable to try further at the moment, later I'll try if I can also create a wallet.
Due to the size of the SD card I'm using, I can't run bitcoind on it, so I'm limited to --offline testing
It's very interesting, if the final release will also work I might consider the option to keep my signing wallet on an SD card (self-contained with OS and Armory) and put it into my Raspberry just when needed, while the Raspberry itself will be used for other purposes (retrogaming mostly) the rest of the time.
Now, while I compiled Armory in this other environment, I noticed a couple things that initially I thought were specific of my first environment, but actually happened here too:
1.
I used the suggested layout (the three directories on the same tree level) as written in the build instructions, but both times I had to include the explicit path for libbtc and libwebsockets for it to work. It's not a big deal but not consistant with the instructions.
2.
Armory asks for libbtc.so.0 at runtime. It is built under libbtc/.libs/libbtc.so.0.0.0 and I have to manually copy it on the BitcoinArmory folder (unless I want to have to put it in some system-wide directory). I wonder how this would work in the final release and if it's correct to move it, since there's no mention of that in the build instructions.
3.
There is an error when starting Armory and in the home folder of the user there isn't a .bitcoin folder. A simple empty directory is enough to skip it, but I was wondering if this exception should be handled better, since in offline environments that's very likely to happen.
(ERROR) ArmoryUtils.py:1060 - Error getting system details:
Traceback (most recent call last):
File "/home/test/Armory/BitcoinArmory/armoryengine/ArmoryUtils.py", line 1058, in <module>
SystemSpecs = GetSystemDetails()
^^^^^^^^^^^^^^^^^^
File "/home/test/Armory/BitcoinArmory/armoryengine/ArmoryUtils.py", line 1053, in GetSystemDetails
out.HddAvailB = getHddSize(BTC_HOME_DIR) // (1024**3)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/test/Armory/BitcoinArmory/armoryengine/ArmoryUtils.py", line 1050, in getHddSize
s = os.statvfs(adir)
^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/test/.bitcoin'
(ERROR) ArmoryUtils.py:1061 - Skipping.
4.
At first run, there's an error probably due to the wallet list being empty:
(ERROR) Traceback (most recent call last):
File "/home/test/Armory/BitcoinArmory/ArmoryQt.py", line 1253, in openSettings
dlgSettings = DlgSettings(self, self)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/test/Armory/BitcoinArmory/qtdialogs/DlgSettings.py", line 37, in __init__
defaultWltID = self.main.walletIDList[0]
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ArmoryMainWindow' object has no attribute 'walletIDList'
This seems to not happen again on subsequents runs
5.
In the wallet creation, after step 3 (validate the password a third time) and step 4 (create backup, that is still not working by the way) some time passes (creating the actual wallet keys I assume) but there's no visual hint about Armory doing anything and it just look freezed until the step 4 dialog appears. I would suggest at least changing the cursor to a "busy" icon to signal the user that the "next" button click was received.
Regards