Giter Site home page Giter Site logo

Comments (13)

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

Those fixes are not needed at all on NASA Pleiades (uses SUSE Linux Enterprise Server 12). Compiles & runs smoothly after loading default modules and setting basic environment variables. Probably not surprising that NASA software works well on NASA computers :)

from gchp_legacy.

lizziel avatar lizziel commented on June 12, 2024

from gchp_legacy.

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

Just successfully compiled on CentOS 7 without all those fixes (on AWS, not Odyssey). Seems like an Ubuntu-only problem...

from gchp_legacy.

lizziel avatar lizziel commented on June 12, 2024

from gchp_legacy.

lizziel avatar lizziel commented on June 12, 2024

@JiaweiZhuang Update to my last comment: To test out compilation on Ubuntu use GCHP branch MAPL_v1.0.0. Let us know if the MAPL dirty fixes for compilation on ubuntu are still required for the new version. If yes, I will discuss with GMAO. If no, I will close out this issue.

from gchp_legacy.

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

To test out compilation on Ubuntu use GCHP branch MAPL_v1.0.0.

Thanks! Which version/branch of GC-classic code should I use to match the MAPL_v1.0.0 branch?

from gchp_legacy.

lizziel avatar lizziel commented on June 12, 2024

from gchp_legacy.

lizziel avatar lizziel commented on June 12, 2024

@JiaweiZhuang What is the status of your planned test? The information I gave you is now outdated and dev/12.5.0 should be used instead, soon to be master.

from gchp_legacy.

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

OK I will test 12.5.0 instead.

from gchp_legacy.

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

Exact same problem with 12.3.2 (only on Ubuntu; no issue on CentOS). Will test 12.5.0 after the release.

from gchp_legacy.

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

Same problem for GCHP 12.5.0 (tested on Ubuntu). Here are two log files before and after the fix:

In the first one you can see errors like:

c2c.F90:3:10: fatal error: MAPL_Generic.h: No such file or directory
    3 | #include "MAPL_Generic.h"
      |          ^~~~~~~~~~~~~~~~
compilation terminated.

In the second one those errors are gone. Although the compilation still fails due to #37.

from gchp_legacy.

JiaweiZhuang avatar JiaweiZhuang commented on June 12, 2024

GCHP 12.5.0 (even on CentOS) requires more CPATH/VPATH fixes than what's described on the top of this thread.

I've finally successfully compiled GCHP 12.5.0 (with gcc8.3.0 + OpenMPI3 + CentOS). Both the successful build and the failed builds can be reproduced by this Docker environment: https://github.com/JiaweiZhuang/docker_gchp/releases/tag/v0.1.0 (remove some fixes in Dockerfile and gchp.env to see how it fails).

  1. First, the complier cannot find MAPL_Generic.h without this fix:
export CPATH=$GC_CODE_DIR/GCHP/Shared/MAPL_Base:$CPATH # MAPL_Generic.h

this was only needed on Ubuntu; don't know why CentOS also needs this starting 12.5.0.

  1. Then, the build still fails at this newly-introduced PFIO module:
gmake[9]: *** No rule to make target `pfio_stringintegermapmod.mod', needed by `MAPL_IO.o'.  Stop.

Full log: compile_gchp12.5.0_fail_at_pfio.log

This can be fixed by

export VPATH=$GC_CODE_DIR/GCHP/Shared/GMAO_pFIO:$VPATH # pfio_stringintegermapmod.mod
  1. Then, the build still fails at
gmake[8]: *** No rule to make target `m_set_eta.mod', needed by `AdvCore_GridCompMod.o'.  Stop.

Full log: compile_gchp12.5.0_fail_at_finding_eta.log

This can be fixed by

export VPATH=$GC_CODE_DIR/GCHP/Shared/GMAO_hermes:$VPATH # m_set_eta.mod
  1. Then, the build still fails at
Fatal Error: Can't open module file 'm_set_eta.mod' for reading at (1): No such file or directory

Full log: compile_gchp12.5.0_fail_at_using_eta.log

This can be fixed by

ln -sf $GC_CODE_DIR/GCHP/Shared/GMAO_hermes/m_set_eta.mod $GC_CODE_DIR/GCHP/FVdycoreCubed_GridComp/

See this commit for all the above fixes: JiaweiZhuang/docker_gchp@d40b0c4

  1. Finally, because of geoschem/GCHP#39 (comment), the build still fails at
/usr/bin/ld: cannot find -lblas
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lGMAO_hermes

Full log: compile_gchp12.5.0_fail_at_blas.log

This can be fixed by yum install -y lapack-devel blas-devel (JiaweiZhuang/docker_gchp@e3c617d)

  1. Then we finally got this successful build: compile_gchp12.5.0_success.log

For comparison, GCHP 12.3.2 can be built successfully without any of the above fixes (on CentOS) . Full log: compile_gchp12.3.2_success.log
(However, GCHP 12.3.2 cannot be used with gfortran due to run-time errors like #15; I guess 12.5.0 is supposed to fix those run-time errors.)

from gchp_legacy.

lizziel avatar lizziel commented on June 12, 2024

I am closing this issue since 13.0.0 will be leaps and bounds beyond 12.3.2 in the MAPL version. We are not updating old MAPL at this point. Issues encountered with MAPL in 13.0.0 should be submitted as new issues.

from gchp_legacy.

Related Issues (20)

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.