[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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.