This is the current development branch of Wine. The name is a bit misleading as it is superior to the stable build in most aspects. If your program is laking some functionality under wine, this is the version to go with, as it is evolving very fast. Check back often to download the most recent version. One of the big news is, that it does not need X11 anymore.
The current stable branch of Wine. It is usually very static and only receiving very few updates. If your program runs with it, it is a great way of having a solid base to use your apps on.
This is the last 'complete' version of Wine for OS X Tiger. You can use this version of WineBottler together with the 1.4.0 and the 1.4.1 No-Audio-Build on OS X Tiger (see below). Wine is no longer actively developed for OS X Tiger.
The OS I am referring to in this article is OSX Mountain Lion. Wine can be ran on OSX (intel Macs) with a little bit of work using Xcode and MacPort. If you would like a rundown on how to run Wine on OSX you can head over to another great site ran by a fellow geek/nerd David Baumgold, he has step-by-step instructions on how to run Wine on OSX. Lots of games run fine in Lion. Check the Mac App Store for plenty of options. (If you're looking for indie games, I've made a list of some of the best indie games on the Mac App Store.) Also, there's Steam. Lots of Mac-compatible games there, and more being added all the time. Just check system requirements.
nxtOSEK Installation in Mac OS X Lion
By Dmitry Prokhorov
DISCLAIMER: This installation procedure is provided “as is” with no guarantees.
1. Installing LEGO Fantom driver for Mac OS
http://mindstorms.lego.com/en-us/support/files/Driver.aspx
2. Downloading GNU ARM toolchain
Download YAGARTO GNU ARM toolchain (http://www.yagarto.de/):
to standard download folder ~/Download
Note that Toolchain contains new arm gcc 4.6.2 compiler. All standard libraries in package were built under EABI 5,
so we’ll need to rebuild nxtOSEK libraries (as shown later) which were built under EABI 0:
libecorobotc++.a
libecorobotc.a
libnxtway_gs_balancer.a
nxtOSEKecrobotbiosnxt_bios_rom.rfw
3. Installing GNU ARM toolchain
To unpack toolchain (as described at YAGARTO Readme file):
1)Create directory “yagarto” (without quotes) in home folder (~/yagarto).
2)Mount downloaded .dmg file.
3)Move installer yagarto-4.6.2 from .dmg to ~/yagarto
4)Run installer. It will create directory yagarto-4.6.2 in ~/yagarto folder and install toolchain to it.
If you don’t want to place toolchain at ~/yagarto/yagarto-4.6.2 and would like to move it after unpacking, for example to /opt directory, do the following:
1)Run terminal
2)If you haven’t /opt folder, create it:
sudomkdir /opt
3)Move YAGARTO GNU ARM toolchain to /opt
sudo mv ~/yagarto/ yagarto-4.6.2/arm-non-eabi /opt
If you don’t need .dmg file and installer, feel free to delete it.
4. Installing Wine
Download and install WineBottler (Wine port for Mac OS X) from:
http://winebottler.kronenberg.org/
5. Add path to .bash-profile
export $PATH =$PATH:/Applications/Wine.app/Contents/MacOS
Logout and login again to update environment variables.
6. Installing nxtOSEK
Download nxtOSEK v2.161 and unpack it.
http://sourceforge.net/projects/lejos-osek/files/nxtOSEK/nxtOSEK_v2161.zip/download
7. Installing & building native tools
Note that tools for Windows (NeXTTool.exe, appflash.exe and ramboot.exe) doesn’t work in Wine under Lion so we don’t need them.
We’ll use native version of:
nexttool(for Mac OS X) by John Hansen,
appflash (sources included in nxtOSEK, re-builded in Mac OS X)
fwflash by David Anderson (instead of ramboot)
Note that fwexec and appflash binaries are stored in nxtOSEK/bin directory
nexttool
Download native nexttool for Mac OS X:
http://bricxcc.sourceforge.net/nexttool_osx.zip
Unpack and move nexttool to nxtOSEK/bin directory.
Also you can download GUI NeXT Tools utility (it is not nessesary):
http://bricxcc.sourceforge.net/nexttools_osx.zip
fwexec
Download libusb 0.1 for Mac OS X Lion and install it.
http://www.anyma.ch/blogs/research/2011/08/13/libusb-for-macosx-lion-10-7/
Download libnxt-0.3 and unpack it
http://libnxt.googlecode.com/files/libnxt-0.3.tar.gz
Download scons
http://www.scons.org/
Install scons:
sudo python setup.py install
Go to linnxt-0.3 directory and run:
scons
to build fwexec
appflash
Install NI-VISA for Mac OS from here (registration needed, free of charge):
http://joule.ni.com/
Download NXT++ from here:
http://nxtpp.clustur.com/
Copy all *.h files from fantom directory to nxtcommfantom/fantom
Go to nxtOSEK/nxtcommfantom
Create makefile as shown at the end of this letter (this makefile is attached to this letter).
You should change FANTOM, OSEK and DEPLOY variables to your settings.
Run:make
8. Editingtool_gcc.mak
Specify GNU ARM directory and nexttool directory and tools names.
Just for example:
GNUARM_ROOT = /opt/arm
NEXTTOOL_ROOT = /Users/your_home_dir/nxtOSEK/bin
NEXTTOOL = nexttool
APPFLASH = appflash
RAMBOOT = fwexec
Set up prefix:
TARGET_PREFIX = arm-none-eabi
If arm-elf-gcc 4.4.2 have been installed specify:
TARGET_PREFIX = arm-elf
Note that BIOSFLASH variable is not used, you can safely delete it.
9. Re-building nxtOSEK libraries
1)Go to nxtOSEK/ecrobot/c++ and run:
make all
make release
2)Go to nxtOSEK/ecrobot/c and run:
make all
make release
3)Go to nxtOSEK/ecrobot/bios and run:
make all
make release
4)Go to nxtOSEK/ecrobot/nxtway_gc_balancer and run:
make all
make release
Install Wine On Mac Os
Warnings about impossibility of inlining can be emitted during compilation.
10. Installing John Hansen's Enhanced NXT Firmware
Install John Hansen's Enhanced NXT running Windows as described in nxtOSEK official tutorial:
http://lejos-osek.sourceforge.net/installation_windows.htm#ENF_inst
Wine Mac Os Lion 10.8
11. Testing
- Go to nxtOSEK/samples_c++/cpp/Helloworld/
- Build helloworld:
make all - Run brick and download helloworld:
./rxeflash.sh - Run downloaded helloword via brick’s menu.
In some case of using pure virtual function in classes, it may be necessary to define function __cxa_pure_virtual() to avoid of linker error. For example:
extern 'C' void __cxa_pure_virtual() { while (1); }
Summary (differences from Augusto Ribiero’s way):
- Pre-build GNU ARM toolchain, no Mac Port needed
- New GNU ARM compiler (4.6.2) instead of old 4.0.2, 4.2.x, etc
- Support for global C++ object's constructor and destructor calls according ARM EABI
- No annoying warnings from wineconsole
- Full set of native tools (to avoid problem with Windows tools & Wine)
- Universal scripts that can be added to future release (of course, after test on Cygwin, Linux, Mac OS X etc)
- Less disk space requirements (because no Mac Port)
- Compatible with Mac OS X Lion