gchiu
May 28, 2017, 8:42am
1
Presently, Bash in the Windows 10 Anniversary Update is based on Ubuntu 14.04, but Microsoft is working on support for the newer Ubuntu 16.04 LTS, too.
To Update
sudo apt-get update
sudo apt-get upgrade
You'll need Git
sudo apt-get install git
To clone the repository
cd /home
git clone https://github.com/metaeducation/ren-c.git
which clones the repo into the /home/ren-c/
directory
To compile for Linux
Install Make
sudo apt-get install make
Get r3-make
cd /home/ren-c/make
wget https://s3.amazonaws.com/metaeducation/r3-make/r3-make
sudo chmod +x r3-make
And compile
cd /home/ren-c/make
make -f makefile.boot
and this should compile with no errors. You should end up with a r3
which is already executable. Just type ./r3
To Install a cross compiler for Windows
Instructions on SO
sudo apt-get install mingw-w64
Then you can create 32-bit Windows executable with:
i686-w64-mingw32-gcc -o main32.exe main.c
And 64-bit Windows executable with:
x86_64-w64-mingw32-gcc -o main64.exe main.c
Note that these Windows executables will not work inside Linux Subsystem, only outside of it.
Need to Fix something?
cd /home/ren-c/src
grep -r thefunctionIwanttofix
Disk space left?
To see if you're running out of disk space
df
PS: need the commands for compiling ren-c here as well
I tried this, and it worked.
However, it doesn't make a lot of sense to me to do this when VirtualBox is free and available.
With a virtual machine, you have a convenient disk image file that is effectively a computer. You can snapshot it, send it around on the internet, etc. You do not have to deal with whatever quirks of the Microsoft-specific hosting are.
As I understand it, this is more of a hypervisor, and so it may perform better than your average VM. But still, I would not think it worth it.
gchiu
May 28, 2017, 9:03pm
3
When I am compiling on the windows side, I can use linux command line tools like grep
and find
to search etc.
Also when I used a vm, there was also the issue of the mouse not working so well inside the vm, and ports needed to be on a different address. Whereas server testing on linux uses the same port as the windows side.
VMs default to simulating a wired network connection. But you can choose to give them more direct access to the host's network interface if you wish.
gchiu
May 28, 2017, 9:08pm
5
and how do you easily solve moving files across from the vm to windows? Here I just can use cp
but with a vm I think I have to set up network shares.
If you have the tools installed in the VM, you can mount a folder on the host like any other drive.
https://help.ubuntu.com/community/VirtualBox/SharedFolders
You can also drag and drop files with the extensions, though I don't ever do that.
gchiu
May 28, 2017, 9:13pm
7
I'm sure that this can be easily argued ad infinitum
but for the thread, what are the specific commands to cross compile to windows ( I guess I can look at the travis-ci .yml to find out! ).
Well, how about you be the person who supports people interested the Windowsy-Linux.
And I will field questions about building in a VM.
Of course, this will be a problem if you start asking me questions and I deem the weirdness to be coming from your choice.
("slight smile" says Discourse)
gchiu
May 28, 2017, 9:17pm
9
Well, this thread is to help people like myself have an easier transition to using linux tools however they chose to use them.