ecmwf / eckit

A C++ toolkit that supports development of tools and applications at ECMWF.

Home Page:https://confluence.ecmwf.int/display/eckit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error with ecbuild (CRITICAL - Please define a version for eckit)

chengdang opened this issue · comments

Hello Sir/Madam:

I'm trying to build eckit on MacOS, here is the Error message I got:

> ecbuild ..
Found CMake version 3.20.2

cmake -DCMAKE_MODULE_PATH=/usr/local/share/ecbuild/cmake ..

-- ecbuild   3.6.2	/usr/local/share/ecbuild/cmake
-- cmake     3.20.2	/usr/local/Cellar/cmake/3.20.2/bin/cmake
-- ---------------------------------------------------------
-- Added C flag [-pipe]
-- Added CXX flag [-pipe]
-- ---------------------------------------------------------
CMake Error at /usr/local/share/ecbuild/cmake/ecbuild_log.cmake:190 (message):
  CRITICAL - Please define a version for eckit

  	project( eckit VERSION x.x.x LANGUAGES C CXX Fortran )
Call Stack (most recent call first):
  /usr/local/share/ecbuild/cmake/ecbuild_declare_project.cmake:103 (ecbuild_critical)
  CMakeLists.txt:13 (ecbuild_declare_project)


-- Configuring incomplete, errors occurred!
See also "/Users/dangch/Documents/jedi/projects/eckit/build/CMakeFiles/CMakeOutput.log".
See also "/Users/dangch/Documents/jedi/projects/eckit/build/CMakeFiles/CMakeError.log".

Here is my system configuration:

HOMEBREW_VERSION: 3.1.7
ORIGIN: https://github.com/Homebrew/brew
HEAD: 92cf9047191393a2d624c64fc28d9595309ba273
Last commit: 5 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 1837d0c34a85a96692f3b55619df90562a51f096
Core tap last commit: 59 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 16
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
CPU: 16-core 64-bit kabylake
Clang: 12.0.5 build 1205
Git: 2.25.0 => /usr/local/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.3.1-x86_64
CLT: 12.5.0.0.1.1617976050
Xcode: 12.5

ecbuild version 3.6.2
cmake version 3.20.2

Could you please instruct me on how to set the eckit version? I'm using the code branch 0.24.1, while I'm not sure if this is the appropriate version for macOS 11.

Hi @chengdang,

0.24.1 is a very old version of eckit, and therefore not compatible with ecbuild 3.6.2. I would strongly recommend using a more recent version if you can. The "latest release" label on 0.24.0 is wrong, we are looking into it, there have been many releases after that.

@oiffrig Thank you! That is good to know.
I just tried branch 2021.03.0, and it seems to be working fine.
Thanks.

Hello

I'm having the same problem. What can I do?

cesar@cesarmagnojr:~/PYCRTM/crtm-bundle$ sh kickstart_pyCRTM.sh
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support for pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: h5py in /home/cesar/.local/lib/python2.7/site-packages (2.10.0)
Requirement already satisfied: numpy>=1.7 in /home/cesar/.local/lib/python2.7/site-packages (from h5py) (1.16.6)
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (from h5py) (1.11.0)
mkdir: could not create directory “crtm_v2.4.0”: File exists
[kickstart] making crtm in crtm-bundle/crtm_v2.4.0:
Found CMake version 3.21.1

cmake -DCMAKE_MODULE_PATH=/home/cesar/PYCRTM/ecbuild/cmake ../

-- Found ecbuild: /home/cesar/PYCRTM/ecbuild/cmake (found version "3.6.3")
-- Found Git: /usr/bin/git (found version "2.17.1")
-- ecbuild 3.6.3 /home/cesar/PYCRTM/ecbuild/cmake
-- cmake 3.21.1 /usr/local/bin/cmake


-- The C compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test crtm-bundle_C_FLAG_TEST_1
-- Performing Test crtm-bundle_C_FLAG_TEST_1 - Success
-- Added C flag [-pipe]
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void*
-- Check size of void* - done
-- Check size of off_t
-- Check size of off_t - done


CMake Error at /home/cesar/PYCRTM/ecbuild/cmake/ecbuild_log.cmake:190 (message):
CRITICAL - Please set version for crtm-bundle

project( crtm-bundle VERSION x.x.x LANGUAGES C CXX Fortran )
Call Stack (most recent call first):
/home/cesar/PYCRTM/ecbuild/cmake/ecbuild_declare_project.cmake:103 (ecbuild_critical)
/home/cesar/PYCRTM/ecbuild/cmake/ecbuild_bundle.cmake:41 (ecbuild_declare_project)
CMakeLists.txt:24 (ecbuild_bundle_initialize)

-- Configuring incomplete, errors occurred!
See also "/home/cesar/PYCRTM/crtm-bundle/crtm_v2.4.0/CMakeFiles/CMakeOutput.log".
[kickstart] compiling crtm:
make: *** No target indicated and no make file found. Stop.
[kickstart] linking to modules:
kickstart_pyCRTM.sh: 14: cd: can't cd to crtm
[kickstart] getting remote binary data.
sh: 0: Can't open Get_CRTM_Binary_Files.sh
[kickstart] installing pycrtm
kickstart_pyCRTM.sh: 20: cd: can't cd to pycrtm
kickstart_pyCRTM.sh: 21: kickstart_pyCRTM.sh: ./setup_pycrtm.py: not found
[kickstart] running a testcase.
kickstart_pyCRTM.sh: 26: kickstart_pyCRTM.sh: ./testCases/test_cris.py: not found
[kickstart] Read the README.md file for more information (note *_threads.py files currently not functional).

What would "set the crtm-bundle" be?
I need to install PYCRTM because I want to better understand how CRTM works. Thanks!

Hi @cesarmagnosjr:

Try to add version 2.4.0 in this line:

project( crtm-bundle VERSION 2.4.0 LANGUAGES C CXX Fortran )

Could you point me towards your source code repo?
Thanks,

Dear @chengdang

Where in the project do I put this?
It's a function I call with

$ ecbuild project...

or do i define the project somewhere?

Regards.
César Magno.

Hello @cesarmagnosjr :
please refer to this file: https://github.com/JCSDA/crtm-bundle/blob/5a1be75977e0ed3db0ee8f591696e8fdfbc8e78d/CMakeLists.txt

Is this the code repository you are testing?

Hi @cesarmagnosjr, @chengdang,

I believe this issue has nothing to do with eckit. You may want to open another issue in a more relevant repository, like crtm-bundle.

@oiffrig Yes indeed.
@cesarmagnosjr please open another issue on https://github.com/JCSDA/crtm-bundle for more discussion.

Dear colleagues, good morning.

I ended up contacting the code developer who helped me with some details. At first this problem is solved with a 'git pull', however, other small problems appeared that he is looking into.

If I need it, I will open a new ticket.
Thank you very much for your attention.