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

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



Hi Bill,

re:
> I'll make this brief...brass tacks and all:
> 
> Just because I wasn't sure of the dates of some of my backup, I went back
> and downloaded mcunpack and mcidas tar image.  I do think mcunpack was a
> different version (not that it matters).  At least we know we're clean...but 
> no joy.
> Did a make mcx and a make install.
> 
> [mcidas@localhost workdata]$ locate libtk
> /home/mcidas/mcidas2009/tk/unix/libtk8.5.so
> /home/mcidas/mcidas2009/tk/unix/libtkstub8.5.a
> /home/mcidas/tcl/lib/libtk8.5.so
> /home/mcidas/tcl/lib/libtkstub8.5.a
> /usr/lib/libreoffice/basis3.4/program/libtkli.so

'locate libtk' won't show new files/copies of files until the locate
database is recreated.  This is typically done once-per-day automatically
or manually using 'updatedb'.  It is possible that 'updatedb' had not been
run when 'locate libtk'.

What do the following show:

ls -alt ~mcidas/tcl
ls -alt ~mcidas/tcl/lib

re:
> [mcidas@localhost workdata]$ mcidas
> mcwish: error while loading shared libraries: libtk8.5.so: cannot open
> shared object file: No such file or directory

This says one of two things:

- the expected location of libtk8.5.so was not burned into to 'mcwish'

- libtk8.5.so was not installed where it should be (~mcidas/tcl/lib)

- or, the flag to 'gfortran' that should be passed to the linker
  is not being passed

Here is what the 'mcwish' entries should look like in the McIDAS
makelog (~mcidas/mcidas2009/src/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
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

The flag that I referred to above is '-Wl,-rpath,/home/mcidas/tcl/lib'.  This
is supposed to burn the location '/home/mcidas/tcl/lib' into the 'mcwish'
executable so that directory will be searched when looking for shared
libraries.

Quick question/thought:

- is LD_LIBRARY_PATH set in 'mcidas' environment?

  If it is, I would unset it and then try one or two things:

  - rerun 'ldd' and see if libtk8.5.so is found

    if not:

  - clobber the build and rebuild from scratch:

    <as 'mcidas'>
    cd ~mcidas/mcidas2009/src
    make clobber
    make
    make install

Before doing this, however, please see if libtk8.5.so exists
in the ~mcidas/tcl/lib directory.

re:
> Just a comment...I obviously had made and installed the previous software.
> I remember messing around with it earlier in the year just to make sure I
> was up to date because of the problem with the grid files not being
> filed correctly.  It obviously ain't your code...something about my new
> install.

I would like to think that this is the case, but I never rule out a bonehead
mistake on my part :-)  I don't really think that there is a problem with
the McIDAS makefile mainly because I rebuild McIDAS more-or-less every week.
Also, I just worked with another user on building under Solaris 11, and
he did not experience the problem you have run into.

re:
> And I'm not sure that's worth messing around with.   If things aren't
> obvious, I'll be more than happy to put down Centos and
> then try again.

This should not be a Fedora 16 issue per se.  Instead, it could be
an issue with the 'gfortran' compiler you are using (assuming that
you are using 'gfortran'; if not please let me know).  For reference,
the gcc and gfortran versions I am using under CentOS 6.2 are:

% gcc --version
gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% gfortran --version
GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
Copyright (C) 2010 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

re:
> This would be a good time to do it since everything's pretty clean
> on this machine.

As you saw from my previous emails, I am now a big proponent of CentOS
6.2.  I am was and am not a big fan of CentOS 5.[567], however, since
they really are out of date.  I only mention CentOS 5.x because AWIPS-II
requires RedHat Enterprise 5.5/6, and CentOS _is_ RedHat Enterprise.

If you could take a look in the McIDAS makelog for the compile and
link lines for 'mcwish' (and let me know what they look like), it
might clear things up quickly.

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