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

[netCDF #YWP-403246]: compiling netCDF



Greetings Chad!

> Sean,
> 
> I just got HDF5 to support, but there is no "make install:" option.

`make install` should work - did you follow the instructions at 
http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/release_docs/INSTALL 
regarding the ./configure setup?

> Where do I put it so that when I compile netCDF again, it can find
> what it needs.  Can I just copy everything in the HDF5/bin folder to
> /usr/local/bin, or maybe I should make it /usr/local/hdf5/bin.  Are
> there any library or include files that need to go into
> /usr/local/hdf5?  I figure if I use a separate pat like
> /usr/local/hdf5/bin, and then add that to my $PATH or remove it from
> my $PATH, I should be able to compile netCDF with or without HDF5
> support.  It would be easier if there was an environmental variable
> that the netCDF compile script recognized, like
> export HDF5=/usr/local/hdf5.  Would that work?  

The configure script for netCDF4 includes an option --with-hdf5=<path to top 
level hdf5>. If you run the config script for hdf5 using --prefix=<path where 
you want hdf libs, bin, and include to go>, then simply use this path when you 
compile netCDF4. For example, you suggested /usr/local/hdf5 as a place to stuff 
hdf5. In that case, when configuring the build for hdf5, use

./configure --prefix=/usr/local/hdf5 [other options, as needed]

Then, when compiling netCDF, use:

./configure --with-hdf5=/usr/local/hdf5 [other options, as needed]

> That way I could
> enable or disable that variable for compiling netCDF with or without
> HDF5 support.
> 

Changing $PATH as needed should work for what you need - just make sure to keep 
close watch on what $PATH says because it can bite pretty hard.

> 
<paste>
>
> I do not know why /bin/sh points to dash by default. That is weird.
> I just tried an apt-get install bash, and it says I have the latest
> version. I double-checked this by typing
>
> address@hidden:/bin$ whereis bash
> bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
>
> So, /bin/bash is the real bash. Should I change the symbolic link so
> that /bin/sh points to /bin/bash? Would that help? I do not know why
> /bin/sh points to dash instead of bash. Any idea? Seems stupid to
> me. I am going to go ahead and rm /bin/sh and point it to /bin/bash
> instead.
>

The Ubuntu devs decided to make /bin/dash the default, and I am not sure of why 
they chose to do so. Does the Intel ifortvars.sh start with #!/bin/sh? If so, 
then that explains everything, as /bin/sh points to /bin/dash, and therefore 
/bin/dash was being used to run the script even though you are running 
/bin/bash.

> I just tried your idea and I think it worked. When I ran a make
> -check, it says it passed all the tests. I will attach log files for
> you to double check.

Things look good to me.

>
> I do not have HDF5 compiled on this machine, because address@hidden told
> me not to. But, I do have a compiled version of netCDF 363 (borrowed
> the binaries from a CentOS server at the university). So, I will have
> to keep both netCDF 4 without HDF5 for compiling WRF and doing WRF
> simulations and need to keep netCDF 4 with HDF5 suport, for using
> nccopy to convert the WRF output data into a format with HDF5 that
> Tecplot can read. As long a we can get netCDF to compile with HDF5,
> then I should be in good shape. Thanks for telling me about nccopy.
> Saves me a bunch of time so I do not have to write a custom data
> converter. Incidentally, I did ask the WRF people about their plans
> regarding support for netCDF4 with HDF5 support and they said its at
> least a year away.
>
> Now I need to re-compile it with HDF5. Can I use pre-compiled
> binaries, or should I compile HDF5 with the intel compilers to make
> sure that its fully compatible? There are linux 64 bit binaries of
> HDF5 available at
>
> http://www.hdfgroup.org/HDF5/release/obtain5.html
>
> I am leaning toward trying to compile HDF5 first. I know that WRF
> will not compile unless its compiled under the same OS with the same
> compilers. Is it the same for netCDF and HDF5?
>
> I am attaching logs of configure, make and make check. Tell me if the
> little trick in switching /bin/sh -> /bin/bash actually worked.
>
> I have one important question. I just compiled netCDF 4.1.2 without
> HDF5 support, and now want to compile WRF using it. If I have nccopy
> from a netCDF 4.1.2 compilation with HDF5 support, will nccopy still
> work, converting a WRF output file from 4.1.2 to 4.1.2 with HDF5
> support, or does nccopy only work for converting from netCDF 3.x to
> netCDF 4.x with HDF5 support?
>

When you configured netCDF4, did you specify --enable-netcdf-4? If so, then I 
think nccopy will work.

Sean



>
> Thanks,
>
> Chad
> 
> On Thu, Jun 2, 2011 at 2:47 PM, Unidata netCDF Support
> <address@hidden> wrote:
> > Chad,
> >
> >> Sean,
> >>
> >> I am using the atest ubuntu 11.0.4, just downloaded and installed las
> >> week. ÂHere is the ouput you requested:
> >>
> >> address@hidden:~$ echo $SHELL
> >> /bin/bash
> >> address@hidden:~$ ls -la /bin/sh
> >> lrwxrwxrwx 1 root root 4 May 25 21:07 /bin/sh -> dash*
> >> address@hidden:~$
> >
> > The failures you get for `make check` show up when using ifort during the 
> > tests, and once again ifort is having issues finding the Intel shared 
> > objects. Just out of curiosity, is /bin/bash also a symlink to /bin/dash? 
> > If so, then that is the problem - dash is not 100% compatible with bash, 
> > and thus the Intel scripts may not be fully functional. If it is a link to 
> > dash, use apt-get to install bash and then try to rebuild.
> >
> >>
> >> I am not sure if I should open a separate support issue for this, but
> >> I am running into a data incompatibility problem. ÂI want to use
> >> Tecplot 360 (tecplot.com) for visualzing and making movies of output
> >> from WRF. ÂTecplot 360 support HDF5 data, but WRF only suports netCDF
> >> without HDF5, from what I have read and been told by wrfhelp. ÂHow can
> >> I get my data into Tecplot 360 from a netCDF file that has no HDF5?
> >> Do you know if WRF planps to upgrade to HDF5 support soon?
> >
> > I am not sure what the plans are with WRF,as it is not developed at 
> > Unidata. The folks at NCAR who are involved in the administration of the 
> > codebase should be able to answer that question (I'd check with WRFhelp). 
> > The questions to ask would be if/when WRF plans to use netCDF4.
> >
> >>
> >> I suppose we would need to get this netCDF 4 with HDF5 support to
> >> compile, then I could write a program that read the netCDF without
> >> HDF5 data, then wrote it back with netCDF with HDF5. ÂIs netCDF 4 with
> >> HDF5 backwards compatible with output from say netCDF 363? ÂSo, if I
> >> write a code using netCDF4 with HDF5, can I read netCDF 363 data and
> >> then write it back in HDF5 format?
> >
> > netCDF4 will read data written with netCDF3 - no problems :-) That said.. .
> >
> >> Do you guys have any utiities that
> >> already do this? ÂA simple utility that reads in a netCDF 363 data
> >> file and upgrades it to netCDF4 with HDF5 support? ÂIf you do not, you
> >> should write one. ÂIt would be simple for you guys that know netCDF so
> >> well. Â If I have to do it, its going to take me a while to figure out
> >> how.... time I really do not have right now.
> >
> > If you check out the netCDF FAQ 
> > (http://www.unidata.ucar.edu/software/netcdf/docs/faq.html), there is an 
> > entry about how to do this 
> > (http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#fv13).
> >
> >> I can write code in
> >> Fortran and C, but would prefer to use Python. ÂPython can usually
> >> call C libraries, so do you know for sure if Python can link to
> >> netCDF4 with HDF5 support?
> >
> > Since nccopy can do what you need it to do (once we get it to compile, that 
> > is), it may be of general interest to know that there is a netCDF4 python 
> > wrapper that is functional, although a few features are missing (see 
> > http://code.google.com/p/netcdf4-python/). I've compiled and used this on 
> > MacOSX and it works great so far.
> >
> > Sean
> >
> >> If you can think of any other solution to
> >> this problem, please let me know.
> >>
> >>
> >> Many Thanks,
> >>
> >> Chad
> >>
> >> On Wed, Jun 1, 2011 at 3:03 PM, Unidata netCDF Support
> >> <address@hidden> wrote:
> >> > Hi Chad,
> >>
> >>
> >>
> >> Iatest ubuntu 11.0.4, just downloaded and installed las week. ÂHere is
> >> the ouput you requested:
> >>
> >> address@hidden:~$ echo $SHELL
> >> /bin/bash
> >> address@hidden:~$ ls -la /bin/sh
> >> lrwxrwxrwx 1 root root 4 May 25 21:07 /bin/sh -> dash*
> >> address@hidden:~$
> >>
> >> I am not sure if I should
> >>
> >>
> >> On Wed, Jun 1, 2011 at 3:03 PM, Unidata netCDF Support
> >> <address@hidden> wrote:
> >> > Hi Chad,
> >> >
> >> > It seems as though netCDF is still having issues finding the Intel libs. 
> >> > First, which version of Ubuntu are you running? Second, could you send 
> >> > me the output from the following two commands:
> >> >
> >> > 1) echo $SHELL
> >> >
> >> > 2) ls -la /bin/sh
> >> >
> >> > Thanks!
> >> >
> >> > Sean
> >> >
> >> >> Hi Sean,
> >> >>
> >> >> I did as you suggested. ÂI cleared all the shell environmental
> >> >> variables and used
> >> >> source /opt/intel/bin/iccvars.sh intel64
> >> >> source /opt/intel/bin/ifortvars.sh intel64
> >> >>
> >> >> The configure and make seemed to go ok, but when I ran "make check" it
> >> >> failed 4 out of 5 of the tests.
> >> >>
> >> >> I made log files of each stage and attached them to this email for you
> >> >> to examine. ÂDo you think gc/gortran would work better or stay with
> >> >> intel on ubuntu? ÂOthers here at ASU reported better success with
> >> >> intel compilers, which is why I am using them.
> >> >>
> >> >>
> >> >> Thanks,
> >> >>
> >> >> Chad
> >> >>
> >> >>
> >> >> On Tue, May 31, 2011 at 1:00 PM, Unidata netCDF Support
> >> >> <address@hidden> wrote:
> >> >> > Greetings Dr. Coulliette!
> >> >> >
> >> >> >> Hello,
> >> >> >>
> >> >> >> My name is Dr. Chad Coulliette. ÂI am working with Professor Alex
> >> >> >> Mahalov at Arizona State University. ÂI have been trying to compile
> >> >> >> netCDF on Ubuntu Linux 64-bit. ÂThe hardware is a MacBook Pro with a
> >> >> >> Intel Duo Core 64-bit processor. ÂI want to compile and use WRF, but
> >> >> >> need netCDF first. ÂI have netCDF installed as a package using
> >> >> >> synaptic, but I suspect there is something deficient about it, so we
> >> >> >> have been trying to compile and install netCDF from source code. ÂI
> >> >> >> have netCDF-4.1.2 and have tried with both GNU compilers and Intel
> >> >> >> compilers. ÂThe GNU compilers seem to compile ok....no errors during
> >> >> >> make, but when I run "make check" it finds problems, and the message
> >> >> >> actually says to contact this email address.
> >> >> >
> >> >> > From looking through the make-gcc.log, you seem to be using the Intel 
> >> >> > fortran compiler `ifort` along side the gcc `cc` compiler - this is 
> >> >> > because .configure could not find any other fortran compiler (i.e. 
> >> >> > gfortran) in your $PATH. The error you are getting, as indicated in 
> >> >> > the make-test-gcc.log file, is due to problems finding the Intel 
> >> >> > shared objects. This is probably because when you building with a GNU 
> >> >> > environment in mind and so you didn't source ifortvars.sh. If you 
> >> >> > want to go the GNU route, try installing gfortran .
> >> >> >
> >> >> >> With the Intel
> >> >> >> compilers, it crashes during the make. ÂI included log files of the
> >> >> >> configure, make and make check for the GNU compilers, and included 
> >> >> >> log
> >> >> >> files for the configure and make for the Intel compilers.
> >> >> >>
> >> >> >> For the Intel compiler, I have been following the instructions at
> >> >> >>
> >> >> >> http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-netcdf-with-the-intel-compilers/
> >> >> >>
> >> >> >> Are these the best compile instructions? ÂThey might be too old,
> >> >> >> because I noticed a complaint about the compiler flag -xT being
> >> >> >> depreciated. ÂI tried to take it out and run everything over, but 
> >> >> >> the
> >> >> >> results were the same.
> >> >> >>
> >> >> >
> >> >> > The instructions above are for an older version of netCDF. I would 
> >> >> > check out the Unidata netCDF docs, which can be found here:
> >> >> >
> >> >> > http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/Building-on-Unix.html#Building-on-Unix
> >> >> >
> >> >> > These docs do not specifically look at using the Intel compiler, but 
> >> >> > it should give you some general reference.
> >> >> >
> >> >> > What happens if you do not set any flags by hand, but only source 
> >> >> > iccvars.sh and ifortvars.sh before building?
> >> >> >
> >> >> > Cheers!
> >> >> >
> >> >> > Sean Arms
> >> >> >
> >> >> >> Could you examine the log files and let me know what to do?
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> Thanks,
> >> >> >>
> >> >> >> Chad
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >> > Ticket Details
> >> >> > ===================
> >> >> > Ticket ID: YWP-403246
> >> >> > Department: Support netCDF
> >> >> > Priority: Normal
> >> >> > Status: Open
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >
> >> >
> >> > Ticket Details
> >> > ===================
> >> > Ticket ID: YWP-403246
> >> > Department: Support netCDF
> >> > Priority: Normal
> >> > Status: Open
> >> >
> >> >
> >>
> >>
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: YWP-403246
> > Department: Support netCDF
> > Priority: Normal
> > Status: Open
> >
> >
> 
> 


Ticket Details
===================
Ticket ID: YWP-403246
Department: Support netCDF
Priority: Normal
Status: Open


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.