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

[McIDAS #RDR-211897]: Mcidas build on Fedora 16



Hi Bill,

re:
> You're thorough.  I'll go line-by-line below:  Pardon my miserable email
> software--it's what the university provides.

No worries.

re:
> I'll go through and put ***** at my comments..
> 
> Cut to chase---see the comparison of makelogs right above your signature
> at the very end.  All else is same-old-same-old, as I respond to your queries
> with listings of things that are not wrong. Not worth reading.  The makelogs,
> however, tell the tale.  Or at least they're different enough to look like a 
> problem.

I'm cutting to the chase....

re:
> ******************************************************************
> **makelog was attached to last emails.

Oops, my bad.  I didn't notice that you had included the makelog.  My
apologies!

re:

> grep mcwish makelog
>
> ./tclcomp ./mccomp -g -gfortran -o mcwish wishcrex.o wisherrh.o wishinit.o 
> wishmcid.o wishrglb.o wishutil.o wishxinf.o wishxwin.o tkAppInit.o -L. 
> -lmcidas
> gfortran -g -o mcwish wishcrex.o wisherrh.o wishinit.o wishmcid.o wishrglb.o 
> wishutil.o wishxinf.o wishxwin.o tkAppInit.o -L. 
> -L/home/mcidas/mcidas2009/tk/unix -L/home/mcidas/mcidas2009/tcl/unix 
> -L/home/mcidas/tcl/lib -L/home/mcidas/tcl/lib -L/home/mcidas/tcl/lib 
> -L/home/mcidas/tcl/lib -L/usr/X11R6/lib -lmcidas -ltk8.5 -ltcl8.5 -lX11 -ldl 
> -lieee -lm -ldl -lm
> link  mcwish:                 done
> ************************************************************************************
>
> Here's yours, copied from above in this email:
> 
> ./tclcomp ./mccomp -g -gfortran -o mcwish wishcrex.o wisherrh.o wishinit.o 
> wishmcid.o wishrglb.o wishutil.o wishxinf.o wishxwin.o tkAppInit.o -L. 
> -lmcidas
> mccomp: Using default optimizations
> gfortran -g -Wl,-rpath,/home/mcidas/tcl/lib -o mcwish wishcrex.o wisherrh.o 
> wishinit.o wishmcid.o wishrglb.o wishutil.o wishxinf.o wishxwin.o tkAppInit.o 
> -L. -L/home/mcidas/mcidas2009/tk/unix -L/home/mcidas/mcidas2009/tcl/unix 
> -L/home/mcidas/tcl/lib -L/home/mcidas/tcl/lib -L/home/mcidas/tcl/lib 
> -L/home/mcidas/tcl/lib -L/usr/X11R6/lib -lmcidas -ltk8.5 -ltcl8.5 -lX11 -ldl 
> -lieee -lm -ldl -lm
> link    mcwish:                 done
> 
> Whoa nelly!  You're amazing in identifying problems.  But why it do dat?

I just figured it out.  The problem is evidently that Fedora 16 is powered by a 
Linux 3.x kernel, not a 2.x kernel.  I should have realized this earlier, but I
actually have built on a Fedora 16 system, but I never ran any GUI, so I never
noticed that 'mcwish' would not find the needed shared Tk library.

Here is what you need to do to get things working; I will update the Unidata
McIDAS distribution to include the fix in an addendum:

<as 'mcidas'>
cd ~mcidas/mcidas2009/src

-- edit the file 'tclcomp.sh' (NB: NOT 'tclcomp') and jump to line 218

   Line 218 should look like:

"Linux 2."*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";;

   This says for 'uname -sr' listings that look like "Linux 2." set
   RUNTIME_PATH to include the link directive '-Wl,...'  Since your
   kernel is v3.x, this line does not match, and RUNTIME_PATH does
   not get set (doh!).

   To get things working I would simply change the line to read:

Linux*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";;

   So, the code would look like:

# <<<<< UPC mod 20051103 - change FreeBSD entry to match all versions >>>>>
# <<<<< UPC mod 20120401 - change Linux entry to match all versions >>>>>
#
RUNTIME_PATH=
case \`uname -sr\` in
"SunOS 5."*) RUNTIME_PATH="-R $TCL_PREFIX/lib";;
Linux*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";;
Darwin*) RUNTIME_PATH="-Wl,-search_paths_first";;
FreeBSD*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";;
OSF1*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";;
IRIX*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";;
HP-UX*) RUNTIME_PATH="-Wl,+b,$TCL_PREFIX/lib";;
esac

-- after making the editing change, clobber and remake McIDAS
   (NB: don't wipe out the directory and re-populate from the
   distribution file!!!!!):

make clobber
make
make install

After doing this, mcwish should find the McIDAS-installed Tk shared
library and, therefore, run!

The reason I have not run into this problem in my Fedora 14, Fedora 15
or CentOS VMs is that they are all still running a 2.x kernel.  Evidently
Fedora 16 has moved on to v3.x.  That's what life is like on the
bleeding edge!  Another reason to switch to CentOS!!

Cheers,

Tom
--
****************************************************************************
Unidata User Support                                    UCAR Unidata Program
(303) 497-8642                                                 P.O. Box 3000
address@hidden                                   Boulder, CO 80307
----------------------------------------------------------------------------
Unidata HomePage                       http://www.unidata.ucar.edu
****************************************************************************


Ticket Details
===================
Ticket ID: RDR-211897
Department: Support McIDAS
Priority: Normal
Status: Closed