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

[netCDF #IQO-210917]: Fortran 90 manpages missing in netcdf 3.6.2 beta3



> Hi again Ed,
> 
> Last thing before my ticket runs out :-)

Here at Unidata we have a policy that programmers must directly support their 
products, and this exchange is a good example of why that's a good idea. So 
please, don't stop bringing up these issues until netCDF 3.6.2 installs and 
works perfectly for you. That's exactly why I do beta releases! Thanks for all 
the help with this one.

> 
> Just downloaded and compiled the daily netcdf archive, so I know I'm
> up to speed.

Wow, now you are scaring me! ;-)
> 
> There are a few things I noticed in the Manuals:
> 
> 1) The F90 and F77 manual still say to compile with -lnetcdf, whereas
> the fortran lib is now separate, so one needs "-lnetcdff -lnetcdf". I
> personally do not find that a good solution, I'd rather have all in
> one, but the installation automatically separates C and Fortran when
> making shared (dynamic) libraries. --disable-separate-fortran does
> not have any effect in conjunction with --enable-shared. This is not
> a criticism, it's probably a well-thought-out decision. But I like to
> know the rationale.

The rationale is that if you build a shared library, with the F90 API, then 
even linking a C-only program seems to require that the shared fortran 
libraries be
found at run-time.

For F90 programmers, the fortran shared library has to be found anyway, so no
big deal, but your average C/F77 programmer will probably not have the F90 
libraries 
set up so that they can be found at run time. 

Do you think this is a bad idea? Would you like to try getting the combined 
shared
library working? It is easy to change the configure script, but then the build 
breaks for me.

Any thoughts would be most welcome. This is our first release with 
shared library support so we are feeling our way forward carefully and would 
welcome
any informed input.

Do you use shared libraries a lot? If so, why?

Incidently, some of the docs have been updated, but until the next beta release 
you 
would have to do "./configure --enable-docs && make" to build it, and it will 
only work if you have a recent texinfo and tex installation, and tex is 
somewhat weird - it works
for me on some machines but not others.

However, you can give it a try, and if it works you will find the latest 
documentation
in the man directory, as text, pdf, info files, web pages, etc.

> 
> 2) In all the manuals, after netcdf calls there is:
> 
> if (status.ne.nf_noerr) call handle_err(status)     ... or similar in
> case of C and F90
> 
> However, handle_err(status) already checks against nf_noerr, so the
> if-statement is superfluous.
> It would be much cleaner simply to write after the netcdf calls:
> 
> call handle_err(status)
> 
> In fact, I use a short-cut to that and use, for example:
> 
> call handle_err(nf_close(ncid))
> 
> Just a suggestion. But I think a useful one.

Thanks, I will pass that on to the author of that code and see what he thinks.

Where are you finding the handle_err() funtion anyway?

> 
> Thanks again for looking into my suggestions.

Thanks again for looking at my beta!

I am also looking into the problem of the man pages and where they end up, but 
haven't 
found a solution yet. Thanks for pointing out the problem.

Ed Hartnett

Ticket Details
===================
Ticket ID: IQO-210917
Department: Support netCDF
Priority: Normal
Status: Open