Package Details: eccodes 2.48.0-2

Git Clone URL: https://aur.archlinux.org/eccodes.git (read-only, click to copy)
Package Base: eccodes
Description: ECMWF decoding library for GRIB, BUFR and GTS
Upstream URL: https://confluence.ecmwf.int/display/ECC/ecCodes+Home
Licenses: Apache-2.0
Conflicts: grib_api, libbufr-ecmwf
Submitter: graziano
Maintainer: jankoh
Last Packager: jankoh
Votes: 15
Popularity: 0.000174
First Submitted: 2016-12-07 14:34 (UTC)
Last Updated: 2026-09-05 07:03 (UTC)

Latest Comments

1 2 3 4 Next › Last »

jankoh commented on 2026-09-08 15:36 (UTC)

Hm, the source was unchanged upstream. Only the test tarball changed so I needed to upload an updated package.

That said, maybe Manjaro uses a different Compiler or Compiler-Version? I don't get thia issue on a Clean Arch- Container.

Best, Jan

James-T commented on 2026-09-08 13:52 (UTC)

Hello, Does anybody understand this error message while attempting to build the latest version (2.48.0-2) on a Manjaro system:

data/software/AUR/eccodes/src/eccodes-2.48.0-Source/src/eccodes/grib_dumper_factory.cc:19:8: warning: type ‘struct table_entry’ violates the C++ One Definition Rule [-Wodr]
   19 | struct table_entry
      |        ^
/data/software/AUR/eccodes/src/eccodes-2.48.0-Source/src/eccodes/grib_iterator_factory.cc:18:8: note: a different type is defined in another translation unit
   18 | struct table_entry
      |        ^
/data/software/AUR/eccodes/src/eccodes-2.48.0-Source/src/eccodes/grib_dumper_factory.cc:22:23: note: the first difference of corresponding definitions is field ‘dumper’
   22 |     eccodes::Dumper** dumper;
      |                       ^
/data/software/AUR/eccodes/src/eccodes-2.48.0-Source/src/eccodes/grib_iterator_factory.cc:21:39: note: a field with different name is defined in another translation unit
   21 |     eccodes::geo_iterator::Iterator** iterator;
      |                                       ^
