IFEFFIT on Mac OS X
The good news is that Ifeffit and horae run on Mac OS X (10.3 and 10.4). As of this writing, there are not many persistant problems, but it still advised to read this page before asking for help on the IFEFFIT Mailing List
Topics
Requirements for running Ifeffit on Mac OS X
The main requirement for Ifeffit to run on Mac OS X is that it needs X11, the 'Unixy' Windowing system. You'll have to install X11 yourself -- it is not installed on Mac OS X by default, but it is provided by Apple as an "Extra". It's typically on the 'other stuff' disc , and can be found at Apple's X11 page.
After that, you can download the latest Installer for your version of OS X, and Ifeffit and Horae should work!
The Mac OS X installer included Athena, Artemis, Hephaestus, and the command line versions of ifeffit and Feff6L. There are very simple AppleScript Applications in Applications->Ifeffit that will automatically launch these Applications.
Note that SixPack is not included in the Mac OS X distribution (due to problems with the Tcl/Tk plotting library used that is required by SixPack).
How do I upgrade horae on Mac OS X?
Bruce Ravel release the perl sources for Horae (Athena, Artemis, Hephaestus) fairly often -- sometimes faster than a binary installer can be made.
It is in principle possible to use this source to run the latest build. Unless you're comfortable with the Unix interface of OS X and have at least a passing familarity with Perl, we strongly suggest that you wait until a binary installer is available.
If you do want to use this source, you must install the Developer Tools, Fink, and Fink's g77. You'll need to install the Perl/Tk module (look at CPAN and/or Fink, but you might need to install this by hand). See The link below for more details on this. At that point, the normal
perl Makefile.PL ; sudo make install
should work. Again, if you don't know what any of this means, you may want to wait for the binary install
.
The installation "didn't work". What can I do?
OK, if you installed X11, and the latest binary installer, and Athena and Artemis still don't work, here are some things you can try:
- delete (or move to somewhere else) all of /Applications/Ifeffit and /Library/Perl (not /System/Library/Perl!!)
- delete/move the 'Ifeffit installation receipts' under /Library/Receipts/Ifeffit-*.
If that still didn't work, ask on the mailing list, giving as many details of what "doesn't work" means as you can, and everything you tried.
How do I install an Apple Development Environment (c,c++, g77, Objective C)
Note: these are notes taken from the older Ifeffit FAQ. They may be very far out of date:
The Apple Development Environment (also known as XCode) is on the 4th CD of the Panther (10.3) installation disks. Install the package k and you will have a complete development environment (c, c++, and objective C compilers included) along with lots of documentation. If you might want to install X11 software on your Mac in the future from source, you need to include the optional install for "X11 SDK" that is accessible after you press the customize button in the Xcode installer.
The installer has been updated since Panther was released and you can download the latest version (Xcode 1.2) for free from http://developer.apple.com. You will need to register, and the download is large (~0.6Gb)
The final step before you can do an horae_update is to install a fortran compiler. The recommended way of doing this is wtih Fink: http://fink.sourceforge.net/, a collection of Unix-like tools for Mac OS X. Download and install the basic Fink system, then install g77 with (from a Terminal commandline): 'sudo fink install g77' (to install from the source code for g77, including compiling g77 on your machine) or 'sudo apt-get g77 install' (to install a binary version of g77 -- much faster!!).
If those commands don't work, be sure to do '. /sw/bin/init.sh' to enable to Fink environment. If that still doesn't work, find and install the Fink Commander program from the Fink web site.
Paul Fons says:
If you are comfortable using the command line such a procedure is possible and even easy as some (myself included) would say, but it will take some preparation. The only really important missing bit from a native install is a fortran compiler. The good news is there is a free one. The easiest way to install the necessary subsystem is to use fink. But first you will need a C compiler. For instructions on how to install the Apple development environment see 2.11 Installing the Apple Development Environment (c, c++, objective c, and g77). OK, OK, enough already ... let's assume you have read 2.11 and installed the fortran compiler. If you have installed the latest horae binary installer from Matt's site (http://cars9.uchicago.edu/ifeffit/), the horae update process is easy. Provided that the fortran compiler is on your path, you should be able to just type "sudo horae_update" and after typing your password when prompted (to get the necessary level of access), your computer will connect to Bruce's site and download and install a new version of horae if available. Pretty easy, ehh?
Matt expanded upon this
- Open a Terminal
- move to your home directory by typing 'cd'.
run horae_update with permission to write to the /Library/Perl' and /Applications/Ifeffit'. Type 'sudo horae_update'. When prompted for a password, type the password for your user account (that is, the same one you logged in as).
- If you get a message that says 'command not found', then read the message.
- if the message begins 'bash: ... command not found' then type '. /Applications/Ifeffit/bin/iff_init.sh' Yes, that's a '.' followed by a space.
- if the message begins 'tcsh: ... command not found' then type 'source /Applications/Ifeffit/bin/iff_init.csh'
- Then do 'sudo horae_udate' again.
- If you already have the `horae-045.tar.gz' file, 'sudo horae_update' is exactly the same as:
- tar xvzf horae-045.tar.gz cd horae-045 perl Makefile.PL sudo make install
- Once the installation is successful, you can remove the `horae-045' folder. "045" was the version number of the source code package when this FAQ entry was written. You should replace "045" with whatever number is current when you read this.
=====
The older installation of horae will break upon installation of 10.4 (Tiger) as the perl version is changed and Tk (the graphics perl library used by horae) becomes inaccesible.
I installed 10.4 using the upgrade option on top of 10.3. I found the Tk library was invalid as a result. I then fixed the problem in two steps, one of which (the reinstallation of ifeffit using the ifeffit installer was probably unnecessary. In short, if you follow, the instructions below, there will be no problems with either a new install or an archive/upgrade install.
For all those who want to be Tigers (Mac OS 10.4), here is a brief summary of the installation procedure. I should add that there is not an installer that will do everything at once, but the procedure is really pretty easy.
I have not tried installing horae on a brand new system, I have only tried (and succeeded) in making a previously functional horae-051 under Mac OS 10.3 work properly under Mac OS (Tiger) 10.4.
The errors you see are generated because there is a new version of perl installed (5.8.6) which doesn't know about Perl/Tk, the graphics system that Bruce uses for all of his packages. The solution is simple, you must download and install Perl/Tk and then reinstall horae. After that everything just works again. The build procedure is nearly automatic, but you need to have installed the developer tools (which are included on the Tiger installation DVD).
First you need to download Tk from CPAN (the server where free Perl software is hosted). Here is the procedure.
0. I assume you had an installed and functional horae running under 10.3 and did an upgrade to 10.4. If you didn't use the 10.3 installer that Matt has cooked up for 10.3.
1. Download the source for Tk by a. make a new (temporary) scratch directory
mkdir temp; cd temp
b. download Tk going in your browser of choice go to the web page: http://search.cpan.org/~ni-s/Tk-804.027/ and hitting the download button on that page (the file will be named Tk-804-2.027.tar.gz) c. uncompress the file in your scratch directory
tar zxf /the-path-to-your-download-directory/ Tk-804-2.027.tar.gz
d. change to the Tk directory, compile, and install the new Tk
cd Tk-804.027 perl Makefile.PL make sudo make install
e. now you must download and install the latest version of horae via Bruce's web page
go to the site http://leonardo.phys.washington.edu/~ravel/ software/downloads.html#unix and use the download link for horae-051.tar.gz