E3SM-Project / E3SM

Energy Exascale Earth System Model source code. NOTE: use "maint" branches for your work. Head of master is not validated.
https://docs.e3sm.org/E3SM
Other
344 stars 351 forks source link

Build stops when using python 3.7 #2895

Open milenaveneziani opened 5 years ago

milenaveneziani commented 5 years ago

I started a build on edison yesterday, using hash a3452b7a7, and after loading the latest e3sm-unified environment (with python 3.7), and the ocn build stopped with this message:

make[3]: Entering directory '/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/ocn/source/core_ocean/.cvmix_all/src/shared'
./makedep.py ./shared_deps.d . .
  File "./makedep.py", line 56
    print file_name+'.o depends on '+file_used+'.o'
                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(file_name+'.o depends on '+file_used+'.o')?
Makefile:66: recipe for target 'shared_deps.d' failed
make[3]: *** [shared_deps.d] Error 1
make[3]: Leaving directory '/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/ocn/source/core_ocean/.cvmix_all/src/shared'
Makefile:57: recipe for target 'libcvmix' failed
gmake[2]: *** [libcvmix] Error 2
gmake[2]: Leaving directory '/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/ocn/source/core_ocean'
Makefile:39: recipe for target 'dycore' failed
gmake[1]: *** [dycore] Error 2
gmake[1]: Leaving directory '/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/ocn/source'
Makefile.in.ACME:71: recipe for target 'all' failed
gmake: *** [all] Error 2
ERROR: mpas-ocean buildlib cd /global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/ocn/source; gmake all CIME_MODEL=e3sm  compile_threaded=FALSE CASEROOT="/project/projectdirs/m2833/milena/e3sm_cases/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison" CASETOOLS="/project/projectdirs/m2833/milena/e3sm_cases/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/Tools" CIMEROOT="/global/project/projectdirs/acme/milena/E3SM-model/cime" COMP_INTERFACE="mct" COMPILER="intel" DEBUG="FALSE" EXEROOT="/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld" INCROOT="/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/lib/include" LIBROOT="/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/lib" MACH="edison" MPILIB="mpt" NINST_VALUE="c1a1l1i1o1r1g1w1e1" OS="CNL" PIO_VERSION="1" SHAREDLIBROOT="/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld" SMP_PRESENT="FALSE" USE_ESMF_LIB="FALSE" USE_MOAB="FALSE" CAM_CONFIG_OPTS="-phys cam5 -clubb_sgs -microphys mg2 -chem linoz_mam4_resus_mom_soag -rain_evap_to_coarse_aero -nlev 72 -clubb_sgs -microphys mg2 -chem linoz_mam4_resus_mom_soag -rain_evap_to_coarse_aero -nlev 72 -clubb_sgs -microphys mg2 -chem linoz_mam4_resus_mom_soag -rain_evap_to_coarse_aero -nlev 72 -bc_dep_to_snow_updates" COMPARE_TO_NUOPC="FALSE" USE_ALBANY="FALSE" USE_PETSC="FALSE"  CORE=ocean ESM=ACME DRIVER=ocean_cesm_driver GEN_F90=true ROOT_DIR="/global/cscratch1/sd/milena/acme_scratch/edison/20190418.A_WCYCL1950S_CMIP6_LRtunedHR-noCNT.ne30_oECv3.edison/bld/ocn/source" TOOL_TARGET_ARCH="-target-cpu=sandybridge" failed: 512

As expected, everything worked fine once I switched to the python 2.7 version of e3sm-unified.

xylar commented 5 years ago

@milenaveneziani, thanks for providing more details! Sorry I didn't know more when you emailed me earlier. This is an issue with both CVMix and Ocean-BGC. I have submitted pull requests to each: https://github.com/CVMix/CVMix-src/pull/76 https://github.com/E3SM-Project/Ocean-BGC/pull/1 The fix is already in CVMix/master but we'll need to wait for a release before we can make the associated change in MPAS-Model. I haven't heard anything from @maltrud about the Ocean-BGC fix but I assume the situation would be the same.

xylar commented 5 years ago

In terms of building E3SM, it might not be the best idea to use E3SM-Unified, which is more intended for analysis. Maybe use the default system python 2.7 for now (or their python 3.7 once we get these build issue fixed.)

maltrud commented 5 years ago

@xylar is used CVMIX as a template for BGC so you're right the fix should be the same.

xylar commented 5 years ago

This has been solved in CVMix. A PR is now in to MPAS-Model to update to the latest CVMIx: https://github.com/MPAS-Dev/MPAS-Model/pull/251

The PR to Ocean-BGC hasn't yet been merged and a new release has also not yet been made, but I will update MPAS-Model to point to one as soon as that is addressed.

xylar commented 5 years ago

Addressed by #2952 and #3006