[ncl-install] HDF-EOS5 build issues

Mary Haley haley at ucar.edu
Fri May 29 11:40:36 MDT 2015


Hi David,

First, though, would you be able to use one of our precompiled NCL binaries
for LINUX, so you don't have to do the build yourself? We have Debian and
RedHat binaries, and you should be able to use these on other flavors of
Linux.

If you still want to do the source build yourself, then here are the env
vars I recommend setting:

export CC=gcc
export CXX=g++
export FC=gfortran
export F77=gfortran
export F90=gfortran

Using "f77" (lowercase) is probably not going to affect anything on your
system.

You may also want:

export CFLAGS=-fPIC
export FFLAGS=-fPIC
export F90FLAGS=-fPIC
export CXXFLAGS=-fPIC

This is your chance to set any other particular flags you want, like
optimization flags.  I usually try to keep it as "bare" as possible and let
the compiler figure out the options it wants to use.

Finally, as a precaution, I recommend setting LINUX_BRAND, depending on
whether you have a 32-bit or 64-bit system:

export LINUX_BRAND linux64

or

export LINUX_BRAND linux32

If you are having to do a full blown build of all those external software
packages that NCL depends on, let me know. I have a script that can help
with this.

--Mary




On Fri, May 29, 2015 at 11:22 AM, David Stanfel <dstanfel at ualberta.ca>
wrote:

> Hello,
>
> Thanks for the reply. I would like to try that. How would I go about
> specifying the use of gcc and gfortran? I set the environment variables:
>
> export CC=gcc
> export f77=gfortran
>
> What more would be needed?
>
> Thanks,
>
> David
>
> On Fri, May 29, 2015 at 11:05 AM, Mary Haley <haley at ucar.edu> wrote:
>
>> [Before I address this issue, I would like to appeal to other people
>> subscribed to ncl-install to see if anybody has successfully built NCL
>> using the "clang" compiler on MacOS, paired with a fortran compiler like
>> "gfortran".]
>>
>> Hi David,
>>
>> The config.log file was very helpful, thanks.
>>
>> I hate to deflect this, but this looks like an issue that perhaps the
>> HDF-EOS5 people need to address.
>>
>> The problem is that "h5cc" is being used build HDF-EOS5, which is what it
>> should do, but apparently HDF5 was built with "clang", so this got put into
>> "h5cc", and HDF-EOS5 doesn't seem to work with "clang". Here's the place in
>> the "config.log" file that I think is the source of the problem:
>>
>> configure:22754: checking for hdf5 szip encoding filter
>> configure:22796: /usr/local/hdf5-1.8.15/bin/h5cc -o conftest -g -O2
>> -I/usr/local/hdf5-1.8.15//include  -I/usr/local/zlib-1.2.8//include
>> -I/usr/local/szip-2.1//include -I/usr/local/hdf5-1.8.15//include
>>  -L/usr/local/zlib-1.2.8//lib -L/usr/local/szip-2.1//lib -L/usr/local/hdf5-1.8.15//lib
>> conftest.c -lhdf5_hl -lhdf5 -lsz -lz -lm  >&5
>> clang: warning: argument unused during compilation:
>> '-L/usr/local/zlib-1.2.8//lib'
>> clang: warning: argument unused during compilation:
>> '-L/usr/local/szip-2.1//lib'
>> clang: warning: argument unused during compilation:
>> '-L/usr/local/hdf5-1.8.15//lib'
>> conftest.c:41:21: warning: implicitly declaring library function 'exit'
>> with type 'void (int) __attribute__((noreturn))'
>>               if (ret < 0) exit(1);
>>                            ^
>> conftest.c:41:21: note: please include the header <stdlib.h> or
>> explicitly provide a declaration for 'exit'
>> 1 warning generated.
>> configure:22799: $? = 0
>> configure:22805: ./conftest
>> HDF5-DIAG: Error detected in HDF5 (1.8.15) thread 0:
>>   #000: H5Z.c line 1673 in H5Zget_filter_info(): Filter info not retrieved
>>     major: Data filters
>>     minor: Can't get value
>>   #001: H5Z.c line 1703 in H5Z_get_filter_info(): Filter not defined
>>     major: Data filters
>>     minor: Bad value
>>   #002: H5Z.c line 1247 in H5Z_find(): required filter is not registered
>>     major: Data filters
>>     minor: Object not found
>> configure:22808: $? = 1
>> configure: program exited with status 1
>>
>> My general recommendation, as a work-around for now, is to try to build
>> things with gcc/gfortran, and not clang.  This means you would need to
>> rebuild HDF5, and potentially szip and zlib with gcc/gfortran.
>>
>> Or, you can appeal to the HDF-EOS5 folks to see if they know how to get
>> this library built with clang.
>>
>> I hope to attempt a clang build soon, which I believe will have to be
>> paired with gfortran because Apple hasn't provided a native Fortran
>> compiler that I know of.  Clang is supposed to work interchangeably with
>> gcc, but I haven't had a chance to verify this.
>>
>> Let me know if you want to try the gcc/gfortran build solution, but are
>> not sure where to start.
>>
>> --Mary
>>
>>
>> On Thu, May 28, 2015 at 3:02 PM, David Stanfel <dstanfel at ualberta.ca>
>> wrote:
>>
>>> Hello,
>>>
>>> I am trying to make the HDF-EOS5 software on my Macbook Pro (OS X
>>> 10.9.5) to build and install NCL but I am having some issues.
>>>
>>> I tried to use the 'make all install' command but that produced:
>>>
>>> make: *** No rule to make target `all'.  Stop.
>>>
>>>
>>> When trying to run the 'make' command:
>>>
>>> dstanfel:hdfeos5 ninjawarrior343$  make
>>>
>>> This file is for use by ECS Configuration Management processes only.
>>>
>>>
>>>  I have attached the config.log in case it is of some use.
>>>
>>>
>>> Thanks,
>>>
>>>
>>> David
>>>
>>> _______________________________________________
>>> ncl-install mailing list
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-install
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-install/attachments/20150529/75806bad/attachment.html 


More information about the ncl-install mailing list