[MITgcm-devel] make depend on sun (o:
Martin Losch
mlosch at awi-bremerhaven.de
Fri Feb 25 14:35:40 EST 2005
Hi Ed,
I put this
FC_NAMEMANGLE="#define FC_NAMEMANGLE(X) X ## _"
into sunos_sun4_g77 and it works (it's the same as in the
sunos_sun4u_f77). I am surprised that it hasn't been a problem so far
(sunos_sun4u_g77 is the default build_options file, as far as I can
see. It's all very mysterious to me. But I'll happily go along with
this:
- adjust sunos_sun4_g77 (include the FC_NAMEMANGLE line)
- use the cyrus makedepend by default on SunOS (how does this happen,
is that the default anyway? otherwise I have to change at least 3
files: sunos_sun4u_g77 sunos_sun4u_f77 sunos_sun4u_mpf77+mpi_sunfire.
There are also two files sunos and sunos+mpi, which are almost the same
and both obsolete, I think. Maybe we should remove them?)
- maybe fix xmakedepend, so that it works with Sun (use hard coded
/lib/cpp), but will that work with other systems? here are the files
that still contain xmakedepend:
> csysm3::build_options> grep xmakedepend *
> darwin_absoft_f77:#MAKEDEPEND='${TOOLSDIR}/xmakedepend'
> darwin_ppc_g77:#EH3 MAKEDEPEND='${TOOLSDIR}/xmakedepend'
> darwin_ppc_xlf:MAKEDEPEND='${TOOLSDIR}/xmakedepend'
> darwin_ppc_xlf_panther:MAKEDEPEND='${TOOLSDIR}/xmakedepend'
> sunos_sun4u_f77:MAKEDEPEND='$(TOOLSDIR)/xmakedepend'
> sunos_sun4u_g77:MAKEDEPEND='$(TOOLSDIR)/xmakedepend'
> sunos_sun4u_g77~:MAKEDEPEND='$(TOOLSDIR)/xmakedepend'
> sunos_sun4u_mpf77+mpi_sunfire:MAKEDEPEND='$(TOOLSDIR)/xmakedepend'
So it's only sun and apple with xlf (why is that necessary, when we
don't need it for darwin_ppc_g77?). If that darwin+xlf thing is sorted
out, xmakedepend is no longer necessary, except for a fallback.
Martin
PS. I am at home now, so I'll respond only slowly (or not at all before
monday).
On Feb 25, 2005, at 6:07 PM, Ed Hill wrote:
> On Fri, 2005-02-25 at 17:54 +0100, Martin Losch wrote:
>> I like your idea, I have wasted so much time with xmakedepend now.
>
> Good. I'd like to see xmakedepend go away but its better to keep it as
> a last-resort. And a good near-term goal is to make it unnecessary on
> as many machines as possible.
>
>
>> I could compile cyrus-imapd-makedepend on solaris 9, which is what we
>> are using, on both machines that are really relevant (the ones that
>> are
>> being tested every week).
>>
>> this makedepend is incredibly fast, but does it do the right thing?
>
> Yes, its vary fast because its written in C, not shell scripts. And it
> is most likely doing the right things since we do rely on it for a
> number of different machines.
>
>
>> after using i get a compile error at the link step:
>>
>>> Undefined first referenced
>>> symbol in file
>>> timenow_ timers.o
>>> ld: fatal: Symbol referencing errors. No output written to mitgcmuv
>>> collect2: ld returned 1 exit status
>>> *** Error code 1
>>> make: Fatal error: Command failed for target `mitgcmuv'
>>
>> this has to do with some c-routines (timenow_), will I have to change
>> the FC_MANGLE stuff?
>
> Yes, this is the Fortran-calling-C thing once again and it probably has
> nothing to do with "make depend". Could you please send me the output
> from these two commands:
>
> nm timers.o
> nm tim.o
>
> and I'll tell you want to put in your optfile for the FC_NAMEMANGLE
> macro for that particular setup.
>
> 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
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://dev.mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list