Editing Building on Microsoft Windows
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
This page is directed towards new developers that are interested in contributing to Octave. There should be little requirements to follow these steps. | |||
=Contributing to Octave= | =Contributing to Octave= | ||
Line 10: | Line 8: | ||
If you found something you'd like to fix or improve, check out the [https://savannah.gnu.org/bugs/?group=octave bug tracker]. It might have already been fixed in the development or (unreleased) stable version. | If you found something you'd like to fix or improve, check out the [https://savannah.gnu.org/bugs/?group=octave bug tracker]. It might have already been fixed in the development or (unreleased) stable version. | ||
Octave is version controlled in a [[Mercurial]] repository | Octave is version controlled in a [[Mercurial]] repository. There are several Mercurial clients for Windows. One that nicely integrates with the Windows Explorer and that offers an easy to learn user interface is [https://tortoisehg.bitbucket.io/download/index.html TortoiseHg]. | ||
There are several Mercurial clients for Windows. One that nicely integrates with the Windows Explorer and that offers an easy to learn user interface is [https://tortoisehg.bitbucket.io/download/index.html TortoiseHg]. | |||
It is also quite easy to create Mercurial patches with that software. Those are the preferred way of contributing to Octave. | It is also quite easy to create Mercurial patches with that software. Those are the preferred way of contributing to Octave. | ||
Line 18: | Line 14: | ||
If you want to contribute changes to C++ files or are interested in testing the latest development or (unreleased) stable release, you can build Octave from source. | If you want to contribute changes to C++ files or are interested in testing the latest development or (unreleased) stable release, you can build Octave from source. | ||
There is currently no maintained way to build Octave on Windows directly. But it still possible to build Octave on Windows machines using virtual machines or Microsoft's Windows Subsystem for Linux. | |||
==Virtual Machine== | ==Virtual Machine== | ||
Most of Octave's developers are running | Most of Octave's developers are running Ubuntu (citation needed). So this is probably the Linux distribution for which you are most likely to get help if you should run into issues. | ||
[https://www.vmware.com/products/workstation-player.html VMWare Player] is free (as in no costs) for non-commercial use. | The [https://www.vmware.com/products/workstation-player.html VMWare Player] is free (as in no costs) for non-commercial use. | ||
There are several sources for free complete Linux VM images on the web. One of them is [https://www.osboxes.org/ osboxes.org]. | There are several sources for free complete Linux VM images on the web. One of them is [https://www.osboxes.org/ osboxes.org]. | ||
You can download an Ubuntu image for VMWare Player from [https://www.osboxes.org/ubuntu/#ubuntu-20-04-vmware | You can download an Ubuntu image for VMWare Player from there: [https://www.osboxes.org/ubuntu/#ubuntu-20-04-vmware Download] | ||
You also need a .vmx file to be able to start the Virtual Machine with VMWare Player. | You also need a .vmx file to be able to start the Virtual Machine with VMWare Player. | ||
Open a text editor and save the following to a file called "Ubuntu.vmx" next to the VM image you downloaded: | |||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
.encoding = "windows-1252" | .encoding = "windows-1252" | ||
Line 47: | Line 40: | ||
guestOS = "ubuntu-64" | guestOS = "ubuntu-64" | ||
virtualHW.productCompatibility = "hosted" | virtualHW.productCompatibility = "hosted" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Change the line with | Change the line with "Ubuntu.vmdk" to the actual file name of the Ubuntu image you just downloaded. | ||
You can start the VM by double-clicking on the .vmx file you just created. | You can start the VM by double-clicking on the .vmx file you just created. | ||
Line 55: | Line 48: | ||
Change the amount of memory or the number of processors you want to assign to the VM in the Virtual Machine settings in VMWare Player. | Change the amount of memory or the number of processors you want to assign to the VM in the Virtual Machine settings in VMWare Player. | ||
The login data for VMs downloaded from osboxes is: | The login data for VMs downloaded from osboxes is: | ||
username: osboxes | username: osboxes | ||
password: osboxes.org | password: osboxes.org | ||
Once you started the VM and logged in, continue as if you would run [[Octave_for_Debian_systems#The_right_way | Once you started the VM and logged in, continue as if you would run Ubuntu natively: [[Octave_for_Debian_systems#The_right_way Octave for Ubuntu]] | ||
==Windows Subsystem for Linux== | ==Windows Subsystem for Linux== | ||
The Windows Subsystem for Linux (WSL) was not very interesting for serious development in its first version. Many of the shortcomings | The Windows Subsystem for Linux (WSL) was not very interesting for serious development in its first version. Many of the shortcomings have been fixed in WSL2 which was released together with Windows 10 Update 2004. | ||
To install WSL2 on Windows, follow the instructions by Microsoft: | |||
To install WSL2 on Windows, follow the [https://docs.microsoft.com/en-us/windows/wsl/install-win10 | [https://docs.microsoft.com/en-us/windows/wsl/install-win10] | ||
WSL2 is basically a virtual machine running the Linux kernel that is more closely integrated into Windows. But it also has some limitations (see below). | WSL2 is basically a virtual machine running the Linux kernel that is more closely integrated into Windows. But it also has some limitations (see below). | ||
Again it is possible to choose from several different Linux | Again it is possible to choose from several different Linux distribution. But for reasons already mentioned, you should choose Ubuntu. | ||
WSL (or WSL2) does not contain an X server. The X server on Linux is necessary to present program windows to the users. So by default, WSL is only a command line interface. | WSL (or WSL2) does not contain an X server. The X server on Linux is necessary to present program windows to the users. So by default, WSL is only a command line interface. | ||
Line 86: | Line 77: | ||
Because of the basic lack of a graphical user interface (even if somewhat mitigated with the X server), using WSL(2) is not recommended for beginners. | Because of the basic lack of a graphical user interface (even if somewhat mitigated with the X server), using WSL(2) is not recommended for beginners. | ||