solution found; was: Re: [MITgcm-support] no -mpi option for genmake2

Ed Hill ed at eh3.com
Wed Aug 11 10:42:49 EDT 2004


On Wed, 2004-08-11 at 09:51, m. r. schaferkotter wrote:
> p:
> 
> 1) success.
> 
> adding
> 
> CPP='/lib/cpp  -traditional -P'
> 
> built the fresh copy successfully (good),  but not the version that was 
> updated with  'cvs -q up -d -P'.

Hi Michael,

Thats good news!  And now that you have the MPI builds working, I hope
it runs well for you!


> 2) an aside
> 
> the updated code build stops with numerous complaints such as:
> 
> exch_uv_agrid_xy.rl.o(.text+0x10): In function `exch_uv_agrid_xy_rl_':
> : multiple definition of `exch_uv_agrid_xy_rl_'
> exch_uv_agrid_xy_rl.o(.text+0x10): first defined here.
> 
> i tracked this down to the eesupp/src directory. in the fresh copy 
> there are far fewer files.
> 
> in the updated version:
> [me at mach src]$ ls exch_uv_agrid_xy[_.]rs.F
> exch_uv_agrid_xy_rs.F  exch_uv_agrid_xy.rs.F
> 
> it seems that the updated version has a number of file pairs that have 
> different names, but contain the
> same subroutine.
> 
> [me at machsrc]$ grep "   subroutine" exch_uv_agrid_xy[_.]rl.F
> exch_uv_agrid_xy_rl.F:      subroutine exch_uv_agrid_xy_RL( 
> component1,component2, myThid )
> exch_uv_agrid_xy.rl.F:      subroutine exch_uv_agrid_xy_RL( 
> component1,component2, myThid )
> 
> 
> seems to indicate something is askew with the cvs process (and/or my 
> use of cvs).
> grabbing fresh cvs versions contributes to 'versionitis'.
> 
> how does one salvage the updated version?


The CVS update works for me on every platform that I've tried it on.  I
do cvs updates fairly often using 'cvs -q up -d -P' in the $MITGCM_ROOT
directory followed by a complete re-build ("make CLEAN && make makefile
&& make depend && make") in the necessary build directory (or
directories).

Did you skip the "make CLEAN" and/or the "make makefile" steps?  Or did
you try to "cvs up" only a few of the files/directories--not all of
them?  If so, thats why its failing.  After a complete cvs update of all
the files and directories, you will then need to re-run the entire build
process to add any new files, dependencies, etc. to your Makefile(s).

And if you've done the "cvs up" and the re-build correctly, then [by
definition! ;-)] you will have accomplished the same thing as grabbing a
fresh copy and building it.  Its usually easier to start from a fresh
copy and thats why its recommended.

Ed

-- 
Edward H. Hill III, PhD
office:  MIT Dept. of EAPS;  Rm 54-1424;  77 Massachusetts Ave.
             Cambridge, MA 02139-4307
emails:  eh3 at mit.edu                ed at eh3.com
URLs:    http://web.mit.edu/eh3/    http://eh3.com/
phone:   617-253-0098
fax:     617-253-4464




More information about the MITgcm-support mailing list