Bitcoin Forum
May 27, 2024, 11:44:09 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Windows Subsystem For Linux  (Read 513 times)
droark (OP)
Sr. Member
****
Offline Offline

Activity: 525
Merit: 282


View Profile WWW
March 25, 2017, 09:31:49 PM
 #1

Hello. Just FYI, if anybody has Windows 10 64-bit, it should be possible to compile Armory without dealing with Visual Studio. Follow the directions under Bitcoin Core for installing Windows Subsystem For Linux (basically a Windows-friendly version of Ubuntu) and then follow Armory's build instructions. The only catch is that the binary will be a Linux binary, albeit one you can run under WSL.

Keep in mind that I haven't tested this for myself. (I did cross-compile Core, which worked fine.) It should be possible to run the Windows-specific Core binary and WSL-compiled Armory without problems. However, you'll probably have to tell Armory to look under a different location for Core's blockchain, and for your Armory wallets and such if you've been running regular Windows builds.

Thanks, and I hope this was useful to somebody!
achow101
Staff
Legendary
*
Offline Offline

Activity: 3402
Merit: 6659


Just writing some code


View Profile WWW
March 26, 2017, 12:37:01 AM
 #2

I was trying to do this, but I have not been able to get make to complete with the WSL.

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

Activity: 525
Merit: 282


View Profile WWW
March 26, 2017, 02:26:21 AM
 #3

Interesting. I'll play with it when I get a chance. My offhand guess is that Autotools is somehow causing problems. We'll see.
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1347

Armory Developer


View Profile
March 26, 2017, 03:36:34 PM
 #4

There were some compile errors, fixed with the last push. Please try it again.

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

Activity: 525
Merit: 282


View Profile WWW
March 27, 2017, 02:56:45 AM
 #5

There were some compile errors, fixed with the last push. Please try it again.

Code:
(ERROR) Traceback (most recent call last):
  File "/Users/droark/Projects/private-goatpig-BitcoinArmory/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/local/lib/armory/ArmoryQt.py", line 5848, in <module>
    checkForAlreadyOpen()
  File "/Users/droark/Projects/private-goatpig-BitcoinArmory/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/local/lib/armory/ArmoryQt.py", line 5829, in checkForAlreadyOpen
    from armoryengine.ProcessMutex import PySide_ProcessMutex

Looks like PySide_ProcessMutex isn't actually defined in the Python code. Perhaps it's in a file that hasn't been pushed?
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1347

Armory Developer


View Profile
March 27, 2017, 11:44:30 AM
 #6

In my great wisdom, I forgot to push one new file... Should be fixed now.

achow101
Staff
Legendary
*
Offline Offline

Activity: 3402
Merit: 6659


Just writing some code


View Profile WWW
March 27, 2017, 07:06:28 PM
 #7

Now that the build problems are fixed, I am able to compile Armory using the WSL, but it does not work. Firstly, the WSL does not allow programs with a GUI as it has no X server, so the Client and DB must be run separately. More importantly, the DB runs into a segfault a minute or two after starting it, so right now the WSL cannot be used.

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

Activity: 525
Merit: 282


View Profile WWW
March 27, 2017, 10:10:57 PM
Last edit: March 27, 2017, 11:29:18 PM by droark
 #8

Now that the build problems are fixed, I am able to compile Armory using the WSL, but it does not work. Firstly, the WSL does not allow programs with a GUI as it has no X server, so the Client and DB must be run separately. More importantly, the DB runs into a segfault a minute or two after starting it, so right now the WSL cannot be used.

Bummer. I thought it'd work. I suppose armoryd could work, although it's pretty out-of-date at this point, not to mention the DB issue. I've also noticed a couple of other odd issues related to where you run things. I'll make a post here if/when I figure everything out.

EDIT: Actually, this does kinda work. You have to install an X server (e.g., Xming) on Windows and then type "export DISPLAY=:0" under WSL before running Linux, but it does fire up the Armory GUI under Windows. This blog post talks about what's going on.

Granted, I don't have this fully running yet, and this isn't something I'd want to run for anything other than debugging purposes! It's still potentially an option if you really need or want it.

EDIT 2: In case anyone wants to play around with WSL, on top of installing everything in the Armory README, you'll need to install autoconf, libtool, python-pip, and pkg-config. You'll also need to use pip to install psutil. After that and the X server redirection mentioned above, you should be able to start Armory. (Whether or not it fully works may be a different story!)
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!