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

[Support #DKO-246585]: make check fails f90 tests when built with 64



> Ed,
>
> I think that we are still not talking quite the same language.
>
> The Fortran application code needs to run using eight byte integers and
> while a good programmer would do this using the kind option this code was
> written by scientists and I need to use the relevant Fortran compiler
> option. I have one application which is Fortran 77 and another which is a
> mixture of Fortran 77 and Fortran 90 so I need both flavours.
>
> It is quite possible that my observations about 64-bit integers and 32-bit
> integers are irrelevant. I considered whether it might be possible to build
> the libraries without the Fortran -q64 option and link them to the
> application which had been built without the option.  This did not work.
> The application failed immediately on start-up with an error coming from a
> netCDF library call.

I am more confused then ever. I thought you said that everything in netcdf
built and worked in 32-bit mode on this machine?

>
> To keep it simple, let us restrict this particular error report to the fact
> that the make check fails the f90 tests when built with 64-bit integers. I
> am quite prepared to accept that this is not a bug because the code should
> not work this way.  I was hoping that you could identify the cause of the
> failure and if it impacted on how the libraries operated, fix that. I did
> try using the libraries (that failed the test) with the application and the
> application also failed.
>
> To answer your question about storage, the application wants to store
> whatever it wants to store and I think in this case integers are 64-bit
> values.  Please bear in mind that this code is not mine, is a rat's nest
> and has evolved over many years and through many hands.
>

I'm afraid you will need to dive into it a little bit more carefully. Until the
netcdf-4.0 release (two weeks ago) netcdf could not write 64-bit integers. We
just added the 64-bit integer types in release 4.0. So somehow your code, if
writing integers, must be (trying to) writing 32-bit integers.

If the code you are trying to build contains the netcdf code that writes the
file, how did the previous users of your code handle this problem? Or did they
not build it with 64-bit integers?

Thanks,

Ed

Ticket Details
===================
Ticket ID: DKO-246585
Department: Support netCDF
Priority: Normal
Status: Closed