Skip to content
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

CI: Add Cygwin CMake run #2

Open
wants to merge 62 commits into
base: ci-mingw
Choose a base branch
from
Open

CI: Add Cygwin CMake run #2

wants to merge 62 commits into from

Conversation

DWesl
Copy link
Owner

@DWesl DWesl commented May 9, 2024

Copied from MehdiChinoune's MSYS CMake CI run.

ZedThree and others added 30 commits March 25, 2024 11:15
* main: (48 commits)
  Update release notes.
  Refactor macro _FillValue to NC_FillValue in support of Unidata#2858
  Remove appveyor config file.
  Add CI for a Windows Runner on Github Actions.
  Add cmake prefix path to appveyor config.
  Attempt to fix zlib-related error in appveyor.
  Correct typo.
  Remove check for libcurl unless it is necessary for required functionality.
  Rename the vendored strlcat symbol
  Fix conversion warnings in libdispatch
  Set flags to avoid warning messages if curl isn't found.
  Use modern cmake nomenclature for curl.
  Fix truncated-format warning in ncgen
  Fix some conversion warnings in ncgen3
  Fix some conversion warnings in ncgen3 generated files
  Regenerate ncgen3
  CMake: Add option to automatically regenerate ncgen3/ncgen
  Skip checking for duplicates if only one element in list
  Change format of backwards-loops
  Silence some conversion warnings in ncgen generated files
  ...
re: Issue Unidata#2916

Currently, ncdump prints char-valued variables as a mix
of ascii and octal characters. The octal format is used
for non-printable ascii character values.

This PR changes this to print the char variable values
as raw binary. This means in practice that utf-8 tags
are properly interpreted and printed as utf-8.
Modify ncdump to print char-valued variables as utf8.
Copied from MehdiChinoune's MSYS CMake CI run.
Why isn't CYGWIN_NOWINPATH working?
This should really not be needed
That's the one that needed it.
@DWesl
Copy link
Owner Author

DWesl commented May 14, 2024

In local tests running only nc_test4_tst_filter, the test hangs for half an hour before being mostly killed, although ncfilteravail continues taking up CPU in the background afterward.

WardF and others added 26 commits May 14, 2024 15:47
CI: Setup a CMake job for MSYS2/MinGW
* main:
  ftp --> resources
  Update release notes
  Convert the ENABLE_XXX options to NETCDF_ENABLE_XXX options
  CI: Create an MSYS2/MinGW CMake run.
  CI: Test on MSYS2/UCRT64 environment
  CMake: Fix running tests on MinGW
# Description
Remove various obsolete build options. Also do some code movement.

## Specific Changes

* The remotetest server is sometimes unstable, so provide a mechanism
  to force disabling calls to remotetest.unidata.ucar.edu.
  This is enabled by adding a repository variable named
  REMOTETESTDOWN with the value "yes".
* Fix CMakeLists.txt to use the uname command as an alternate
  to using the hostname command (which does not work under cygwin).
* Remove the JNA stuff as obsolete
* Remove the ENABLE_CLIENTSIDE_FILTERS options since it has been
  disabled for a while.
* Fix bad option flag in some github action .yml files: change --disable-xml2 to --disable-libxml2
* Collect globalstate definitions into nc4internal.h
* Remove ENABLE_NCZARR_FILTERS_TESTING option as obsolete and replace
  with ENABLE_NCZARR_FILTERS
* Move some dispatcher independent functions from libsrc4/nc4internal.c to libdispatch/ddispatch.c
* As a long term goal, and because it is now the case that --enable-nczarr
    => USE_NETCDF4, make the external options --enable-netcdf-4 and
    --enable-netcdf4 obsolete in favor of --enable-hdf5
    We will do the following for one more release cycle.
        1. Make --enable-netcdf-4 be an alias for --enable-netcdf4.
        2. Make --enable-netcdf4 an alias for --enable-hdf5.
        3. Internally, convert most uses of USE_NETCDF_4 ad USE_NETCDF4 to USE_HDF5
    After the next release, --enable-netcdf-4 and --enable-netcdf4 will
    be removed.
re: Issue Unidata#2927

The NC_s3sdkinitialize NC_s3sdkfinalize functions were
misplaced. They should have been moved from ds3util.c to
ncs3sdk_h5.c.  When using ncs3sdl_aws.cpp, this resulted in a
duplicate definition.

Also, found and fixed a memory leak in the NCZarr S3 code.
Fix duplicate definition when using aws-sdk-cpp.
Let's see if the build works without these.  The export-everything is going to be the real test.

LDFLAGS="-Wl,--export-all-symbols"
MAKE=/usr/bin/make
Already skipped on MinGW, so I don't feel bad skipping it on Cygwin too.  Still haven't figured out why it's crashing.  I should probably look into why Autotools is fine.
I don't know that it ever worked before, and it isn't working now.
…_LOG_LEVEL_FUNC

The NETCDF_ENABLE_SET_LOG_LEVEL_FUNC option is apparently not used, but
is effectively used to set NETCDF_ENABLE_SET_LOG_LEVEL.
This is not clear from the build files CMakeLists.txt and configure.ac.
So this PR cleanups the code to make it more clear what is going on.
Fix a few issues related to detection of libhdf4.
Cleanup handling of NETCDF_ENABLE_SET_LOG_LEVEL and NETCDF_ENABLE_SET_LOG_LEVEL_FUNC
Add compiler flag to fix infinities issue with intel compilers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants