diff --git a/.github/workflows/check-linux-mpi.yaml b/.github/workflows/check-linux-mpi.yaml index 4a9c77f4..3ec5cd0f 100644 --- a/.github/workflows/check-linux-mpi.yaml +++ b/.github/workflows/check-linux-mpi.yaml @@ -19,18 +19,18 @@ jobs: matrix: config: - {os: ubuntu-latest, r: 'release', mpi: 'openmpi'} - - {os: ubuntu-22.04, r: 'release', mpi: 'mpich'} + - {os: ubuntu-latest, r: 'release', mpi: 'mpich'} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: path: RNetCDF - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: repository: Unidata/netcdf-c path: netcdf-c @@ -46,8 +46,8 @@ jobs: - name: Install system dependencies run: | case "${{ matrix.config.mpi }}" in - openmpi) sudo apt-get install -y libhdf5-openmpi-dev openmpi-bin ;; - mpich) sudo apt-get install -y libhdf5-mpich-dev mpich ;; + openmpi) sudo apt-get install -y libhdf5-openmpi-dev openmpi-bin libxml2-dev ;; + mpich) sudo apt-get install -y libhdf5-mpich-dev mpich libxml2-dev ;; *) echo "Unknown MPI variant"; exit 1 ;; esac shell: bash @@ -60,7 +60,8 @@ jobs: echo ::endgroup:: echo ::group::configure inc_path="/usr/include/hdf5/${{ matrix.config.mpi }}" - lib_path="/usr/lib/x86_64-linux-gnu/hdf5/${{ matrix.config.mpi }}" + arch=$( uname -m ) + lib_path="/usr/lib/${arch}-linux-gnu/hdf5/${{ matrix.config.mpi }}" ./configure CC="mpicc.${{ matrix.config.mpi }}" \ CPPFLAGS="-I${inc_path}" \ LDFLAGS="-L${lib_path} -Wl,-rpath=${lib_path}" @@ -78,16 +79,24 @@ jobs: cat("::group::bit64\n") install.packages("bit64") cat("::endgroup::\n") + arch <- Sys.info()["machine"] if ("${{ matrix.config.mpi }}" == "openmpi") { Rmpi_type <- "OPENMPI" pbdMPI_type <- "OPENMPI" - mpi_include <- "/usr/lib/x86_64-linux-gnu/openmpi/include" - mpi_lib <- "/usr/lib/x86_64-linux-gnu/openmpi/lib" + mpi_include <- sprintf("/usr/lib/%s-linux-gnu/openmpi/include", arch) + mpi_lib <- sprintf("/usr/lib/%s-linux-gnu/openmpi/lib", arch) } else if ("${{ matrix.config.mpi }}" == "mpich") { Rmpi_type <- "MPICH2" pbdMPI_type <- "MPICH3" - mpi_include <- "/usr/include/x86_64-linux-gnu/mpich" - mpi_lib <- "/usr/lib/x86_64-linux-gnu" + mpi_include <- sprintf("/usr/include/%s-linux-gnu/mpich", arch) + # Workaround missing libopa and libmpl in recent mpich packages: + mpi_lib_real <- sprintf("/usr/lib/%s-linux-gnu/mpich/lib", arch) + mpi_lib <- file.path(getwd(), "mpich") + dir.create(mpi_lib) + for (destlib in c("libmpich.so", "libopa.so", "libmpl.so")) { + file.symlink(file.path(mpi_lib_real, "libmpich.so"), + file.path(mpi_lib, destlib)) + } } else { stop("Unknown MPI variant") } @@ -118,6 +127,8 @@ jobs: Rscript -e "library(Rmpi); library(pbdMPI);" mpicc="mpicc.${{ matrix.config.mpi }}" mpiexec="mpiexec.${{ matrix.config.mpi }}" + export LD_LIBRARY_PATH="$PWD/mpich:$LD_LIBRARY_PATH" + echo "LD_LIBRARY_PATH='$LD_LIBRARY_PATH'" R CMD check --no-manual \ --install-args="--configure-args='--with-cc=$mpicc --with-mpiexec=$mpiexec'" \ RNetCDF_*.*-*.tar.gz @@ -126,7 +137,7 @@ jobs: - name: Upload check directory if: success() || failure() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ matrix.config.os }}_r-${{ matrix.config.r }}_${{ matrix.config.mpi }} path: RNetCDF.Rcheck/ diff --git a/DESCRIPTION b/DESCRIPTION index b493bbf6..9e34e152 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: RNetCDF -Version: 2.11-1 -Date: 2025-04-30 +Version: 2.11-2 +Date: 2026-07-19 Title: Interface to 'NetCDF' Datasets Authors@R: c(person("Pavel", "Michna", role = "aut", email = "rnetcdf-devel@bluewin.ch"), diff --git a/INSTALL b/INSTALL index 35b428f1..538363ff 100644 --- a/INSTALL +++ b/INSTALL @@ -97,7 +97,7 @@ R CMD INSTALL Example R CMD INSTALL --configure-args="CPPFLAGS=-I/sw/include \ LDFLAGS=-L/sw/lib LIBS=-lhdf5 --with-cc=mpicc --with-mpiexec=mpiexec" \ - RNetCDF_2.11-1.tar.gz + RNetCDF_2.11-2.tar.gz LD_LIBRARY_PATH @@ -126,7 +126,7 @@ R CMD check Example =================== R CMD check --install-args="--configure-args='CPPFLAGS=-I/sw/include \ - LDFLAGS=-L/sw/lib'" RNetCDF_2.11-1.tar.gz + LDFLAGS=-L/sw/lib'" RNetCDF_2.11-2.tar.gz Time units diff --git a/LICENSE b/LICENSE index c440e610..45d77bb6 100644 --- a/LICENSE +++ b/LICENSE @@ -6,7 +6,7 @@ RNetCDF ======= All files except those indicated later are -Copyright (C) 2004-2025 Pavel Michna and Milton Woods. +Copyright (C) 2004-2026 Pavel Michna and Milton Woods. They are licensed under the terms of the GNU General Public License: This program is free software; you can redistribute it and/or modify diff --git a/NEWS b/NEWS index f3750931..ee7297f5 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +Version 2.11-2, 2026-07-19 + * Fix compiler warning for C23 standard on Fedora 44 + Version 2.11-1, 2025-04-30 * Do not use nc-config compiler by default * Use new R API functions for environments diff --git a/R/RNetCDF.R b/R/RNetCDF.R index a05af218..13b61215 100644 --- a/R/RNetCDF.R +++ b/R/RNetCDF.R @@ -7,7 +7,7 @@ # Author: Pavel Michna (rnetcdf-devel@bluewin.ch) # Milton Woods (miltonjwoods@gmail.com) # -# Copyright (C) 2004-2025 Pavel Michna and Milton Woods. +# Copyright (C) 2004-2026 Pavel Michna and Milton Woods. # #=============================================================================== # diff --git a/R/config.R.in b/R/config.R.in index a951ee93..199e8c37 100644 --- a/R/config.R.in +++ b/R/config.R.in @@ -7,7 +7,7 @@ # Author: Pavel Michna (rnetcdf-devel@bluewin.ch) # Milton Woods (miltonjwoods@gmail.com) # -# Copyright (C) 2004-2025 Pavel Michna and Milton Woods. +# Copyright (C) 2004-2026 Pavel Michna and Milton Woods. # #=============================================================================== # diff --git a/configure b/configure index a48f4df8..31b529ce 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for RNetCDF 2.11-1. +# Generated by GNU Autoconf 2.72 for RNetCDF 2.11-2. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, @@ -601,8 +601,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='RNetCDF' PACKAGE_TARNAME='rnetcdf' -PACKAGE_VERSION='2.11-1' -PACKAGE_STRING='RNetCDF 2.11-1' +PACKAGE_VERSION='2.11-2' +PACKAGE_STRING='RNetCDF 2.11-2' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1259,7 +1259,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures RNetCDF 2.11-1 to adapt to many kinds of systems. +'configure' configures RNetCDF 2.11-2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1321,7 +1321,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of RNetCDF 2.11-1:";; + short | recursive ) echo "Configuration of RNetCDF 2.11-2:";; esac cat <<\_ACEOF @@ -1412,7 +1412,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -RNetCDF configure 2.11-1 +RNetCDF configure 2.11-2 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -1929,7 +1929,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by RNetCDF $as_me 2.11-1, which was +It was created by RNetCDF $as_me 2.11-2, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -7542,7 +7542,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by RNetCDF $as_me 2.11-1, which was +This file was extended by RNetCDF $as_me 2.11-2, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7606,7 +7606,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -RNetCDF config.status 2.11-1 +RNetCDF config.status 2.11-2 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index c6f8222c..83b0c8b7 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Initialize # #-------------------------------------------------------------------------------# -AC_INIT([RNetCDF],[2.11-1]) +AC_INIT([RNetCDF],[2.11-2]) : ${R_HOME=`R RHOME`} AS_IF([test -z "${R_HOME}"], diff --git a/src/RNetCDF.h b/src/RNetCDF.h index 3b3770e1..d8cdd47c 100644 --- a/src/RNetCDF.h +++ b/src/RNetCDF.h @@ -2,14 +2,14 @@ * * Name: RNetCDF.h * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: Declare RNetCDF functions callable from R * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/attribute.c b/src/attribute.c index ffe8d0cc..add651ef 100644 --- a/src/attribute.c +++ b/src/attribute.c @@ -2,14 +2,14 @@ * * Name: attribute.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: NetCDF attribute functions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/common.c b/src/common.c index 7746e321..6bedd62a 100644 --- a/src/common.c +++ b/src/common.c @@ -2,14 +2,14 @@ * * Name: common.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: Common definitions for RNetCDF functions * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * @@ -64,7 +64,7 @@ R_nc_strcmp (SEXP var, const char *str) size_t R_nc_strnlen (const char *str, char chr, size_t maxlen) { - char *nullchr; + const char *nullchr; nullchr = memchr(str, (int) chr, maxlen); return (nullchr == NULL) ? maxlen : ((size_t) (nullchr - str)); } diff --git a/src/common.h b/src/common.h index 6e703098..a8276604 100644 --- a/src/common.h +++ b/src/common.h @@ -2,14 +2,14 @@ * * Name: common.h * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: Common definitions for RNetCDF functions * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/convert.c b/src/convert.c index da25f4e1..901b299d 100644 --- a/src/convert.c +++ b/src/convert.c @@ -4,14 +4,14 @@ * * Name: convert.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: Type conversions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/convert.h b/src/convert.h index 98c3c666..1a902b82 100644 --- a/src/convert.h +++ b/src/convert.h @@ -2,14 +2,14 @@ * * Name: convert.h * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: Type conversions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/dataset.c b/src/dataset.c index 8676afbb..1a3090cd 100644 --- a/src/dataset.c +++ b/src/dataset.c @@ -2,14 +2,14 @@ * * Name: dataset.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: NetCDF dataset functions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/dimension.c b/src/dimension.c index 4c0c79df..088f2365 100644 --- a/src/dimension.c +++ b/src/dimension.c @@ -2,14 +2,14 @@ * * Name: dimension.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: NetCDF dimension functions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/group.c b/src/group.c index 4c4a533d..2bb428cb 100644 --- a/src/group.c +++ b/src/group.c @@ -2,14 +2,14 @@ * * Name: group.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: NetCDF group functions for RNetCDF. * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/init.c b/src/init.c index a6d2e9ac..e8d19739 100644 --- a/src/init.c +++ b/src/init.c @@ -2,14 +2,14 @@ * * Name: common.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: RNetCDF initialisation * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/type.c b/src/type.c index 54ca435d..d3eff22b 100644 --- a/src/type.c +++ b/src/type.c @@ -2,14 +2,14 @@ * * Name: type.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: NetCDF type functions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/udunits.c b/src/udunits.c index 6f1c39c5..29d6d48d 100644 --- a/src/udunits.c +++ b/src/udunits.c @@ -2,14 +2,14 @@ * * Name: udunits.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: udunits2 functions for RNetCDF. * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/src/variable.c b/src/variable.c index 711d77c0..5c8d0182 100644 --- a/src/variable.c +++ b/src/variable.c @@ -2,14 +2,14 @@ * * Name: variable.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: NetCDF variable functions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* * diff --git a/tests/RNetCDF-test.R b/tests/RNetCDF-test.R index 4f2b29a8..99b5c77d 100644 --- a/tests/RNetCDF-test.R +++ b/tests/RNetCDF-test.R @@ -2,14 +2,14 @@ # # Name: RNetCDF-test.R # -# Version: 2.11-1 +# Version: 2.11-2 # # Purpose: Test functions to the NetCDF interface for R. # # Author: Pavel Michna (rnetcdf-devel@bluewin.ch) # Milton Woods (miltonjwoods@gmail.com) # -# Copyright (C) 2004-2025 Pavel Michna and Milton Woods. +# Copyright (C) 2004-2026 Pavel Michna and Milton Woods. # #===============================================================================# # diff --git a/tools/convert.m4 b/tools/convert.m4 index 67f5af90..1ca4ada9 100644 --- a/tools/convert.m4 +++ b/tools/convert.m4 @@ -5,14 +5,14 @@ dnl Insert warning into generated C code: * * Name: convert.c * - * Version: 2.11-1 + * Version: 2.11-2 * * Purpose: Type conversions for RNetCDF * * Author: Pavel Michna (rnetcdf-devel@bluewin.ch) * Milton Woods (miltonjwoods@gmail.com) * - * Copyright (C) 2004-2025 Pavel Michna and Milton Woods. + * Copyright (C) 2004-2026 Pavel Michna and Milton Woods. * *=============================================================================* *