-
Notifications
You must be signed in to change notification settings - Fork 263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
netCDF 4.8.0 ncgen breaks on CDL type "long"? #1977
Comments
Did not mean to do this. Not sure how it happened. But I will check it out |
This really bizarre. I have no idea what is going on. |
Happening in the C library instead of ncgen? |
Thanks for looking into this. Sorry, I had to modify that file to replace the CDL "long" keyword with "int" in order for NCO to build with the new 4.8.0 netCDF libraries used by Azure. Here is a smaller test file:
|
I built both versions using the same set of options on the same os (ubuntu 16) |
But since I have repeated the error, hopefully I can debug it. |
@czender I take it that there is no test in nco for this? The nco Fedora package seems to build fine with netcdf 4.8.0 in my testing. |
Thanks for looking into this @opoplawski. The Fedora build does attempt to create a netCDF4 version of
So I went back and tested ncgen 4.8.0 with all possible binary output formats, and the results are...surprising?:
leads to these results:
So |
I have a solution, I just have not had time to put up the PR. I will try to get to it |
re: Unidata#1977 PR Unidata#1753, changed ncgen to allows certain type names to be used as identifiers in selected situations. An unwanted side effect was that existing type aliases no longer were accepted by ncgen. Specifically, using the "long" type caused an error. I was able to figure out a better solution to the original problem (Unidata#1750) that also fixes this problem as well. This PR fixes that problem in ncgen/ncgen.l, and adds tests to ncdump/test_keywords.sh
See PR #1984 |
Thanks @DennisHeimbigner. I thought the fix might be a one-liner, that PR shows how little I know! |
Ideally it should have been a 1-liner. But in my endless pursuit for complexity, |
netCDF 4.8.0 appears to break NCO builds because
ncgen
no longer supports the type "long" as a synonym for "int" in CDL files. I did not notice this backwards-incompatibility in the 4.8.0 release notes. Is it intentional?With latest snapshot:
With 4.7.4 and earlier:
Input file in.cdl is here: https://github.com/nco/nco/blob/master/data/in.cdl
The text was updated successfully, but these errors were encountered: