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

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



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