
# FAQ Errors

C. Hourdin - Juillet 2022

## Table of content 
[toc]


## Problème compilation croco   
w

### IRENE-AMD / Error compilation partit.F - problème ordre module load
C. Hourdin - Juillet 2022

```
cpp -traditional -DLinux -DIfort -P -I/ccc/products2/python3-3.6.4/Atos_7__x86_64/intel--17.0.4.196__openmpi--2.0.2/default/include -ICROCOFILES/AGRIF_INC  partit.F > partit._.f
mpif90 -c -O3 -fno-alias -i4 -r8 -fp-model precise  partit._.f -o partit.o
partit._.f(522): error #6404: This name does not have a type, and must have an explicit type.   [NF_OPEN]
        ierr=nf_open (src_name(1:lsrc), nf_nowrite, ncsrc)
-------------^
...
----------------------------^
partit._.f(1345): catastrophic error: Too many errors, exiting
compilation aborted for partit._.f (code 1)
make: *** [partit] Error 1
```

```
nf-config --includedir
/ccc/products2/python3-3.6.4/Atos_7__x86_64/intel--17.0.4.196__openmpi--2.0.2/default/include

au lieu de :
/ccc/products/ccc_users_env/compil/Atos_7__x86_64/netcdf-fortran-4.4.4/intel--19.0.5.281__openmpi--4.0.1/hdf5__parallel/include
```
Il y a un conflit entre python & intel

```
 1201  module purge   >/dev/null 2>&1
 1202  # From Seb 02/08/2021      see $HOME/loadintel.sh & $HOME/loadgcc.sh
 1203      module load python3/3.6.4
 1204      module load intel/19.0.5.281
 1205      module load mpi/openmpi/4.0.2
```
donne le conflit suivant: 

![](./compilation_partit.F_conflit_module_01.png)

Alors que si on load le module python en dernier, auucun signalement mais le conflit exitse bien et on le retrouve sur "nf-config --includedir"

![](./compilation_partit.F_conflit_module_02.png)

<mark>Il faudrait mettre un test pour les modules qui se loadent avec un conflit (pour le .bashrc et pour pulsation)</mark>


### IRENE-AMD / Error compilation (g)make: m2c: Command not found
C. Hourdin - Juillet 2022

```
mpif90 -c -O3 -fno-alias -i4 -r8 -fp-model precise  ncrename._.f -o ncrename.o
mpif90 -O3 -fno-alias -i4 -r8 -fp-model precise   -o ncrename ncrename.o lenstr.o -L/ccc/products/ccc_users_env/compil/Atos_7__x86_64/netcdf-fortran-4.4.4/intel--20.0.0/hdf5__serial/lib -lnetcdff -L/ccc/products/ccc_users_env/compil/Atos_7__x86_64/netcdf-c-4.6.0/intel--20.0.0/hdf5__serial/lib -L/ccc/products/ccc_users_env/compil/Atos_7__x86_64/hdf5-1.8.20/intel--20.0.0/serial/lib -lnetcdf -lnetcdf -liomp5 -lpthread
./cross_matrix  *.F90 *.F

 This is CROSS_MATRIX: Creating new version of Make.depend.

make: Circular par_pisces.mod <- par_pisces.o dependency dropped.
m2c    -o par_pisces.o par_pisces.mod
make: m2c: Command not found
make: *** [par_pisces.o] Error 127
rm par_pisces.mod
```

jobcomp plante sur la première routine PISCES, et plus exactement sur la première routine qui n'est pas dans OCEAN.
jobcomp lancé depuis le répertoire OCEAN (ce qui ne se fait pas normalement!) avec la syntaxe d'origine :
`SOURCE=../croco/OCEAN`
trouve au début les routines qui sont dans OCEAN. Mais dès qu'il en cherche ailleurs, il ne les trouve pas. 

=> `SOURCE="../../63-pisces-bug-fixes/OCEAN"` OK

on voit d'ailleurs en première ligne de compilation l'erreur suivante qui indique bien que le PATH SOURCE n'est pas bon mais le message passe trop vite... 
`cp: cannot stat ‘../croco/OCEAN/../PISCES/namelist_pisces*’: No such file or directory`

