VIMOS Pipeline Recipes on Fedora 9

VIMOS Pipeline Recipes on Fedora 9

Nightmare! Even worse than installing VIPGI… and I never thought that to be possible.

Let’s see…

Start from here: http://www.eso.org/sci/data-processing/software/gasgano/vimos-pipe-recipes.html

Download the VIMOS Pipeline Recipes and the VIMOS Calibration Tables. Do steps 1-4 under “Instructions to perform a simple installation using the installer script” BUT STOP after

$ cd vmrecipes

Do NOT make

$ ./vminstall

You can try, but you’ll get a bunch of errors if you’re using Fedora 9.0. Instead, you’ll have to do a step-by-step manual installation. Joy!

Open the README file in the vmrecipes-1.0 directory. You’ll really need to refer to it often.

Steps 1-12 in the README file gave me only a errors. First, whenever a package has prerequirements (e.g. cpl requires qfits), you will need to mention the path to the appropriate directories when running configure. The paths you’ll need are to cpl, cext and qfits. They are probably the same for everyone unless you changed them when configuring these packages, so after ./configure for each package you should add one or more of the following:

–with-qfits=/usr/local/qfits
–with-cpl=/usr/local/cpl
–with-cext=/usr/local/cpl

For example, when building the vimos package, you’ll need

$ ./configure –with-qfits=/usr/local/qfits –with-cpl=/usr/local/cpl –with-cext=/usr/local/cpl

Along the way I got several errors saying things like, for example,

actread.c:20: error: invalid storage class for function ‘actclose’

Whenever this happens, look for the file on your computer (here actread.c, which on my computer is at /home/georgiana/vimos-1.3.1p/external/libwcs/), open it and go to the line where the error is, and remove the word static. For example, for actread.c, I changed line 20 from

static void actclose();

to

void actclose();

This should do the trick.

You’ll have to login as admin to install (with “make install”) each package, so do this as usual with

$ su

This should get you to step 13, which is where the VERY messy part comes in.

When running configure (don’t forget to give the paths to qfits, cpl and cext!), I first got a few errors like the one above, so I removed the statics. Then it complained about wordexp() in file pilfilutils.c (in /home/georgiana/vimos-1.3.1p/libpil/pil/ on my computer), saying:

No replacement for wordexp() is currently implemented!

I looked for wordexp.h on my computer and found the file in /usr/include/. You can simply copy it to the pil folder (on my computer, /home/georgiana/vimos-1.3.1p/libpil/pil/) or you can do it the hard (and stupid) way… as I did it. In libfileutils.c, I commented the part that was saying

#ifndef HAVE_WORDEXP
#error No replacement for wordexp() is currently implemented!
#else

and the one that was saying

#ifdef HAVE_WORDEXP
wordexp_t pwordexp = {0, 0, 0};
#endif

and copied the code from wordexp.h to libfileutils.c, pasting it after

// #ifndef HAVE_WORDEXP
// #error No replacement for wordexp() is currently implemented!
// #else

in between

#ifndef HAVE_WORDEXP
#define HAVE_WORDEXP

and

#endif

Before closing the if, add

wordexp_t pwordexp = {0, 0, 0};

to the wordexp code.

Then you should be able to run configure and make. For make I got similar errors for other functions. One of them was qfits… the other I can’t remember. In any case, by this point I’ve gotten smarter and simply logged in as root and copied the header (e.g. qfits.h) from its directory into the pil directory. Then ran make again as regular user, logged back as root and installed the package… and that was it. With the exception of a few warnings printed in the konsole (which, after all this mess, I’ve chosen to ignore), the installation went smoothly.

Now I don’t guarantee the recipes run smoothly too… but it took me two 2-3 days to figure out how to install all the packages, so I’m just happy to be done with it. For now. :)

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s