Skip to content. | Skip to navigation

Personal tools
Log in
You are here: Home Utilisateurs Guides LMDZ pas à pas Known problems when installing

Known problems when installing

  • Fails to compile with OpenMP on Brodie (SX8 at l'IDRIS). When compiling the GCM in OpenMP mode (alone or in mixed MPI/OpenMP mode), compilation fails when compiling routine physiq with the following error message :
    f90 fatal: Limitation : memory could not allocate.
    sxf90 fatal : /SX/usr/lib/f90com command error : 1

    During compilation, then compiler needs some space to generate intermediate elementsle. Available space and memory are (to some extent) those of the user and are limited (the ulimit -a command will give you these limits). For instance on Brodie (the SX8 at IDRIS) :

    $ ulimit -a
    core file size (blocks, -c) 0
    data seg size (kbytes, -d) unlimited
    file size (blocks, -f) 20971520
    max locked memory (kbytes, -l) 8192
    max memory size (kbytes, -m) unlimited
    open files (-n) 1024
    pipe size (512 bytes, -p) 8
    stack size (kbytes, -s) 8192
    cpu time (seconds, -t) 3600
    max user processes (-u) 200
    virtual memory (kbytes, -v) 1048576

    The allowed virtual memory is to limited for the compilation of the (huge) physiq routine. Fortunately, users can (to some extent) change theses limits and thus increase virtual memory, for instance with :

    ulimit -v 2000000

    Which solves the problem.

  • When using the -arch linux-32bit option of makelmdz_fcm, you get many error messages of the likes of :

    PGF90-S-0450-Argument number 4 to ymds2ju: kind mismatch

    IOIPSL has probably been compiled with option -r8 (I.e. reals are by default set as double precision; this is the default when installing the model on Linux machines). Add this same option to line %BASE_FFLAGS of arch-linux-32bit.fcm. You must also have a NC_DOUBLE parameter on line %FPP_DEF.

  • With the -arch linux-32bit option of makelmdz_fcm, if you get error messages like :

    /usr/lib/libc.a(iofclose.o):(.eh_frame+0x11): undefined reference to

    Remove option -Wl,-Bstatic from line %LD_FLAGS in arch-linux-32bit.fcm.

  • With the -arch linux-32bit option of makelmdz_fcm, if you get error messages like :

    PGF90-S-0069-Illegal implied DO expression

    You probably have an old version of the pgf90 compiler, like version 6 or an earlier version. The error is due to a bug in the compiler, which has been fixed in more recent versions.

  • If you get the following erors when running makelmdz_fcm :
    ERROR: bld.cfg: LINE 44:
    dir::lib: label not recognised.
    ERROR: bld.cfg: LINE 45:
    dir::bin: label not recognised.
    It is probably because you are using version 1.3 of FCM or an even more recent version. Install and use version 1.2.
  • If, with the PGI Fortran compiler, you obtain during compilation error messages of the likes of :
    Lowering Error: unexpected data type at load
    Lowering Error: unknown source type for conversion to integer
    PGF90-F-0000-Internal compiler error. Errors in Lowering 6
    (libo/AMD64_CICLAD_64x44x40_phylmd_seq/.config/ppsrc/phys/regr_lat_time_climoz_m.f90: 330)
    PGF90/x86-64 Linux 7.1-6: compilation aborted
    This seems to result from a bug in the compiler, which has been corrected with version 9.0.4 of that compiler.
  • Under Mac OS X, with option -arch gfortran -parallel omp of makelmdz_fcm, you have the following error message :
    Undefined symbols:
    "___emutls_get_address", referenced from:
    ld: symbol(s) not found
    This is a know issue when compiling in OpenMP with gcc under Mac OS X, independently from LMDZ. This problem occurs when using the threadprivate directive. There is no easy solution to this problem (note that the program installs and runs with no problem in sequential mode).
Add comment

You can add a comment by filling out the form below. Plain text formatting. Comments are moderated.

Enter the word