<mark>Il faudrait mettre un test avec un message explicite si SOURCE ne pointe pas sur un répertoire croco (qui contienne bien la liste des répetoires OCEAN, PISCES, CVTK...)</mark>


## Problème Execution croco   


### IRENE/ Error execution XIOS - module gcc 
C. Hourdin - Avril 2022

Error si on compile croco avec XIOS sans "module load gcc" ?

```
mpif90 -check bounds -fpe0 -traceback -g -O0 -ftrapuv -72 -fno-alias -i4 -r8 -fp-model precise -mcmodel=medium -IAGRIF -I/ccc/work/cont005/gen1140/hourdinc/wd/ASAP2/exp/datarmor2/compile/xios/XIOS_X64_IRENE_trunk_r2219-2021_09_06/inc  -o a.out par_pisces.o ocean2pisces.o trc.o sms_pisces.o p4zche.o p4zint.o p4zlys.o p4zflx.o p4zlim.o p4zsink.o p4zmicro.o p4zmeso.o p4zmort.o p4zopt.o p4zprod.o p4zrem.o p4zsbc.o p4zsed.o trcwri_pisces.o p4zagg.o p4zfechem.o p4zligand.o p4zpoc.o p4zsms.o p5zlim.o p5zmeso.o p5zmicro.o p5zmort.o p5zprod.o p4zbio.o trcsms_pisces.o trcini_pisces.o pisces_ini.o oce_sed.o par_sed.o sedadv.o sedarr.o sedbtb.o sedchem.o sedco3.o seddiff.o seddsr.o seddta.o sed.o sedini.o sedinitrc.o sedinorg.o sedmat.o sedmbc.o sedmodel.o sed_oce.o sedorg.o sedrst.o sedsfc.o sedstp.o sedwri.o setavg_sed.o module_parameter_oa.o module_oa_time.o module_oa_space.o module_oa_periode.o module_oa_variables.o module_oa_type.o module_oa_stock.o module_oa_level.o module_oa_interface.o module_oa_upd.o croco_oa.o var_oa.o tooldatosec.o toolsectodat.o tooldecompdat.o main.o step.o read_inp.o timers_roms.o init_scalars.o init_arrays.o set_weights.o set_scoord.o ana_grid.o setup_grid1.o setup_grid2.o set_nudgcof.o ana_initial.o analytical.o zonavg.o step2d.o u2dbc.o v2dbc.o zetabc.o obc_volcons.o pre_step3d.o step3d_t.o step3d_uv1.o step3d_uv2.o prsgrd.o rhs3d.o set_depth.o omega.o uv3dmix.o uv3dmix_spg.o t3dmix.o t3dmix_spg.o hmix_coef.o wetdry.o u3dbc.o v3dbc.o t3dbc.o step3d_fast.o step3d_w.o rhs3d_w_nh.o initial_nbq.o grid_nbq.o unbq_bc.o vnbq_bc.o wnbq_bc.o rnbq_bc.o w3dbc.o nbq_bry_store.o rho_eos.o ab_ratio.o alfabeta.o ana_vmix.o bvf_mix.o lmd_vmix.o gls_mixing.o lmd_skpp.o lmd_bkpp.o lmd_swfrac.o lmd_wscale.o diag.o wvlcty.o checkdims.o grid_stiffness.o bio_diag.o setup_kwds.o check_kwds.o check_srcs.o check_switches1.o check_switches2.o debug.o param.o ncscrum.o scalars.o output.o put_global_atts.o nf_fread.o nf_fread_x.o nf_fread_y.o nf_read_bry.o get_date.o lenstr.o closecdf.o insert_node.o fillvalue.o nf_add_attribute.o set_cycle.o def_grid_2d.o def_grid_3d.o def_his.o def_rst.o def_diags.o def_diagsM.o def_bio_diags.o wrt_grid.o wrt_his.o wrt_avg.o wrt_rst.o wrt_diags.o wrt_diags_avg.o wrt_diagsM.o wrt_diagsM_avg.o wrt_bio_diags.o wrt_bio_diags_avg.o set_avg.o set_diags_avg.o set_diagsM_avg.o set_bio_diags_avg.o def_diags_vrt.o wrt_diags_vrt.o set_diags_vrt.o set_diags_vrt_avg.o wrt_diags_vrt_avg.o def_diags_ek.o wrt_diags_ek.o set_diags_ek.o set_diags_ek_avg.o wrt_diags_ek_avg.o def_diags_pv.o wrt_diags_pv.o set_diags_pv.o set_diags_pv_avg.o wrt_diags_pv_avg.o def_diags_eddy.o set_diags_eddy_avg.o wrt_diags_eddy_avg.o def_surf.o wrt_surf.o set_surf_avg.o wrt_surf_avg.o get_grid.o get_initial.o get_vbc.o get_wwave.o get_tclima.o get_uclima.o get_ssh.o get_sss.o get_smflux.o get_stflux.o get_srflux.o get_sst.o mod_tides_mas.o tidedata.o mas.o get_tides.o clm_tides.o get_bulk.o bulk_flux.o get_bry.o get_bry_bio.o sstskin.o get_psource.o get_psource_ts.o cfb_stress.o mrl_wci.o wkb_wwave.o wkbbc.o get_bry_wkb.o online_bulk_var.o online_get_bulk.o online_interp.o online_interpolate_bulk.o online_set_bulk.o init_floats.o wrt_floats.o step_floats.o rhs_floats.o interp_rho.o def_floats.o init_arrays_floats.o random_walk.o get_initial_floats.o init_sta.o wrt_sta.o step_sta.o interp_sta.o def_sta.o init_arrays_sta.o biology.o o2sato.o sediment.o bbl.o MPI_Setup.o MessPass2D.o MessPass3D.o exchange.o autotiling.o zoom.o update2D.o set_nudgcof_fine.o zoombc_2D.o zoombc_3D.o uv3dpremix.o t3dpremix.o update3D.o zoombc_3Dfast.o Agrif2Model.o send_xios_diags.o cpl_prism_define.o cpl_prism_put.o cpl_prism_init.o cpl_prism_get.o cpl_prism_getvar.o cpl_prism_grid.o -LAGRIF -lagrif -L/ccc/products/ccc_users_env/compil/Atos_7__x86_64/netcdf-fortran-4.4.4/intel--19.0.5.281__openmpi--4.0.1/hdf5__parallel/lib -lnetcdff -L/ccc/products/ccc_users_env/compil/Atos_7__x86_64/netcdf-c-4.6.0/intel--19.0.5.281__openmpi--4.0.1/hdf5__parallel/lib -L/ccc/products/ccc_users_env/compil/Atos_7__x86_64/hdf5-1.8.20/intel--19.0.5.281__openmpi--4.0.1/parallel/lib -lnetcdf -lnetcdf -liomp5 -lpthread /ccc/work/cont005/gen1140/hourdinc/wd/ASAP2/exp/datarmor2/compile/xios/XIOS_X64_IRENE_trunk_r2219-2021_09_06/lib/libxios.a -lstdc++ -lnetcdff
/ccc/work/cont005/gen1140/hourdinc/wd/ASAP2/exp/datarmor2/compile/xios/XIOS_X64_IRENE_trunk_r2219-2021_09_06/lib/libxios.a(icaxis.o): In function `cxios_axis_handle_create':
icaxis.cpp:(.text+0x74): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)'
icaxis.cpp:(.text+0x88): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_not_of(char, unsigned long) const'
icaxis.cpp:(.text+0xa4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_not_of(char, unsigned long) const'
icaxis.cpp:(.text+0xc8): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
icaxis.cpp:(.text+0x122): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)'
icaxis.cpp:(.text+0x23a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
icaxis.cpp:(.text+0x45d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)'
icaxis.cpp:(.text+0x558): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)'
icaxis.cpp:(.text+0x677): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
icaxis.cpp:(.text+0x7ce): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
```



