metwork-framework / mfextaddon_scientific

scientific addon for metwork/mfext
BSD 3-Clause "New" or "Revised" License
4 stars 2 forks source link

build problem on integration branch for centos6 (only) #35

Closed thefab closed 5 years ago

thefab commented 5 years ago

since the merge of #33, the build fail in integration_tests in centos6

+ /opt/metwork-mfext/bin/mfext_wrapper ./run_integration_tests.sh
Test test_import_python2_scientific.sh in 0003_test_import_python2_scientific
Traceback (most recent call last):
  File "/opt/metwork-mfext-master/opt/python2_scientific/lib/python2.7/site-packages/ESMF/interface/loadESMF.py", line 118, in <module>
    mode=ct.RTLD_GLOBAL)
  File "/opt/metwork-mfext-master/opt/python2_core/lib/python2.7/ctypes/__init__.py", line 366, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libgfortran.so.4: cannot open shared object file: No such file or directory
Traceback (most recent call last):
  File "import_python2_scientific.py", line 30, in <module>
    import ESMF
  File "/opt/metwork-mfext-master/opt/python2_scientific/lib/python2.7/site-packages/ESMF/__init__.py", line 70, in <module>
    from ESMF.api.esmpymanager import *
  File "/opt/metwork-mfext-master/opt/python2_scientific/lib/python2.7/site-packages/ESMF/api/esmpymanager.py", line 11, in <module>
    from ESMF.interface.cbindings import *
  File "/opt/metwork-mfext-master/opt/python2_scientific/lib/python2.7/site-packages/ESMF/interface/cbindings.py", line 13, in <module>
    from ESMF.interface.loadESMF import _ESMF
  File "/opt/metwork-mfext-master/opt/python2_scientific/lib/python2.7/site-packages/ESMF/interface/loadESMF.py", line 121, in <module>
    raise ImportError('The ESMF shared library did not load properly.')
ImportError: The ESMF shared library did not load properly.
Test test_import_python2_scientific.sh (0003_test_import_python2_scientific) KO

=> I revert the commit

thefab commented 5 years ago

not so easy, after the revert, I have a build error:

g++ -DHAVE_CONFIG_H -I. -I../..  -I./ -I../nco -I/opt/metwork-mfext-master/opt/scientific_core/include -I/opt/metwork-mfext-master/opt/scientific_core/include -I/opt/metwork-mfext-master/opt/scientific_core/../core/include -I/opt/metwork-mfext-master/opt/scientific/include -I/opt/metwork-mfext-master/opt/scientific/../scientific_core/include  -g -O2 -MT ncap2.o -MD -MP -MF .deps/ncap2.Tpo -c -o ncap2.o ncap2.cc
ncap2.cc: In function 'int main(int, char**)':
ncap2.cc:410: error: invalid conversion from 'char*' to 'int'
ncap2.cc:410: error:   initializing argument 1 of 'int nc_set_log_level(int)'
make[5]: *** [ncap2.o] Error 1
make[5]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific/0015_nco/build/nco-4.7.6/src/nco++'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific/0015_nco/build/nco-4.7.6/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific/0015_nco/build/nco-4.7.6'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific/0015_nco/build/nco-4.7.6'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific/0015_nco'
make: *** [/opt/metwork-mfext-master/opt/scientific/lib/libnco.so] Error 2
make[3]: *** [all] Error 2
make[3]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific/0015_nco'
make[2]: *** [layer] Error 1
make[2]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers/layer1_scientific'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/drone/src/github.com/metwork-framework/mfextaddon_scientific/layers'
make: *** [all] Error 2

maybe it is linked to a mfext change ?

probably this: metwork-framework/mfext#427

So I revert my revert and the build will stay in failed state

thebaptiste commented 5 years ago

libgfortran.so.4 is missing (it's a system dependency of the scl used to build netcdf fortran in mfext). It should be corrected by adding libgfortran4 in .system_dependencies of layer scientific_core@mfext (done in https://github.com/metwork-framework/mfext/pull/452). By the way I don't understand why it works on centos7...