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

[netCDF #XPO-276613]: compiling f90 and including netcdf



What is the output of

nm /usr/local/lib/libmpi.dylib | grep mpi_sendrecv

give  you?

> There's a lot there,
> 
> /usr/local/lib/libmpi.0.dylib         /usr/local/lib/libmpi_cxx.0.dylib       
> /usr/local/lib/libmpi_f77.0.dylib       /usr/local/lib/libmpi_f90.a
> /usr/local/lib/libmpi.dylib           /usr/local/lib/libmpi_cxx.dylib         
> /usr/local/lib/libmpi_f77.dylib         /usr/local/lib/libmpi_f90.la
> /usr/local/lib/libmpi.la              /usr/local/lib/libmpi_cxx.la            
> /usr/local/lib/libmpi_f77.la
> 
> I tried adding -lmpi_f90 into the path but with no success.
> 
> Any advice?
> 
> Francis
> 
> On 2011-07-28, at 3:38 PM, Unidata netCDF Support wrote:
> 
> > This is an error with the mpi lib. Do these symbols show up in your libmpi 
> > in /usr/local/lib? I don't know the full name of libmpi on your system, but 
> > you could do the following:
> >
> > nm /usr/local/lib/libmpi(.dylib .a .la - not sure what it looks like) | 
> > grep mpi_sendrecv
> >
> > What does that give you?
> >
> > Sean
> >
> >> I copied the files over and got a bunch of error messages because it 
> >> cannot find my mpif.h even thought it's in /usr/local/include, that is 
> >> indicated in the path.
> >>
> >> Undefined symbols:
> >> "_mpi_sendrecv_", referenced from:
> >> ___fourier_MOD_ffty in fourier.o
> >> ___fourier_MOD_iffty in fourier.o
> >> "_mpi_bcast_", referenced from:
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> _params_ in params.o
> >> "_mpi_comm_size_", referenced from:
> >> _MAIN__ in rsw_nl_forced.o
> >> "_mpi_allreduce_", referenced from:
> >> _rk4_time_step_ in rk4.o
> >> "_mpi_finalize_", referenced from:
> >> _MAIN__ in rsw_nl_forced.o
> >> "_mpi_barrier_", referenced from:
> >> _MAIN__ in rsw_nl_forced.o
> >> _save_ncdata_double_ in save_fields.o
> >> _save_ncdata_ in save_fields.o
> >> _checkpoint_ in save_fields.o
> >> _save_mean_state_ in save_fields.o
> >> _save_fields_ in save_fields.o
> >> _save_fields_ in save_fields.o
> >> _init_mean_ in init_u.o
> >> _init_u_ in init_u.o
> >> "_mpi_init_", referenced from:
> >> _MAIN__ in rsw_nl_forced.o
> >> "_mpi_gather_", referenced from:
> >> _save_ncdata_double_ in save_fields.o
> >> _save_ncdata_ in save_fields.o
> >> "_mpi_comm_rank_", referenced from:
> >> _MAIN__ in rsw_nl_forced.o
> >> "_mpi_reduce_", referenced from:
> >> _save_fields_ in save_fields.o
> >> ld: symbol(s) not found
> >> collect2: ld returned 1 exit status
> >> make: *** [rsw] Error 1
> >>
> >> On 2011-07-28, at 3:07 PM, Unidata netCDF Support wrote:
> >>
> >>> You can give it a try, although I am not sure why they didn't get 
> >>> installed in the first place. The output from `make check` shows that the 
> >>> tests passed just fine with the libnetcdff lib, so you should be in good 
> >>> shape to copy them to /usr/local/lib.
> >>>
> >>> Let me know how that goes,
> >>>
> >>> Sean
> >>>
> >>>> Yes.  Should I just copy them over manually?
> >>>>
> >>>> Francis
> >>>>
> >>>> On 2011-07-28, at 3:01 PM, Unidata netCDF Support wrote:
> >>>>
> >>>>> Interesting. What libnetcdf* files do you have in /usr/local/lib? Do 
> >>>>> you see libnetcdff within your netcdf build directory 
> >>>>> (<build-dir>/fortran/.libs/)?
> >>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> I decided to do the make install and it seemed to work.
> >>>>>>
> >>>>>> The serial code still works.  So I haven't lost that.
> >>>>>>
> >>>>>
> >>>>>
> >>>>>> My make file has the line that you suggested.  However, when I try and 
> >>>>>> make all I get that each file compiles ok (better than before) but it 
> >>>>>> cannot find -lnetcdff.  Indeed, it's not in my /usr/local/lib.
> >>>>>>
> >>>>>> ld: library not found for -lnetcdff
> >>>>>> collect2: ld returned 1 exit status
> >>>>>> make: *** [rsw] Error 1
> >>>>>>
> >>>>>> When I configured netcdfi I told it to use a fortran compiler and it 
> >>>>>> seems to know that.  Any ideas why it didn't build the library?
> >>>>>>
> >>>>>> Francis
> >>>>>>
> >>>>>> On 2011-07-28, at 2:19 PM, Unidata netCDF Support wrote:
> >>>>>>
> >>>>>>> Greetings Francis,
> >>>>>>>
> >>>>>>> I looked through your logs and everything looks ok. You could always 
> >>>>>>> do a `make clean` and start from the beginning, but this time set the 
> >>>>>>> --prefix=/where/ever/you/want when running netcdf config to install 
> >>>>>>> the libs in a different directory. Just be sure to update
> >>>>>>>
> >>>>>>> NETCDF = -L/usr/local/lib -lnetcdff -lnetcdf -L/sw/lib -lcurl
> >>>>>>>
> >>>>>>> to point to the custom install directory rather than /usr/local/lib.
> >>>>>>>
> >>>>>>> Let me know how it goes,
> >>>>>>>
> >>>>>>> Sean
> >>>>>>>
> >>>>>>>
> >>>>>>>> Hello Sean,
> >>>>>>>>
> >>>>>>>> I am a bit hesitate to make install the netcdf for fear that it 
> >>>>>>>> won't work serially anymore.  I thought I could compile some netcdf 
> >>>>>>>> code using these libraries but 1) I'm not sure where they are and 2) 
> >>>>>>>> because I'm using fftw3 that is in /usr/local/lib, there's the old 
> >>>>>>>> netcdf that is also there and I'm not sure how to tell it to use one 
> >>>>>>>> or the other.
> >>>>>>>>
> >>>>>>>> Any advice?
> >>>>>>>>
> >>>>>>>> Francis
> >>>>>>>>
> >>>>>>>> On 2011-07-27, at 2:41 PM, Unidata netCDF Support wrote:
> >>>>>>>>
> >>>>>>>>> Francis,
> >>>>>>>>>
> >>>>>>>>> Try re-running config, but add lt_cv_ld_force_load=no like this:
> >>>>>>>>>
> >>>>>>>>> lt_cv_ld_force_load=no ./configure <whatever options you added>
> >>>>>>>>>
> >>>>>>>>> To log make and make check, do the following:
> >>>>>>>>>
> >>>>>>>>> make >& make.out&
> >>>>>>>>>
> >>>>>>>>> Then, to watch things progress, you can do:
> >>>>>>>>>
> >>>>>>>>> tail -f make.out
> >>>>>>>>>
> >>>>>>>>> You can do the exact same thing for make check (just be sure to 
> >>>>>>>>> rename make.out to make_check.out or something like that).
> >>>>>>>>>
> >>>>>>>>> Make sure to do a `make clean` before trying the above steps.
> >>>>>>>>>
> >>>>>>>>> Cheers!
> >>>>>>>>>
> >>>>>>>>> Sean
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Hello Sean,
> >>>>>>>>>>
> >>>>>>>>>> Here is a copy of my config.log.  I don't see where the make and 
> >>>>>>>>>> make check were stored.  If you tell me I'll send them.  
> >>>>>>>>>> Otherwise, I'll redo the make and make check and send you the 
> >>>>>>>>>> output.
> >>>>>>>>>>
> >>>>>>>>>> Thanks,
> >>>>>>>>>> Francis
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On 2011-07-27, at 1:15 PM, Unidata netCDF Support wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Francis,
> >>>>>>>>>>>
> >>>>>>>>>>> Would you mind sending me the configure, make, and make check 
> >>>>>>>>>>> logs from your desktop build?
> >>>>>>>>>>>
> >>>>>>>>>>> Thanks!
> >>>>>>>>>>>
> >>>>>>>>>>> Sean
> >>>>>>>>>>>
> >>>>>>>>>>>> Hello Sean,
> >>>>>>>>>>>>
> >>>>>>>>>>>> Thanks for the advice.  I'm testing this out on a MacPro and  
> >>>>>>>>>>>> MacBook Pro.
> >>>>>>>>>>>>
> >>>>>>>>>>>> On my laptop it compiles fine, thanks!   The nc-config didn't 
> >>>>>>>>>>>> say that but now I know better.
> >>>>>>>>>>>>
> >>>>>>>>>>>> On my desktop it no longer complains about not finding 
> >>>>>>>>>>>> netcdf.mod (that's progress) but now it doesn't find netcdff.  
> >>>>>>>>>>>> When I look in usr/local/lib I see netcdf and netcdf_c++ but no 
> >>>>>>>>>>>> netcdff.  Maybe I needed to do something to include it when I 
> >>>>>>>>>>>> built netcdf 4.1.1?
> >>>>>>>>>>>>
> >>>>>>>>>>>> Cheers,
> >>>>>>>>>>>> Francis
> >>>>>>>>>>>>
> >>>>>>>>>>>> On 2011-07-27, at 11:48 AM, Unidata netCDF Support wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Greetings Francis!
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> You seem to be missing the netcdf fortran library (-lnetcdff) 
> >>>>>>>>>>>>> in your NETCDF variable. It should be something like:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> NETCDF = -L/usr/local/lib -lnetcdff -lnetcdf -L/sw/lib -lcurl
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> If you need to see what lib flags you should use, check out the 
> >>>>>>>>>>>>> program nc-config:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> nc-config --flibs
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> There are all kinds of goodies that can be found using 
> >>>>>>>>>>>>> nc-config...check out
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> nc-config --help
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> for more info.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Please let me know if adding -lnetcdff works for you.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Cheers!
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Sean
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Hello,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Since my first email I've made some progress, but I'm still 
> >>>>>>>>>>>>>> having some difficulty.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Since last I wrote I have figured out that netcdf does seem to 
> >>>>>>>>>>>>>> be installed correctly because I can run some f90 programs 
> >>>>>>>>>>>>>> that call netcdf.  At least in serial.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> For my serial problem my makefile looks like
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> FC      = /sw/bin/gfortran
> >>>>>>>>>>>>>> FFLAGS  = -g -O2 -I/usr/local/include
> >>>>>>>>>>>>>> MATH    = -lm
> >>>>>>>>>>>>>> NETCDF  = -L/usr/local/lib -lnetcdf -L/sw/lib -lcurl
> >>>>>>>>>>>>>> FFT     = -L/usr/local/lib -lfftw3
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> all:rsw
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> %.o: %.f90
> >>>>>>>>>>>>>> $(FC) $(FFLAGS) -c $<
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> rsw: $(OBJ)
> >>>>>>>>>>>>>> $(FC) $(FFLAGS) -o rsw_nl.out $(OBJ) $(MATH) $(FFT) $(NETCDF)
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> My MPI version is very similar and looks like this,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> FC      = /usr/local/bin/mpif90
> >>>>>>>>>>>>>> FFLAGS  = -g -O2 -I/usr/local/include
> >>>>>>>>>>>>>> MATH    = -lm
> >>>>>>>>>>>>>> NETCDF  = -L/usr/local/lib -lnetcdf -L/sw/lib -lcurl
> >>>>>>>>>>>>>> FFT     = -L/usr/local/lib -lfftw3
> >>>>>>>>>>>>>> MPI     = -L/usr/local/lib -lmpi
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> all:rsw
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> %.o: %.f90
> >>>>>>>>>>>>>> $(FC) $(FFLAGS) $(NETCDF) -c $<
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> rsw: $(OBJ)
> >>>>>>>>>>>>>> $(FC) $(FFLAGS) -o rsw_nl.out $(OBJ) $(MATH) $(FFT) $(MPI) 
> >>>>>>>>>>>>>> $(NETCDF)
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Unfortunately in this case it cannot find netcdf.mod
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> /usr/local/bin/mpif90 -g -O2 -I/usr/local/include 
> >>>>>>>>>>>>>> -L/usr/local/lib -lnetcdf -L/sw/lib -lcurl -c save_fields.f90
> >>>>>>>>>>>>>> save_fields.f90:6.12:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> USE netcdf
> >>>>>>>>>>>>>> 1
> >>>>>>>>>>>>>> Fatal Error: Wrong module version '0' (expected '6') for file 
> >>>>>>>>>>>>>> 'netcdf.mod' opened at (1)
> >>>>>>>>>>>>>> make: *** [save_fields.o] Error 1
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> even though there is a local copy of it in the directory,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Do you have any ideas why I can use netcdf in serial but not 
> >>>>>>>>>>>>>> in parallel? I've tried restructuring my makefile but to no 
> >>>>>>>>>>>>>> avail.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>> Francis
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On 2011-07-20, at 10:54 AM, Unidata netCDF Support wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Francis Poulin,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Your Ticket has been received, and a Unidata staff member 
> >>>>>>>>>>>>>>> will review it and reply accordingly. Listed below are 
> >>>>>>>>>>>>>>> details of this new Ticket. Please make sure the Ticket ID 
> >>>>>>>>>>>>>>> remains in the Subject: line on all correspondence related to 
> >>>>>>>>>>>>>>> this Ticket.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Ticket ID: XPO-276613
> >>>>>>>>>>>>>>> Subject: compiling f90 and including netcdf
> >>>>>>>>>>>>>>> Department: Support netCDF
> >>>>>>>>>>>>>>> Priority: Normal
> >>>>>>>>>>>>>>> Status: Open
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> The NetCDF libraries are developed at the Unidata Program 
> >>>>>>>>>>>>>>> Center/UCAR,
> >>>>>>>>>>>>>>> in Boulder, Colorado; we are funded primarily by the U.S. 
> >>>>>>>>>>>>>>> National
> >>>>>>>>>>>>>>> Science Foundation.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> All support requests are handled by the development team; no
> >>>>>>>>>>>>>>> dedicated support staff are funded at this time. For this 
> >>>>>>>>>>>>>>> reason
> >>>>>>>>>>>>>>> we cannot guarantee response times, nor can we resolve every 
> >>>>>>>>>>>>>>> support
> >>>>>>>>>>>>>>> issue, although we do our best to respond within 72 hours.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> It is in the nature of support requests that the same 
> >>>>>>>>>>>>>>> question is
> >>>>>>>>>>>>>>> asked many times. We urge you to search the support archives 
> >>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>> material relating to your support inquiry:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> http://www.unidata.ucar.edu/search.jsp?support&netcdf
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> If you are having trouble building netCDF, please take a look 
> >>>>>>>>>>>>>>> at the
> >>>>>>>>>>>>>>> "Build Troubleshooter" section of the netCDF home page:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> http://www.unidata.ucar.edu/software/netcdf/
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Windows users should see the FAQ list:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#windows_netcdf4
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Complete documentation (including a tutorial, and sample 
> >>>>>>>>>>>>>>> programs in
> >>>>>>>>>>>>>>> C, Fortran, Java, and other programming languages) can be 
> >>>>>>>>>>>>>>> found on the
> >>>>>>>>>>>>>>> netCDF Documentation page:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> http://www.unidata.ucar.edu/software/netcdf/docs/
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> If you resolve your issue through one of these methods, 
> >>>>>>>>>>>>>>> please send a
> >>>>>>>>>>>>>>> reply to this email letting us know that you no longer require
> >>>>>>>>>>>>>>> assistance. This will help us spend more time on netCDF 
> >>>>>>>>>>>>>>> development.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Unidata User Support
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Ticket Details
> >>>>>>>>>>>>> ===================
> >>>>>>>>>>>>> Ticket ID: XPO-276613
> >>>>>>>>>>>>> Department: Support netCDF
> >>>>>>>>>>>>> Priority: High
> >>>>>>>>>>>>> Status: Open
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> Ticket Details
> >>>>>>>>>>> ===================
> >>>>>>>>>>> Ticket ID: XPO-276613
> >>>>>>>>>>> Department: Support netCDF
> >>>>>>>>>>> Priority: High
> >>>>>>>>>>> Status: Open
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Ticket Details
> >>>>>>>>> ===================
> >>>>>>>>> Ticket ID: XPO-276613
> >>>>>>>>> Department: Support netCDF
> >>>>>>>>> Priority: High
> >>>>>>>>> Status: Open
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Ticket Details
> >>>>>>> ===================
> >>>>>>> Ticket ID: XPO-276613
> >>>>>>> Department: Support netCDF
> >>>>>>> Priority: High
> >>>>>>> Status: Open
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> Ticket Details
> >>>>> ===================
> >>>>> Ticket ID: XPO-276613
> >>>>> Department: Support netCDF
> >>>>> Priority: High
> >>>>> Status: Open
> >>>>
> >>>>
> >>>
> >>>
> >>> Ticket Details
> >>> ===================
> >>> Ticket ID: XPO-276613
> >>> Department: Support netCDF
> >>> Priority: High
> >>> Status: Open
> >>
> >>
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: XPO-276613
> > Department: Support netCDF
> > Priority: High
> > Status: Open
> 
> 


Ticket Details
===================
Ticket ID: XPO-276613
Department: Support netCDF
Priority: High
Status: Open


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.