[Met_help] help for installing METv2.0
pgoldenb at ucar.edu
Thu Nov 5 13:03:00 MST 2009
I have examined the symbol names that your compilers have produced in
the nm.out files you sent me. The symbol name of interest that I see in
those files is 'bort_exit___Fv'. The symbol name that pb2nc is
expecting is 'bort_exit_'. This is causing the compiler error. I
suspect that the discrepancy may be caused by incompatible versions of
the PGI compilers. Can you please run the following three commands and
send me the output?
Another possible problem may be if you are trying to use an older
instance of BUFRLIB. If you haven't recently done so, please download
the latest BUFRLIB source and try to build MET using that.
You may need to adjust the compiler flags that are sent to pgcc so that
the symbol names are generated in the way that MET is expecting. Please
use the nm tool that I mentioned earlier to see exactly what the
generated symbol name is. Here is the output from an instance of
bufrlib.a that compiles with MET correctly:
nm libbufr.a | grep bort_exit
00000027 t __bort_exit_END
00000010 T bort_exit_
Here is the output that you sent us for your instance of bufrlib.a:
cat nm.out.new | grep bort_exit
00000017 t __bort_exit___FvEND
00000000 T bort_exit___Fv
The exported symbol name is preceded by the letter T in the nm output.
You can see the difference which is causing the compiler error in pb2nc.
Feng Liu wrote:
> Hi, Paul,
> Thank you very much in such a professional support way. I think I
> compiled BUFRLIB with those flags suggested in your email, please see
> nm.out.old attached for your review. In order for you to confirm, I
> rebuild BURFLIB according to your comments in your email. But I still
> failed to compile pb2nc.cc, please see the make_met.log.new attached. I
> also send you the correspondent nm.out.new. Thanks for your time to
> support me to fix this problem.
> -----Original Message-----
> From: Paul Oldenburg [mailto:pgoldenb at ucar.edu]
> Sent: Thursday, November 05, 2009 8:25 AM
> To: Feng Liu; met_help at ucar.edu
> Subject: Re: [Met_help] help for installing METv2.0
> Sorry it took a while to respond. I suspect that you have not compiled
> the BUFRLIB in the way that MET is expecting. To confirm this, can you
> please run the following command and send me the resulting file, nm.out?
> nm libbufr.a >& nm.out
> The error messages in your most recent make_met.log are sometimes caused
> by compiling the BUFRLIB without using the -DUNDERSCORE compiler flag.
> Did you use the following commands to compile BUFRLIB? If not, then
> please try to do so.
> (in the BUFRLIB folder)
> rm *.o *.a
> pgcc -c -DUNDERSCORE *.c
> pgf77 -c -DUNDERSCORE -Mnosecond_underscore *.f *.F
> ar crv libbufr.a *.o
> These are taken from the following URL, which has instructions for
> compiling all the MET libraries:
> Please let me know if there are any more problems compiling MET.
> Feng Liu wrote:
>> Hi, Paul,
>> I compiled NetCDF 3.6.3 successfully after I setenv CC pgCC (not pgcc)
>> and I got all NetCDF libraries. Then I went to compile MET. I also got
>> some exe files in /bin, but not complete
>> but I still found errors in my make_met.log, please see attached for
>> your check, I do not know how to fix because burflib.h and burflib.a
>> changed the names into libburf.a and libburf.h, respectively, due to
>> "..not found" shown in the error message) have been generated
>> successfully and set correct path to point to them in Makefile. Thank
>> you for your time to check it out.
>> -----Original Message-----
>> From: met_help-bounces at mailman.ucar.edu
>> [mailto:met_help-bounces at mailman.ucar.edu] On Behalf Of Paul Oldenburg
>> Sent: Friday, October 30, 2009 8:05 AM
>> To: met_help at ucar.edu
>> Subject: Re: [Met_help] help for installing METv2.0
>> The error messages in make_met.log indicate that the required library
>> NetCDF cannot be accessed by your c++ compiler, pgCC. When you
>> NetCDF, did you use the same pgCC compiler that you are using to
>> MET? By default, NetCDF will use the GNU compilers. If NetCDF was
>> compiled with the same pgcc/pgCC compilers, this may be causing the
>> problem. Please read the instructions for how to compile NetCDF on
>> following web page:
>> To compile NetCDF with the pgcc/pgCC compilers, you should set the CC
>> and CXX environment variables before running the configure script in
>> NetCDF source bundle. e.g.
>> $ export CC=`which pgcc`
>> $ export CXX=`which pgCC`
>> $ ./configure
>> Then, clean your MET tree and try to rebuild it. If you have any
>> questions, please let us know.
>> Feng Liu wrote:
>>> I faced a compilation problem when I was try to build MET 2.0. The
>>> error message can be found in make_met.log attached. My updated
>>> Makefile is also attached for your review. Thanks for your time to
>>> check out.
>>> Feng Liu
>>> Feng Liu, Ph.D.
>>> Air Quality Engineer
>>> Maricopa Association of Governments
>>> 302 North 1st Ave, Ste. 300
>>> Phoenix, AZ 85003
>>> Voice: (602) 254-6300
>>> Fax : (602) 254-6490
>>> E-mail: fliu at mag.maricopa.gov <blocked::mailto:fliu at mag.maricopa.gov>
>>> Met_help mailing list
>>> Met_help at mailman.ucar.edu
>> Met_help mailing list
>> Met_help at mailman.ucar.edu
More information about the Met_help