From: Marco van Hulten Subject: Re: [wip new] geo/eccodes [was: installing symlink fails] To: Stuart Henderson Cc: ports@openbsd.org, Martin Reindl Date: Wed, 3 Sep 2025 13:46:49 +0200 On Tue, 2 Sep 2025 14:40:04 +0100 Stuart Henderson wrote: > On 2025/09/02 14:48, Marco van Hulten wrote: > > On Tue, 2 Sep 2025 11:23:02 +0100 Stuart Henderson wrote: > > > attached with some cleanup. I think this is looking to be in reasonable > > > shape now. > > > > Thanks. I tried to make test, but tests fail (log attached). > > worked for me, but I had it installed. alternatively I think adding this may help > > TEST_ENV = LD_LIBRARY_PATH=${WRKBUILD}/lib This works. All tests for netcdf (including Martin's update + minor changes), hdf5, libaec, eccodes and cdo work and CDO can read GRIB2 (as well as GRIB1 and netCDF): mvanhult@detekti:~/data/grib$ cdo -infon icon-eu_europe_regular-lat-lon_single-level_2025063000_120_T_2M.grib2 -1 : Date Time Level Gridsize Miss : Minimum Mean Maximum : Parameter name 1 : 2025-07-05 00:00:00 2 904689 0 : 269.95 289.78 313.96 : 2t cdo infon: Processed 904689 values from 1 variable over 1 timestep [0.30s 81MB] > > > while loooking into what it wants Python for, I found memfs - do you > > > have a handle on this? it seems that it may be another way to load the > > > definitions that doesn't need the huge file tree... > > > > No, I know hardly anything about memfs. > > I have no idea about use of this software but the definitions account > for a *lot* of files; 22k entries in the PLIST before flattening, 27k > after, so it would be nice to avoid them if they aren't really needed > > * MEMFS, eccodes(OFF): 'Memory based access to definitions/samples' > > > > I cannot look into this anytime soon. Will add an XXX comment before > > the post-install rule as a reminder. I realise that 20k+ entries are a lot and even saving only about 5k would be a good thing. I can compile with memfs and probably need to set some variable when linking [1]. With memfs it creates a libeccodes_memfs.so of size 36 MiB, which is surely better than tens of thousands of files. More news later. Alternatively, _if_ I don't manage (to make cdo understand this memfs so), I could today submit netcdf, hdf5 and cdo without GRIB2 support (no eccodes). This would already be useful, because people in the geosciences need netCDF support; GRIB1/2 is less prevalent. Don't say this to the meteorologists. Then we'll try packaging eccodes (for GRIB2 support) later properly. Marco [1]: https://confluence.ecmwf.int/display/UDOC/MEMFS:+How+do+I+access+the+samples+in+ifs_samples+-+ecCodes+GRIB+FAQ