[ 44%] Built target eccodes
make: *** [Makefile:166: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

jankoh commented on 2026-05-28 11:54 (UTC)

I get random failures on my test pipeline, too. though not too many and not too often. It might be a good idea to report such failures upstream so the maintainers can check and possibly fix things, especially when tests fail permanently on a specific machine.

It also might be a good idea to check the error persists in a clean chroot (see: https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot for details).

Best Jan

Lirion commented on 2026-05-17 08:25 (UTC) (edited on 2026-05-17 08:54 (UTC) by Lirion)

Can confirm eccodes_t_grib_mtg2_switch failing for quite a while now, always ending up in the output below. Over here, this is the case for 2.41.0-1 through 2.47.0-1 (2.41.0-1 being the last working version).

edit: FWIW, if you look at the source and compare tags 2.41.1 and 2.42.0, there were a lot of changes in grib_mtg2_test/grib_mtg2_switch_test, CASE 23: CERISE ECMWF pre-mtg2 being introduced among others. Ever since, this has been failing over here.

cashbagage commented on 2026-04-02 07:52 (UTC) (edited on 2026-04-02 07:52 (UTC) by cashbagage)

Hi, one of the tests failed for me when trying to install version 2.46.0-3:

The following tests FAILED:
     24 - eccodes_t_grib_mtg2_switch (Failed)               eccodes sanity script

Here are the last lines of the output for that test:

+ for i in "${!cases[@]}"
+ grib_check_key_equals temp.grib_mtg2_switch_test.case23.grib2 MTG2SwitchViaTablesVersion,MTG2SwitchDefault,MTG2Switch '0 1 0'
+ a_file=temp.grib_mtg2_switch_test.case23.grib2
+ a_key=MTG2SwitchViaTablesVersion,MTG2SwitchDefault,MTG2Switch
+ a_expected='0 1 0'
++ /home/valentina/.cache/yay/eccodes/src/build/bin/grib_get -p MTG2SwitchViaTablesVersion,MTG2SwitchDefault,MTG2Switch temp.grib_mtg2_switch_test.case23.grib2
+ a_result='1 0 0'
+ '[' '1 0 0' '!=' '0 1 0' ']'
+ echo 'File:     '\''temp.grib_mtg2_switch_test.case23.grib2'\'''
File:     'temp.grib_mtg2_switch_test.case23.grib2'
+ echo 'Key(s):   '\''MTG2SwitchViaTablesVersion,MTG2SwitchDefault,MTG2Switch'\'''
Key(s):   'MTG2SwitchViaTablesVersion,MTG2SwitchDefault,MTG2Switch'
+ echo 'Expected: '\''0 1 0'\'''
Expected: '0 1 0'
+ echo 'Result:   '\''1 0 0'\'''
Result:   '1 0 0'
+ exit 1

Corresponding case in the test script seems to be this one: https://github.com/ecmwf/eccodes/blob/c10e8be0c3e27dd2be36a909b06d5d3be6889708/tests/grib_mtg2_switch.sh#L619

It does not seem to me that this is caused by something local to my machine but I might be wrong.

Best, Valentina

Nestor_013 commented on 2026-03-11 09:09 (UTC)

Hi Jan, Thanks for this update. I confirm it works for me too now.

During compilation, I observed some ODR violations warnings (see below), perhaps this explains that. Maybe this should be reported upstream ?

/home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/src/eccodes/grib_hash_keys.cc:11739:8: warning: type ‘struct grib_itrie’ violates the C++ One Definition Rule [-Wodr]
11739 | struct grib_itrie
      |        ^
/home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/src/eccodes/grib_itrie.cc:278:8: note: a different type is defined in another translation unit
  278 | struct grib_itrie
      |        ^
/home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/src/eccodes/grib_hash_keys.cc:11741:17: note: the first difference of corresponding definitions is field ‘next’
11741 |     grib_itrie* next[SIZE];
      |                 ^
/home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/src/eccodes/grib_itrie.cc:280:17: note: a field of same name but different type is defined in another translation unit
  280 |     grib_itrie* next[SIZE];
      |                 ^
/home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/src/eccodes/grib_hash_keys.cc:11739:8: note: array types have different bounds
...

jankoh commented on 2026-03-10 21:00 (UTC)

Hi @Nestor_013,

I get this very error on my local machine, too, but not on my test pipelines using fresh Arch-containers. I'm not really sure what cases the problem, but I deactivated the test and re-added the download of the extra test data since it really speeds up the test process. An update of the package is on the way.

Best Jan

Nestor_013 commented on 2026-03-10 08:52 (UTC) (edited on 2026-03-10 09:13 (UTC) by Nestor_013)

Hi, not sure if it's me only, but I get a crash, which prevents yay from installing, in one of the tests (see below):

 91/462 Test  #91: eccodes_t_grib_ecc-2221 ........................***Failed    0.12 sec
++ echo 'Script: /home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/tests/grib_ecc-2221.sh'
Script: /home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source/tests/grib_ecc-2221.sh
++ proj_dir=/home/user/.cache/yay/eccodes/src/eccodes-2.46.0-Source
++ build_dir=/home/user/.cache/yay/eccodes/src/build
++ data_dir=/home/user/.cache/yay/eccodes/src/build/data
++ def_dir=/home/user/.cache/yay/eccodes/src/build/share/eccodes/definitions
++ ECCODES_DEFINITION_PATH=/home/user/.cache/yay/eccodes/src/build/share/eccodes/definitions
++ export ECCODES_DEFINITION_PATH
++ tools_dir=/home/user/.cache/yay/eccodes/src/build/bin
++ bin_dir=/home/user/.cache/yay/eccodes/src/build/bin
++ EXEC=
++ test x '!=' x
++ test_dir=/home/user/.cache/yay/eccodes/src/build/tests
++ samp_dir=/home/user/.cache/yay/eccodes/src/build/share/eccodes/samples
++ ECCODES_SAMPLES_PATH=/home/user/.cache/yay/eccodes/src/build/share/eccodes/samples
++ export ECCODES_SAMPLES_PATH
++ set -u
++ HAVE_PRODUCT_BUFR=1
++ HAVE_PRODUCT_GRIB=1
++ HAVE_JPEG=1
++ HAVE_LIBJASPER=0
++ HAVE_LIBOPENJPEG=1
++ HAVE_PNG=1
++ HAVE_AEC=1
++ HAVE_GEOGRAPHY=1
++ HAVE_ECKIT_GEO=0
++ HAVE_EXTRA_TESTS=1
++ HAVE_MEMFS=0
++ ECCODES_ON_WINDOWS=0
+++ pwd
++ echo 'Current directory: /home/user/.cache/yay/eccodes/src/build/tests'
Current directory: /home/user/.cache/yay/eccodes/src/build/tests
+ label=grib_ecc-2221_test
+ tempGrib=temp.grib_ecc-2221_test.grib
+ tempFilt=temp.grib_ecc-2221_test.filt
+ sample_grib2=/home/user/.cache/yay/eccodes/src/build/share/eccodes/samples/GRIB2.tmpl
+ cat
+ /home/user/.cache/yay/eccodes/src/build/bin/grib_filter -o temp.grib_ecc-2221_test.grib temp.grib_ecc-2221_test.filt /home/user/.cache/yay/eccodes/src/build/share/eccodes/samples/GRIB2.tmpl
+ grib_check_key_equals temp.grib_ecc-2221_test.grib model,configuration,forcing,timespan 'lisflood v5 ecmf-ifs 6h'
+ a_file=temp.grib_ecc-2221_test.grib
+ a_key=model,configuration,forcing,timespan
+ a_expected='lisflood v5 ecmf-ifs 6h'
++ /home/user/.cache/yay/eccodes/src/build/bin/grib_get -p model,configuration,forcing,timespan temp.grib_ecc-2221_test.grib
ECCODES ERROR   :  timespan (Key/value not found)
+ a_result='lisflood v5 ecmf-ifs '

James-T commented on 2026-02-09 10:21 (UTC)

Hi Jan, looks like the certificate on the Arch Wiki page has expired so I'll have to defer attempting the clean Chroot build.

I am, however, by no means certain that (for all the portentousness of the "fatal error") that the Fortran fail is the final cause of failure as I don't see a connection between that and the C++ errors of the second block, and the build continues far longer than any other "waiting for unfinished jobs" that I've ever seen.