Note: If your existing version is MLwiN 2.10 Beta and you wish to install the latest MLwiN, we recommend uninstalling this version before installing a new one.
MLwiN 2.10 (and subsequent versions) can be installed on the following operating systems:
32 Mb RAM; 100Mb hard disk.
The actual amount of memory and disk space required will depend on the data being analysed.
If you are only interested in using the MLwiN engine via macros (for example by running from R2MLwiN or runmlwin) then we provide native versions of this for Mac OS X and various variants of Linux (available from here for existing users). If you need to use any of the GUI features then there are three options for running on these systems detailed below:
Wine (see http://www.winehq.org) is a compatibility layer that allows many applications originally designed to run under Windows to work on x86/x64 systems running Linux or MacOS X. We are unable to offer individual support on setting this up, however the following should provide an outline of the steps required.
On Linux systems Wine is often available as a package provided with the distribution. If this is unavailable or out of date you can also download an installation package for many popular distributions from http://www.winehq.org/download/.
To allow use of the GUI interface run the following commands:
winetricks vb6run winetricks mfc42 winetricks corefonts
Before installing Wine you will first need to download and install XQuartz from https://xquartz.macosforge.org/landing/.
Download and install Wine via the official package available from http://wiki.winehq.org/MacOSX.
The following instructions enable the use of the GUI interface:
Download and install cabextract from https://code.google.com/p/rudix/wiki/cabextract
From Launchpad locate and open Wine (this should open a terminal window).
Download and install winetricks with the following commands:
curl -O https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks
./winetricks vb6run
./winetricks mfc42
./winetricks corefonts
For earliers version of Mac OS X you can install Wine using the following instructions provided by Tom Palmer (see http://wiki.winehq.org/MacOSX for alternative installation methods):
To be on the safe side start by doing a Time Machine backup of your Mac.
Install XQuartz.app from https://xquartz.macosforge.org/landing/. Once installed launch it.
Install the command line development tools by either installing Xcode from the App Store, opening it, going to Preferences and selecting install Xcode Command Line Tools on the Locations tab or running the following command in a terminal:
xcode-select --install
Install Macports from http://www.macports.org/install.php
Once Macports is installed install the wine-devel port using the Terminal command, note you will need an Admin password:
sudo port install wine-devel
This takes a very long time (possibly as long as 1hr on slow Macs)
Once this is installed you can enable use of the MLwiN GUi with the following commands:
winetricks vb6run winetricks mfc42 winetricks corefonts
Once Wine is installed use the following command to install MLwiN (this assumes that the MLwiN installer is in the current directory):
msiexec -i MLwiN.msi
Running MLwiN
You should then be able to run MLwiN with the command:
wine <full path to mlwin.exe>
If you are going to run more than one Windows application in a session you can improve startup times with the following command at the beginning of the session:
wineserver -p
If you want to avoid the wine prefix and are running Linux you can use the command as root:
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
If you are running on Mac OS X or don't have root access to the machine you could alternatively use a wrapper script to run MLwiN. In the i386 subdirectory where you installed MLwiN create a file called mlwin.sh with the following contents:
#!/bin/sh wine mlwin.exe $@
In the same directory create a file called mlnscript.sh containing the following:
#!/bin/sh wine mlnscript.exe $@
Create a file called mlnscript.sh in the x64 subdirectory where you installed MLwiN with the following contents:
#!/bin/sh wine mlnscript.exe $@
Finally you need to make these scripts executable with the chmod command, i.e.:
chmod +x mlwin.sh
These files should now work the same way as if you were running on Windows, allowing you to open MLwiN or call it from a package such as runmlwin/R2MLwiN.
This method requires that you have a valid Windows license.
If you are using Mac OS X the installation can be automated with Boot Camp (http://www.apple.com/support/bootcamp/).
If you are running Linux then you have to either partition your hard drive, or install a second one and then set up Windows on this drive.
There are a variety of software packages that will allow you to set up a virtual Windows PC. These are both commercial (for example www.vmware.com/products/fusion/ or www.parallels.com) or free (for example Oracle's VirtualBox) All of these require a legal copy of Windows to use. Instructions for VirtualBox are given below.
Although MLwiN should work on these systems it is not possible for us to test every combination.
If you do experience problems then it is possible to use virtualisation software such as Virtual PC 2007 or VMware to enable you to run Windows XP along side your normal operating system, for the purposes of running MLwiN. If you have Windows 7 Professional or higher then you can make use of Windows XP Mode.
Although MLwiN is a 32-bit application running it on a 64-bit machine will allow it to access 4Gb of address space, rather than the usual 2Gb. This should allow smoother processing and manipulation of larger datasets.
MLwiN has been designed for a single CPU and is single-threaded. In multi-processor environments the most benefit MLwiN would gain would be that it could have one of the CPUs to itself without having to fight with other applications and the operating system.
Redesigning MLwiN to take advantage of multiple processors would be a major undertaking, for which we have no immediate plans.
We are currently re-designing our network, which means that our MLwiN users will have to access the data MLwiN uses through a Citrix-"window" and they will not be allowed to put the data onto their local hard disk. This means that MLwiN cannot run on their computers but must reside in the secure network, and either be processed on the Citrix-server/Citrix-desktop, or running on a dedicated application-server
We do not have a Citrix system here to test MLwiN on, so cannot give a definitive answer, however we have had reports of people using MLwiN successfully on this and similar systems. MLwiN 2.10 should have more success that previous versions as it no longer attempts to write files temporarily to its program directory.
One thing to note is that MLwiN loads the whole data set being analysed into memory, so if your users are running models on large data sets on the same machine you may run into memory issues.
Running more complex models can also be quite CPU intensive. Whether this is an issue for you will depend on the number of processors in your server machine and the number of simultaneous MLwiN users. Each instance of MLwiN can only make use of a single processor, so as long as the number of copies running a model is less than or equal to the number of processors in the machine there should be no slowdown compared with running it on the user's machine.