Code Monkey home page Code Monkey logo

metkit's Introduction

metkit

License

Requirements

Runtime dependencies:

Build dependencies:

  • CMake --- For use and installation see http://www.cmake.org/
  • ecbuild --- ECMWF library of CMake macros ()

Installation

metkit employs an out-of-source build/install based on CMake.

Make sure ecbuild is installed and the ecbuild executable script is found ( which ecbuild ).

Now proceed with installation as follows:

# Environment --- Edit as needed
srcdir=$(pwd)
builddir=build
installdir=$HOME/local  

# 1. Create the build directory:
mkdir $builddir
cd $builddir

# 2. Run CMake
ecbuild --prefix=$installdir -- -DECKIT_PATH=<path/to/eckit/install> $srcdir

# 3. Compile / Install
make -j10
make install

metkit's People

Contributors

b8raoult avatar cristian-codorean avatar danovaro avatar dsarmany avatar dtip avatar dvuckovic avatar figi44 avatar geier1993 avatar kynan avatar mcakircali avatar oiffrig avatar pmaciel avatar sebvi avatar simondsmart avatar tlmquintino avatar vandome avatar wdeconinck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metkit's Issues

Add eccodes to recommended dependencies

What maintenance does this project need?

Using metkit as a dependency of multio gives the following error when installed and built using the current installation instructions:

CRITICAL - metkit must be built with GRIB support

Please add eccodes as a recommended dependency and add the method for directing ecbuild to eccodes to the installation instructions.

Organisation

No response

Test failure on Debian

Our test metkit_test_codes_decoder fails on Debian 11. Technically it's two tests which both fail: test codessplitter unstr_latlot.tmpl Native and test codessplitter unstr_latlot.tmpl String.

Note that this test passes on CentOS and Rocky so it's a Debian-specific problem.

The Debian CI is currently disabled for this repo so this test failure doesn't break our downstream CI tree. It should be reenabled once this bug is fixed by reverting 2455805

Log snippet:

   1/11 Test  #3: metkit_test_codes_decoder ........***Failed    0.02 sec
  Running 2 tests:
  Running case 0: test codessplitter unstr_latlot.tmpl Native ...
  Data location 94531107140160
  Test "test codessplitter unstr_latlot.tmpl Native" failed with unhandled eckit::Exception: Assertion failed: n > 0 in lookup, line 61 of /opt/actions-runner/work/_work/eckit/eckit/src/eckit/message/Splitter.cc @ 
      Stack trace: backtrace [1] stack has 12 addresses
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::BackTrace::dump[abi:cxx11]())0x1b0 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::Exception::Exception())0x89 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::AssertionFailed::AssertionFailed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, eckit::CodeLocation const&))0x12 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+)0xc4e68 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::message::SplitterFactory::lookup(eckit::PeekHandle&))0x117 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::message::Reader::init())0x2a 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::message::Reader::Reader(eckit::DataHandle&, bool))0x60 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x269f1 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x528bf 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x267f2 
  (/lib/x86_64-linux-gnu/libc.so.6+__libc_start_main)0xea 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x2647a 
  
  end of backtrace dump ...
  Completed case 0: test codessplitter unstr_latlot.tmpl Native
  Running case 1: test codessplitter unstr_latlot.tmpl String ...
  Data location 94531107140160
  Test "test codessplitter unstr_latlot.tmpl String" failed with unhandled eckit::Exception: Assertion failed: n > 0 in lookup, line 61 of /opt/actions-runner/work/_work/eckit/eckit/src/eckit/message/Splitter.cc @ 
      Stack trace: backtrace [2] stack has 12 addresses
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::BackTrace::dump[abi:cxx11]())0x1b0 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::Exception::Exception())0x89 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::AssertionFailed::AssertionFailed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, eckit::CodeLocation const&))0x12 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+)0xc4e68 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::message::SplitterFactory::lookup(eckit::PeekHandle&))0x117 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::message::Reader::init())0x2a 
  (/opt/actions-runner/work/_work/_temp/install/eckit/lib/libeckit.so+eckit::message::Reader::Reader(eckit::DataHandle&, bool))0x60 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x3b6b1 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x528bf 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x267f2 
  (/lib/x86_64-linux-gnu/libc.so.6+__libc_start_main)0xea 
  (/opt/actions-runner/work/_work/metkit/metkit/build/tests/metkit_test_codes_decoder+)0x2647a 
  
  end of backtrace dump ...
  Completed case 1: test codessplitter unstr_latlot.tmpl String
  	FAILED: test codessplitter unstr_latlot.tmpl Native
  	FAILED: test codessplitter unstr_latlot.tmpl String
  2 tests failed out of 2.

Full logs here: https://github.com/ecmwf/metkit/actions/runs/4429258502/jobs/7769471558

GNU-specific compiler flags

In metkit/cmake/compiler_warnings.cmake a few options are added specifically for the GNU compiler. Should the -Wall and -Wextra flags also be under this if statement? I am trying to compile Metkit with the Fujitsu compiler and it doesn't recognise these flags, so I have to manually remove them from this CMakeLists.txt. My understanding is that these are GNU-specific and some other, but not all, compilers recognise them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.