Saturday, May 1, 2010

RATRAN on Mac OS X

Mac OS X doesn't like the defaults built in to RATRAN. It died unhappily with errors like:

ld_classic: can't locate file for: -lcrt0.o
and
ld: warning: in /usr/local/lib//libcfitsio.a, file is not of required architecture


In order to get it to run, I had to do the following:
  1. Install CFITSIO with CFLAGS="-arch x86_64 -arch i386 -g -O2" to /usr/local/lib
  2. Edit the sky/Makefile OPT variable (line 23) to read:
    OPT = -I. -O2 -fno-automatic -arch x86_64
Also, you need to set up system variables:

export RATRAN=/path/to/Ratran 
export RATRANRUN=/path/to/Ratran/run 

6 comments:

carl said...

Hi there, I am attempting to run ratran on mac os x 10.6.6 with not much success. I am fairly new to using these kind of programs and as a consequence feel rather stuck when the only kind of help file I can find says exactly the same things: http://www.sron.rug.nl/~vdtak/ratran/frames.html

On running ./configure the output seems to list all the other file/folder names that lie within the folder than the configure file was run from:


Unknown OS ... assuming Linux
amc bin configure example kappa molec run sky velocity
amc bin configure example kappa molec run sky velocity Wrote setup to /Users/carlsalji/.cshrc ... if your setup is in amc bin configure example kappa molec run sky velocity
amc bin configure example kappa molec run sky velocity another location, please move it there yourself. amc bin configure example kappa molec run sky velocity
amc bin configure example kappa molec run sky velocity
Set up for Linux with compiler g77 -fno-automatic


After this is completed, according to the installation guide, I should be able to run the amc or sky commands by typing at the console:

amc amc.inp
sky sky.inp

However, both of these respond with an error message:

dhcp-87-229:example carlsalji$ amc amc.inp
-bash: amc: command not found

Any help would be greatly appreciated.

Thanks,

Carl

Adam said...

Carl - are amc and sky in your system path? I don't think the RATRAN install process puts them into a standard system path directory.

carl said...

Hi again,

Whoops! Yes, I hadn't added ratran/bin to my system path file. Having done that, inside the example folder, I am trying to run the amc.inp file (again with little success):

Carl-Saljis-MacBook-Pro:example carlsalji$ amc amc.inp
RATRANRUN: Undefined variable.

Any ideas?

Thanks for the speedy reply by the way + sorry I took so long to re-reply, I haven't got the internet at home at the moment.

Cheers,

Carl

Adam said...

Yeah, you're supposed to set RATRANRUN=$RATRAN/run and RATRAN=/path/to/ratran. I have that in my .bashrc now... not sure if it says anything about that in the install directions, but you might have a look at those.

carl said...

I do not have a .bashrc file. I have a .bash_profile file which I added the paths to for amc and sky. The configure file creates a .cshrc file which contains:

setenv RATRAN /Users/carlsalji/Ratran
setenv RATRANRUN /Users/carlsalji/Ratran/run
set path = (/Users/carlsalji/Ratran/bin /Users/carlsalji/Ratran/bin /opt/local/bin /opt/local/sbin /Users/carlsalji/android-sdk-mac_x86/tools /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/texbin /usr/X11/bin /Users/carlsalji/Documents/University/MSci_Project/Radex/bin /Users/carlsalji/Documents/University/MSci_Project/Radex /Users/carlsalji/Ratran/bin)

Is this what you are referring to?

And no, unfortunately the install instructions are pretty brief and contain barely any troubleshooting.

Cheers,

Carl

Adam said...

Yes, those lines in the .cshrc file are pretty much the relevant ones. However, as you've observed, they have no effect if you're running bash and not .csh. Adding the bash translations of those lines to your .bash_profile (or .login, .profile, or whatever gets sourced when you start up a shell) should resolve the issues you're currently running into.