MIEN is developed and deployed in our lab primarily on Mac OS X machines (mostly using Intel chipsets and OS 10.4.9). All features are available on Mac, and this platform will probably have better performance and more complete testing than other platforms. There are, however, a few "gotchas" on the Mac platform that you should be aware of, especially if you are coming from a Linux background.
Firstly, if you want to use all the features of MIEN, you definitely need a C compiler. Apple's Xcode tools work fine, if you have a recent enough version. For some nutty reason, however, OS X install DVD don't install a recent version of Xcode by default, so you may need to install Xcode tools (aka "developer tools") before starting your MIEN install. Also, if you use this python 2.5 binary installer you will need to have Xcode version 2.4.1 or later to build extensions. The binary install saves time and has some nice extras, so I'd recommend using it, but upgrade Xcode before you install anything else. If you have a recent Intel Mac or a new copy of Tiger, you can get Xcode off your OS X DVD. Otherwise, you'll need to download it from the Apple Developer connection. This requires that you have an Apple developer ID (free, but requires registration).
You may also want a FORTRAN compiler. The gcc tree installed by Xcode tools doesn't include one. If you are going to install one, do it before you build numpy. You can get somewhat increased performance on some numpy functions by using FORTRAN versions, if a compatible compiler is discovered at build time. I use gfortran, installed through Macports.
Secondly, OS X apps need to be built as Frameworks (or rezzed) in order to control GUIs. I strongly recommend using a framework Python (rather than trying to rez a non-framework build). This means you shouldn't use a fink or macports python install. Also, if you build python from source, you need to pass "--enable-framework" to the configure script, and you need to use "make frameworkinstall" instead of just "make install". This will put python in some hideously long path inside /Library. I also recommend that you add the "bin" directory of the framework to your PATH (e.g. /Library/Frameworks/Python.framework/Versions/Current/bin).
Alternately, it is possible to build python (or, more specifically wxPython) to use GTK under X11. This will be a lot of extra work, and it will make your MIEN GUIs slower and less pretty. On the other hand, it will allow you to open those GUIs from a remote client by using X11 forwarding over ssh. If you are mostly using a Mac as a remote server, you may want to do this. I have tested it and know that it's possible. It isn't easy and is outside the scope of this tutorial. If you need to build apps for a server, hopefully you are a skilled sys-admin and can figure it out on your own :)
To set environment variables in OS X, just put appropriate lines in the file "$HOME/.bash_profile". If there is no such file, create it. The lines you will need are of the form "export PATH=/some/path:$PATH". Alternately, you can split that onto two lines "PATH=/some/path:$PATH; export PATH". You will need to restart Terminal in order for these lines to take effect. For most purposes, you can also use ". ~/.bash_profile" to re-execute the profile file in the current shell without restarting terminal.
NOTE: This package installs a framework type Python 2.5.2 in /Library/Frameworks. A link to that python is placed in /usr/local/bin/python. If you have an 'out-of-the-box' configuration on your Mac, /usr/local/bin will not be in your system path, and /usr/bin/python may call an older version of Python. Thus, when you use the mien command, you may be running a different python version than if you use the python command. If you want to use the python2.5 installed by the mien package, make sure you are calling /usr/local/bin/Python.
The Macintosh installer provides some Apple app bundles which can launch MIEN GUI apps, and which register themselves as handlers for data files that MIEN understands. This will result in your data files being displayed with a custom icon, and being automatically opened if you double-click on them in Finder.
The applications are installed in "/Applications/MIEN/", and they include: "MIEN Data Viewer", "MIEN File Droplet", "MIEN Update Manager", "MIEN XML Editor". The file droplet will do nothing if it is clicked, but if you drag a file onto it, it will attempt to launch the appropriate MIEN viewer for that file. The other apps will launch the specified MIEN GUI when double-clicked. This method of launching the apps can be convenient for quick viewing, but it is inferior to using a terminal in serevral ways that are listed here. In particular, if anything goes wrong, your first step to fix it should be to switch to a terminal for launching MIEN.
There is a known issue with the "Update Manager" app, which is that it doesn't run with root permissions, and it often needs to modify Python's site-packages directory. Unless your user ID has write access to that directory, the GUI updater will not work. Using sudo mien -a up from a terminal will run exactly the same app, but with root permissions, meaning that it will work.
The MIEN GUI "apps" on Mac are really just Applescripts, which have been saved as "Application" type using Apple's script editor. The File droplet is saved as an "Application Bundle" and then edited to include an icon resource, and a modified "info.plist" that registers certain file extensions as readable by the bundle. The other apps are even simpler scripts. Here is the entire contents of "MIEN Update Manager":
You can easily make your own apps, or debug mine. For example, if the apps aren't working on your system because you have Python 2.6, edit the path to "mien" in the first line. If you want to run as root, so that the installer will be able to modify site-packages, you could add with administrator privileges to the end of the last line. To run the DSP editor instead of the updater, you can change "-a up" to "-a dsp".
Between 10.4 and 10.5, Apple moved the default location for Python. Mac OS 10.5 (Leopard) ships with Python 2.5.1 installed, but this Python is in a different place than the system Python on 10.4. The new Python is installed in /System/Library/Frameworks, rather than /Library/Frameworks. Since /System shouldn't be user modified, the default site-packages directory of the new new Python is /Library/Python/2.5/site-packages, rather than the former (and so tersely named!) /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages.
Either Python will work for running MIEN, but if MIEN, extensions, or dependancies are installed in one Python, and the other Python is used to run MIEN, things may not work.
The new 10.5 version of the scipy superpack, and possibly other installers, installs to /Library/Python. Current versions of the MIEN install instructions and the MIEN Mac dmg install to /Library/Frameworks. This may cause you some trouble when installing MIEN. If you installed the scipy superpack and can't import numpy or scipy from within Python, you are probably not running the system python. By default, that is the python called by /usr/bin/python.
You can check where you are importing packages from by opening a python interpreter and typing:
Also, the MIEN Mac dmg installs an entire python in /Library/Frameworks, and a link to it in /usr/local/bin/python. It also installs a "mien" script in /usr/bin that explicitly runs mien with the /Library/Frameworks python. Normally /usr/bin with be in your PATH, and /usr/local/bin either won't be, or will be later in the path than /usr/bin. In this case, the "mien" command will work, and your existing Python apps will also still work, but when you call "python" you will not get the python with mien and dependancies included. If you have /usr/local/bin in your PATH before /usr/bin, mien and it's installed dependancies will work, but other Python customizations previously on your computer may not.
I was considering switching the MIEN Macintosh packages to use /Library/Python/..., but I have decided not to do this. The new Python 2.6 from python.org installs in /Library/Frameworks. I intend to maintain compatibility with Python 2.6, and so as long as there is a discrepancy, the MIEN packages with be designed to work with the directory structure chosen by python.org, rather than that chosen by Apple.
My current experience is that the scipy superpack installers for 10.5 (both PPC and Intel versions) are not working right. First off, 10.4 and earlier versions of the superpack won't install at all, or install for the wrong Python, as described above. Even the new 10.5 versions don't seem to be working for me. Some modules work, but others, including scipy.special (used by many of my own MIEN extensions), require /usr/local/lib/libgfortran.2.dylib, which is not installed.
Fortunately, the 0.6.0 official source release of scipy builds and installs perfectly on 10.5. You will need to install Apple's Xcode mpkg (from your install DVD), and I expect you need gfortran (Since I have it installed, I didn't test a build without it).
I installed gfortran using a binary image found at the gcc/gnu site, and then built the scipy 0.6.0 package from the tarball from scipy.org. Typical sudo setup.py install installation worked for me.