[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn checkout leads to broken compile

From: Tim Whitcomb <ude_tim_at_mit.edu>
Date: 2005-01-27 01:21:05 CET

Dale Worley wrote:
> -----Original Message-----
> From: Tim Whitcomb [mailto:ude_tim@mit.edu]
> Any ideas on what is going wrong? I apologize for the length of this
> message but wanted to convey what I've tried so far. Thanks!
> ---------------------------------------------------------------------
> I would repeat the experiment, but carefully save the output of the make
> runs. The only differences between these should be the paths that are the
> roots of the three trees. Now do a search-and-replace on each to replace
> the tree root path with some marker. Now do diff

An excellent idea. I tried this, with the following result:

As is to be expected, the two cases where compilation completed
successfully showed no difference between the two (once the paths were
changed to match). However, comparing the unsuccessful compilation to
the successful lead to the following (cleaned up a little) that are in
the unsuccessful compile and not in the successful compile.
====
/usr/local/pkg/pgi/pgi-5.2/linux86/5.2/bin/pgf90
-L/usr/local/pkg/pgi/pgi-5.2/linux86/5.2/lib
-I/usr/local/pkg/pgi/pgi-5.2/linux86/5.2/include
-L/usr/local/pkg/gm/gm-2.0.14/lib -I/usr/local/pkg/gm/gm-2.0.14/include
  -F -o coda.f coda.F

/usr/local/pkg/pgi/pgi-5.2/linux86/5.2/bin/pgf90
-L/usr/local/pkg/pgi/pgi-5.2/linux86/5.2/lib
-I/usr/local/pkg/pgi/pgi-5.2/linux86/5.2/include
-L/usr/local/pkg/gm/gm-2.0.14/lib -I/usr/local/pkg/gm/gm-2.0.14/include
   -F -o fld3_trp.f fld3_trp.F

(this goes on for about 4 or 5 more files but you get the idea)
====

In what is most likely not a coincidence, these files contain the
functions that are later complained about as being undefined references.
  If I then take the .F files and diff them with the successful
compiles, they are the same. The resulting .f files are different.
This only happens with several of the .F files in this directory - the
other .F files in the directory appear to be working just fine. The
relevant section of the makefile is:
====
.F.a:
         $(FC) -c $(FFLAGSC) -I$(INCLUDE_DIR) $*.F
         $(AR) $(LIB) $*.o
         $(RM) $*.o

.f.a:
         $(FC) -c $(FFLAGSC) -I$(INCLUDE_DIR) $*.f
         $(AR) $(LIB) $*.o
         $(RM) $*.o
====

I look over this, and I notice that nowhere in the .F target is there a
command to output to a .f file - it all goes to an object file.

I've been looking a little more at this issue, and I see that the paths
shown above in the wrong compiles match my FC_FLAGS/F90_FLAGS/etc set in
my environment variables (i.e. the /usr/.../pkg/gm shows up nowhere else
in my Makefiles). I suspect this is where the problems are coming from:
inspection shows that the .F->.f->.o corresponds to the "wrong" flags
(i.e. the environment variable settings) corresponds to the files
complained about later. Why in the world would checkout/export make a
difference for these? Solve this and it looks like you might have
solved my problem.

Again, apologies about the length. I find that topics like this
unfortunately require more data than they are worth.

Tim

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Jan 27 01:23:15 2005

This is an archived mail posted to the Subversion Users mailing list.