[Met_help] METv2 compilation abort with 32 option on 64 machine

John Halley Gotway johnhg at rap.ucar.edu
Thu Aug 20 11:58:47 MDT 2009


Ana,

Sorry for the delay in getting back to you.  I'd strongly suggest choosing a single family of compilers before proceeding.

You say you're using GNU C and C++ and the PGI FORTRAN compiler.  I'd suggest using all GNU or all PGI:
GNU: g++, gfortran
PGI: pgcc, pgCC, pgf77, pgf90

In particular, the PB2NC tool includes both C++ code and FORTRAN code (for communicating with the BUFRLIB library).  I'd expect that you'd have problems in PB2NC if you're using different families of
compilers.

And for METv2.0, you should no longer need to run the cwordsh utility to perform FORTRAN blocking.  That should now be handled by the PB2NC tool itself.

Please try switching over to a single family of compilers (probably PGI), see how far you get, and then let me know where your problems are.

Thanks,
John Halley Gotway
johnhg at ucar.edu

Ana Cristina Carvalho wrote:
> 
> Dear MET_help
> after my first e-mail i get the help of a friend on this compilation
> terrifying compilation world.
> after some strugle in order to compile the required libraries for the
> METv2.0 and METv2.0 on a 64 machine with 32 bit option we have made some
> succefull steps, but owe are in the middle of the process with multiple
> questions...
> 
> so, the linux is debian, the c and c++ are gnu, and fortran compiler is pgi
> for others that may experience the same problems, when compiling with 32
> bit options there are some stufs that must be there concerning  gnu c
> and cc++, such as the g++ multilib and the gcc dev and multilib.
> 
> In order to pgf compile with the 32 bit option, some changes were needed,
> namely, following what we have found
> (http://www.pgroup.com/userforum/viewtopic.php?t=1214&postdays=0&postorder=asc&start=5),
> simply because the -tp=core2 option didn't work.
> 
> “Hi,
> 
> Can you please try edit /opt/pgi/linux86/7.1-6/localrc as follow:
> 
> set DEFLIBDIR=/usr/lib32
> set DEFSTDOBJDIR=/usr/lib32
> 
> and remove
> 
> set EXTRAASARGS=--32.”
> 
> for all compilations it was necessary to force the actual path for the
> 32 bits versions (either gcc, g++ and fortran)
> in pgi compilares is somwhere under (in our case)
> 
> /opt/pgi/linux86/pgi_version/bin/
> 
> Concerning netcdf, we have installed version 3.6.3 with the following
> env configuration (and it worked), following part of recomendations on
> the pgi page.
> 
> export CC=/usr/bin/gcc
> 
> export CFLAGS="-m32"
> 
> export CPPFLAGS="-m32 -DNDEBUG -DpgiFortran"
> 
> export CXX=/usr/bin/g++
> 
> export CXXFLAGS="-m32"
> 
> export F77=/opt/pgi/linux86/7.1-2/bin/pgf77
> 
> export F90=/opt/pgi/linux86/7.1-2/bin/pgf90
> 
> export FC=/opt/pgi/linux86/7.1-2/bin/pgf90
> 
> export FFLAGS="-O2 -w -V"
> 
> 
> 
> Concerning the cwordsh
> we have set
>  FC= /opt/pgi/linux86/7.1-2/bin/pgf77
> and in order to obtain the executable it only have worked this way
> (entering the name of the lib and not only the path to the lib. We have
> also tried with the -L option and it didn't work. May be we were making
> something wrong):
> $FC -o cwordsh.x cwordsh.f /home/anac/dir_BUFRLIB/libbufr.a
> 
> For METv2 compilation... abborted :-(
> 
> I am sending you the makefile and the make_met.log ...
> 
> some questions exists that may be a little bit hiden. WRFV3 is compiled
> with the chem option active,  dm par option active, with netcdf
> version4, everything in 64 bits. Is there any problem that may arise on
> this...
> 
> 
> thank you so much for any help,
> anac
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Met_help mailing list
> Met_help at mailman.ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/met_help


More information about the Met_help mailing list