[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20011110: McIDAS vis-a-via Solaris 7/8 (cont.)



>From: "James R. Frysinger" <address@hidden>
>Organization: College of Charleston
>Keywords: 200111061842.fA6Igt112242 McIDAS platfomrs

Jim,

>I've done the intitial preparations listed on
>   http://www.unidata.ucar.edu/packages/mcidas/780/mcx/prepare_mcx.html
>and now I've got a question arising from the directions on
>   http://www.unidata.ucar.edu/packages/mcidas/780/mcx/warnings_mcx.html
>
>First of all, for our Solaris 7 running on an Ultra-10, do I need to 
>set the environment values shown for SunOS buddy? Or should I give it a 
>try as is?

You should set those environment variables especially since it looks like
you are going to be using gcc to build instead ov a vendor supplied
compiler.  You will, of course, have to change tose settings to match
your setup.  They will end up looking like those listed for Solaris x86:

setenv CC /usr/local/gnu/bin/gcc
setenv CPPFLAGS -DNDEBUG
setenv CFLAGS -O
setenv FC /home/mcidas/mcidas7.8/src/mcfc
setenv FFLAGS -O
setenv CXX

withe the exception that you want to specify the exact location of gcc
(e.g., /usr/local/bin/gcc, etc).

>Second, I've worked my way through the downloading and making of AT&T's 
>f2c and libf2c, obtained from Bell Labs via your link. Of course, the 
>libf2c makefile had to be edited per the directions in its listing. I 
>have installed the files as shown in the directions:
>   /usr/local/bin/f2c
>   /usr/local/include/f2c.h
>   /usr/local/lib/libf2c.a
>after using hadd to combine libf77 and libi77.

Since McIDAS can't be built with g77 yet (I have just made the code
changes that arew needed, but havn't yet released them), the libf77
stuff is not important.

The rest of the above looks good.

>Now, I see in the next 
>bullet of the instructions that I should change the VENDOR value in the 
>McIDAS makefile to -gcc instead of -vendor. Looks like a piece of cake.

Yup.  It is pretty simple.

>It also says that I should create a /usr/loca/lib directory but we 
>already have one. In this I'm supposed to create a symbolic link with
>   ln -s /usr/lib/libf2c.a /usr/local/lib/libf2c.a
>Wouldn't that wipe out the libf2c.a file that I just created and placed 
>there?

This comment really was aimed at Linux users who already had
/usr/lib/libf2c files.  The important thing here is to make sure that
McIDAS links against the static f2c library, not the shared one.  The
shared one is missing an entry point needed for linking mixed Fortran
and C routines (the great majority of McIDAS).

>Instead, shouldn't I make the command
>   ln -s /usr/local/bin/libf2c.a /usr/lib/libf2c.a
>to put the link the right way around?

Since you never had the f2c stuff on your Solaris SPARC workstation,
you do not have to make any link.  Simply leave libf2c.a in /usr/local/lib;
f2c.h in /usr/local/include; and f2c in /usr/local/bin.

>I've just verified that our 
>system has no
>   /usr/lib/libf2c.a
>but there are a lot of other lib files there, so that's probably the 
>place the system would look for it (or a link to the library file).

/usr/local/lib should be searched for libraries during the link
process on Solaris.  If you run into the situation where it is not
being searched, you should do one of two things:

o make the link as you note above

o modify the SunOS section in ~mcidas/mcidas7.8/src/mccomp.sh by
  adding -L/usr/local/lib to L_opts.
  
I don't think you will have to do this, however.

Sounds like good progress is being made!

Tom