Title: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 02:07:10 AM Sorry to dredge this up from the past, but I've found questions relating to this with no real answers....
I'm trying to run ArmoryQt on win10-64, with ArmoryDB and bitcoind running on an Ubuntu VM -- Using armoryDB remotely is a new configuration for me, so I don't know if this issue is related to using 0.96.0.3-testing ArmoryQt is running from the following command-line Code: @runas /savecred /user:<redacted> "D:\Storage\<redacted>\armory\program\ArmoryQt.exe --datadir=D:\Storage\<redacted>\armory\data --armorydb-ip=<redacted> --armorydb-port=9002" ArmoryQt shows the splash screen, gets to 100%, then pops up "Errors occurred" with a reference to ArmoryQt.exe.log I think the relevant bits from the logfile are: Code: 2017-06-24 18:36:10 (INFO) -- ArmoryQt.py:1820 - startBitcoindIfNecessary ArmoryDB is running with just the binary (I fished it out of the Ubuntu package because I don't want to install 500MB of dependencies for it), with the following command: Code: ./ArmoryDB --satoshi-datadir="/data/bitcoind" --datadir="/data-ssd/armorydb" ArmoryDB does not react at all -- no log entries when I launch ArmoryQt. It does appear to be fully synced up and ready to go. Code: logging in /data-ssd/armorydb/dbLog.txt nginx is running on ubuntu, with the following config: Code: user www-data; I can connect to http://<redacted>:9002/ and I get a hex value returned Sorry for the long post, is there any more debug information I can get you, and do you have any idea what's going wrong with this setup? Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 25, 2017, 03:05:06 AM Code: fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; Does the file with the fcgi_params exist? Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 03:11:57 AM Part of the default nginx installation, /etc/nginx/fastcgi_params
Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 03:29:11 AM Most interesting -- running Wireshark I'm not seeing any connection from ArmoryQt at all. When I access the ArmoryDB URL in a browser Wireshark sees it
Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 03:47:02 AM I've tried going back to 0.96 -- same result
I've also tried disabling Windows Firewall -- same result ArmoryQt doesn't even appear to be trying to connect to the remote ArmoryDB -- At this point I think I'm doing a stupid, but I can't figure out what that might be... Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 25, 2017, 04:04:55 AM Code: --armorydb-port=9002 Try and put the port in quotes, it should be a string, not an integer. It's possible the arg parser sees it as an integer instead (Python is garbage after all). Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 04:38:29 AM No change. Armory does appear to be getting the options correctly
Running the following command: Code: runas /savecred /user:<redacted> "D:\Storage\<redacted>\armory-core\program\ArmoryQt.exe --datadir=D:\Storage\<redacted>\armory-core\data --armorydb-ip=\"192.168.192.217\" --armorydb-port=\"9002\"" Code: 2017-06-24 21:19:07 (INFO) -- ArmoryUtils.pyc:1280 - Named options/arguments to armoryengine.py: Is it possible to specify db_ip and db_port in a config file as opposed to the command line? I'm going to experiment with running Armory outside of my little sandbox for it... maybe it's something to do with how runas is parsing things? EDIT: No change when running without runas Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 25, 2017, 07:09:09 AM Quote Is it possible to specify db_ip and db_port in a config file as opposed to the command line? You can put any cli arg in armoryqt.conf (for the client) and armorydb.conf (for the db). These have to be located in the respective binary's datadir to be parsed. Your latest log doesn't even show a traceback, that's something at least. I know this stuff works because I have users running Windows clients vs Linux DBs. Can you build the code on Windows? Placing some key print statements could go a long way figuring out what's going on. Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 08:13:54 AM I apologize for any confusion regarding logging -- ArmoryQt has been consistently producing the following:
Code: (ERROR) ArmoryUtils.pyc:3744 - Unsupported language specified. Defaulting to English (en) I moved armorydb_ip and armorydb_port from the command-line into armoryqt.conf. Both with and without quotes on armorydb_port. No change in behavior. I'll look into setting up a Windows build environment, but I don't have high hopes of success.... Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 25, 2017, 08:56:22 AM I moved armorydb_ip and armorydb_port from the command-line into armoryqt.conf. Both with and without quotes on armorydb_port. No change in behavior. I'll look into setting up a Windows build environment, but I don't have high hopes of success.... The .conf processor always strips quote so it won't help there. You can try this fix: https://github.com/goatpig/BitcoinArmory/blob/testing/armoryengine/BDM.py#L189 concatenate port in str() Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 03:49:10 PM Not having a whole lot of luck here. The build instructions cover dependencies and what to do with them, but nowhere can I find documentation on how to _actually build it_ and package it for distribution.
Additionally, Visual Studio Express 2013 has vanished from the face of the planet. Best I can find is Visual Studio Express 2015. I've got it compiling, produces several thousand warnings and a handful of errors. I note several of them regard a missing \cppForSwig\fcgi\include\fastcgi.h Still banging my head on this EDIT - 29 errors, 28 of them for missing fastcgi.h, one for missing Python.h Vast majority of the 1015 warnings are for type conversions EDIT the EDIT - Whoops, some of these are for fcgiapp.h too... Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 25, 2017, 04:51:54 PM Quote Additionally, Visual Studio Express 2013 has vanished from the face of the planet. Best I can find is Visual Studio Express 2015. 2015 is fine Quote I've got it compiling You don't need to build the C++ code to just modify a line in Python. You can simply swap in the binaries from the packges. Quote produces several thousand warnings and a handful of errors. I note several of them regard a missing \cppForSwig\fcgi\include\fastcgi.h You have to init the submodules: Code: git submodule init Code: EDIT - 29 errors, 28 of them for missing fastcgi.h, one for missing Python.h You need to install Python and all of its dependencies. You have also need to make sure you picked the Release target and x64 platform. Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 25, 2017, 09:39:02 PM Unfortunately, I'm about ready to throw in the towel on this.
I've got the build progressing to the linking stage, where the linker is choking on a 170MB cryptopp.lib The latest version of Crypto++ compiles to a 33MB library, but it doesn't drop into armory -- looks like armory implemented a custom DetSign file/header into the previous version. Quote You don't need to build the C++ code to just modify a line in Python. You can simply swap in the binaries from the packges. I don't follow? I need to build the c++ executables in order to bundle them together into the final Armory .exes, yes? (I am in no way claiming to be a developer or in any way competent enough to be successful at tinkering at this level)Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 26, 2017, 01:03:04 AM Unfortunately, I'm about ready to throw in the towel on this. I've got the build progressing to the linking stage, where the linker is choking on a 170MB cryptopp.lib The latest version of Crypto++ compiles to a 33MB library, but it doesn't drop into armory -- looks like armory implemented a custom DetSign file/header into the previous version. Right click the cryptopp project in the solution explorer and pick "Build". I don't follow? I need to build the c++ executables in order to bundle them together into the final Armory .exes, yes? (I am in no way claiming to be a developer or in any way competent enough to be successful at tinkering at this level) No you don't. That executable is a "lie". It just "freezes" Python and the Armory scripts into an exec, but what it essentially does can be resumed to this: Code: python ArmoryQt.py If you setup Python on your system, you don't need to bother with the freezing process, you can just invoke Python from the command line/IDE instead. You don't need to build the C++ code as long as you swap in the binaries from the installer. You need Python installed whether you want to invoke the script manually or "freeze" into an executable. Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 26, 2017, 06:23:34 AM Having trouble with CppBlockUtils -- Python doesn't see it because it's got the _ in the filename
Code: C:\Users\armory-build\Desktop\BitcoinArmory>python ArmoryQt.py If I remove it Python wobbles for not having an init function? Code: C:\Users\armory-build\Desktop\BitcoinArmory>python ArmoryQt.py I tried adding the _ to the import line in ArmoryQt.py, which then failed on another import further down. I add the _ to ArmoryUtils.py and then it failed with: Code: Traceback (most recent call last): I also tried running from my fresh Win10 build VM with no previous config or bitcoind or anything else, just configured armoryDB IP and Port in armoryqt.conf and it's behaving exactly the same as on my workstation. I also tried it from a fresh Windows 7 VM, again same behavior. Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 26, 2017, 06:32:49 AM You need to copy _CppBlockUtils.pyd and CppBlockUtils.py
Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on June 26, 2017, 07:44:30 AM CppBlockUtils.py does not appear to exist in the source distribution....
Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: achow101 on June 26, 2017, 08:09:24 AM CppBlockUtils.py does not appear to exist in the source distribution.... That's a file that is generated by SWIG when you compile the C++ code.Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on June 26, 2017, 08:12:28 AM ugh you need to run swig to create that actually. You are stuck with getting the build process to work or waiting for a new one.
Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on July 10, 2017, 06:50:57 AM I'm pleased to report ArmoryQt on Windows is now able to connect to remote ArmoryDB as of 0.96.0.4-testing!
Thanks goatpig! Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: goatpig on July 10, 2017, 09:21:26 AM What build are you using?
Title: Re: ArmoryQt on Windows still broken with remote ArmoryDB on Ubuntu? Post by: skyhawk on July 10, 2017, 11:51:21 AM 0.96.0.4-beta-98578163de sourced from https://github.com/goatpig/BitcoinArmory/releases/tag/v0.96.0.4
|