Compatibility+with+Wine

//by Richard Russell, October 2007, updated August 2012//


 * Wine** is an Open Source implementation of the Windows API for use with Unix-based Operating Systems such as **Linux** or **MacOS X** (the use of an Intel x86-based processor is assumed). The design goal of Wine is to allow Windows applications to run successfully on such Operating Systems, but inevitably the emulation of Windows isn't perfect.  You can find out more about Wine [|here].


 * BBC BASIC for Windows** will run adequately under Wine, but only if it's a recent version of Wine with bug #6878 ('GetBoundsRect not implemented') fixed. In practice that means you need **Wine version 1.5** or later.

Unfortunately executables compiled using BB4W, if they have one or more embedded library files, or one or more resource files stored in a sub-directory, won't run under Wine (at the time of writing). This is because of Wine bug 25207: [|SHFileOperation does not create new directory on FO_MOVE].

It is possible to work around the bug by creating the required sub-directory manually before the BB4W program is executed. In the case of library files you need to create a **lib** subdirectory in Wine's temporary folder. One way of doing that is to type **wine cmd.exe** in a Linux terminal, and at the resulting 'Windows' command prompt you can enter **mkdir %temp%\lib**.

To help persuade the Wine developers to fix this bug, please visit the link and cast your vote. You will first need to register with the site (if you aren't already) and please note that the email address with which you register will be visible on the site.

For further information on running **BBC BASIC for Windows** under **Wine** see Installing under Wine.