[Met_help] fm theo carter dubai re: failure during make

John Halley Gotway johnhg at rap.ucar.edu
Fri May 8 06:52:24 MDT 2009


Theo,

If you look closely, those are just warning messages from BUFRLIB.  I get them too when compiling with "gfortran", but they won't cause you any problems.  Warnings are generally OK - it's the errors
you should worry about.

You're right that the compiler is complaining that it can't find the file "gsl_cdf.h".  Here's what I'd suggest doing:

cd /wrf/libraries/gsl-1.9
make clean
./configure --prefix=`pwd`
make
make install

Next, in the top-level MET Makefile, make sure that the following is set:
GSL_BASE     = /wrf/libraries/gsl-1.9
GSL_INCS     = -I$(GSL_BASE)/include
GSL_LIBS     = -L$(GSL_BASE)/lib

And then try rebuilding MET.

Hope that helps.

John

Theo Carter wrote:
> 
> 
> 
> 
> 
> 
> Hi John,
> 
> I did put in the file you sent into BUFRLIB, however, I still got the following errors: 
> 
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> [root at localhost BUFRLIB]# gcc -c -DUNDERSCORE *.c
> [root at localhost BUFRLIB]# gfortran -c -DUNDERSCORE -fno-second-underscore *.f *.F
>  In file nemock.f:77
> 
>       IF(NEMO(I:I).EQ.CHRSET(J:J)) GOTO 10
>                                                                        1
>  In file nemock.f:81
> 
> 
>                    2
> Warning: Obsolete: GOTO at (1) jumps to END of construct at (2)
>  In file stndrd.f:202
> 
>          GOTO 10
>                                                                        1
>  In file stndrd.f:207
> 
> 
>                    2
> Warning: Obsolete: GOTO at (1) jumps to END of construct at (2)
> [root at localhost BUFRLIB]#  
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> 
> I did carry on and install the rest of the libraries etc, and then ran make on mettools version 2 and got to the following point where it is looking for something in the gsl libraries - but the location is strange?  
> 
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> 
> *** Making vx_contable Library ***
> 
> /usr/bin/g++ vx_contable.cc -Wall -Wshadow -static   -c -I..
> /usr/bin/g++ vx_contable_stats.cc -Wall -Wshadow -static   -c -I.. -I/wrf/libraries/gsl-1.9/include -I/usr/local/include
> In file included from ../vx_gsl_prob/vx_gsl_prob.h:17,
>                  from ../vx_met_util/compute_ci.h:16,
>                  from ../vx_met_util/vx_met_util.h:17,
>                  from vx_contable_stats.cc:21:
> ../vx_gsl_prob/gsl_cdf.h:17:25: error: gsl/gsl_cdf.h: No such file or directory
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> 
> I did a 'locate' and found the library here??
> 
> [wrf at localhost gsl-1.9]$ locate gsl_cdf.h
> /wrf/METv2.0/lib/vx_gsl_prob/gsl_cdf.h
> /wrf/libraries/gsl-1.9/cdf/gsl_cdf.h
> [wrf at localhost gsl-1.9]$ 
> 
> How do I get past this problem? 
> 
> Cheers and thanks for the help so far,
> Theo
> 
> 
>> Date: Wed, 6 May 2009 15:24:18 -0600
>> Subject: RE: [Met_help] fm theo carter dubai re: failure during make
>> From: johnhg at rap.ucar.edu
>> To: thibidottwo at hotmail.com
>> CC: met_help at ucar.edu
>>
>> Theo,
>>
>> Good news.  When I compile the current version of BUFRLIB using
>> gcc/gfortran, I see the exact same warning and error messages.  In fact,
>> when I use gfortran on the latest version of Debian Linux (Lenny), I see
>> even more warning messages.
>>
>> I've also been in touch with BUFRLIB support about this, and they're aware
>> of the issue with compiling BUFRLIB with the GNU compilers.  There is a
>> very simple fix to get that file "nvnwin.f" to compile without error. 
>> However, I don't believe that you need it to get MET working.
>>
>> Try compiling BUFRLIB using the following 3 commands:
>>       gcc -c -DUNDERSCORE *.c
>>       gfortran -c -DUNDERSCORE -fno-second-underscore *.f *.F
>>       ar crv libbufr.a *.o
>>
>> Ignore the warnings and error, and then try building MET.  I believe it
>> should work fine.
>>
>> If you'd like to get rid of that BUFRLIB error message, you're welcome to
>> replace your version of the file "BUFRLIB/nvnwin.f" with the version I've
>> attached.  It includes the simple fix which should get rid of that error
>> message from gfortran.
>>
>> Thanks and good luck,
>> John
>>
>>> Hi John,
>>>
>>> I have tried to install BUFRLIB on fedora 10 and centos 5.3 now, and in
>>> both cases I get the same following problem, have you come across this
>>> before. It is disheartening to fail at the first hurdle like this. My
>>> system is standard desktop (two different ones, here at home and at work).
>>>
>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>>> [root at localhost BUFRLIB]# whereis gcc
>>> gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc
>>> /usr/share/man/man1/gcc.1.gz
>>> [root at localhost BUFRLIB]# whereis gfortran
>>> gfortran: /usr/bin/gfortran /usr/share/man/man1/gfortran.1.gz
>>> [root at localhost BUFRLIB]# gcc -c -DUNDERSCORE *.c
>>> [root at localhost BUFRLIB]# gfortran -c -DUNDERSCORE -fno-second-underscore
>>> *.f *.
>>> F
>>>  In file nemock.f:77
>>>
>>>       IF(NEMO(I:I).EQ.CHRSET(J:J)) GOTO 10
>>>                                                                        1
>>>  In file nemock.f:81
>>>
>>>
>>>                    2
>>> Warning: Obsolete: GOTO at (1) jumps to END of construct at (2)
>>>  In file nvnwin.f:84
>>>
>>>       INVN(I) = BMISS
>>>                1
>>> Error: Arithmetic overflow converting REAL(8) to INTEGER(4) at (1)
>>>  In file stndrd.f:202
>>>
>>>          GOTO 10
>>>                                                                        1
>>>  In file stndrd.f:207
>>>
>>>
>>>                    2
>>> Warning: Obsolete: GOTO at (1) jumps to END of construct at (2)
>>> [root at localhost BUFRLIB]#
>>>
>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>>>
>>> Any help you can give will be great - I sent off a query to the bufrlib
>>> helpdesk on their website, but have had no reply.
>>> Thanks,
>>> Theo Carter, Forecaster, Dubai Met Office.
>>>
>>>> Date: Wed, 29 Apr 2009 06:38:24 -0600
>>>> From: johnhg at rap.ucar.edu
>>>> To: thibidottwo at hotmail.com
>>>> CC: met_help at ucar.edu
>>>> Subject: Re: [Met_help] fm theo carter dubai re: failure during make
>>>>
>>>> Theo,
>>>>
>>>> Based on that error message, I'd guess that there's an issue with your
>>>> version of BUFRLIB.
>>>>
>>>> Where did you obtain the version of BUFRLIB you're using?  Is by any
>>>> chance part of WRF-Var?  If so, that version may or may not work.
>>>>
>>>> For compiling MET, be sure to use the version that's distributed by
>>>> NCEP: http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB
>>>>
>>>> The following 3 commands should work to compile this version of BUFRLIB
>>>> with gcc/gfortran:
>>>>       gcc -c -DUNDERSCORE *.c
>>>>       gfortran -c -DUNDERSCORE -fno-second-underscore *.f *.F
>>>>       ar crv libbufr.a *.o
>>>>
>>>> These were taken from the METv2.0 Online Tutorial:
>>>> http://www.dtcenter.org/met/users/support/online_tutorial/METv2.0/compilation/req_libs.php
>>>>
>>>> Please try rebuilding BUFRLIB and recompiling MET to see if that fixes
>>>> the problem.
>>>>
>>>> Thanks,
>>>> John Halley Gotway
>>>> johnhg at ucar.edu
>>>>
>>>>
>>>> Theo Carter wrote:
>>>>> Hi,
>>>>>
>>>>> I wonder if you can help or if you have come across this problem
>>>> before? While running make on a very generic basic Pentium 4 32-bit
>>>> using gfortran, gcc and g++ compilers within a CentOS 5.3 OS (RHEL 5
>>>> clone) the build fails with the following output.
>>>>>
>>>>> /wrf/extralibraries/libbufr.a(ufbevn.o): In function `ufbevn_':
>>>>> ufbevn.f:(.text+0xa6e): undefined reference to `nvnwin_'
>>>>> collect2: ld returned 1 exit status
>>>>> make[3]: *** [pb2nc] Error 1
>>>>> make[2]: *** [all] Error 2
>>>>> make[1]: *** [targets] Error 2
>>>>> make: *** [all] Error 2
>>>>>
>>>>>
>>>>> BUFRLIB was built on the same machine.
>>>>>
>>>>> I then end up with only gen_poly_mask, grid_stat, mode and pcp_combine
>>>> executables in my /bin.
>>>>> Any help would be appreciated,
>>>>> Thanks,
>>>>> Theo Carter
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> 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