[mesa-users] Problems compiling new mesa version on supercomputer

Kevin Moore kmoore at physics.ucsb.edu
Sun Aug 5 16:59:23 EDT 2012


Hey all,

So you may remember me fighting with Triton to install mesa back in Jan. I eventually got version 3974 working, and have started trying to get a newer version (4219 specifically) compiled. I've tried compiling with ifort and 3 different versions of gcc that I've built (4.7.1, 4.7.2, and 4.8.0), all of which give (mostly different) compile-time errors. For reference, I typically compile mesa on my own machine using ifort 12.0.4 (20110503) and mesa 3974 compiled on Triton using ifort 11.1 (20100414). 

If anyone has any idea what these errors mean (or even better how to get rid of them), then I'd appreciate your help. 

ifort 11.1 (20100414) gives the following error while building num:

ifort  -vec-report0 -traceback -error-limit 6 -openmp -threads  -I../public -I../private -I../../include -warn all -warn nounused -implicitnone  -O2 -c -fixed -132 -fpp ../private/mod_newton.f
../private/mod_newton.f(412): error #6731: Object is not a pointer object   [X]
         x(1:nvar,1:nz) => x_in1(1:neq)
---------^
../private/mod_newton.f(413): error #6731: Object is not a pointer object   [XOLD]
         xold(1:nvar,1:nz) => xold_in1(1:neq)
---------^
../private/mod_newton.f(414): error #6731: Object is not a pointer object   [EQU]
         equ(1:nvar,1:nz) => equ_in1(1:neq)
---------^
../private/mod_newton.f(415): error #6731: Object is not a pointer object   [XSCALE]
         xscale(1:nvar,1:nz) => xscale_in1(1:neq)
---------^
../private/mod_newton.f(416): error #6731: Object is not a pointer object   [Y]
         y(1:ldy,1:nsec) => y_in1(1:ldy*nsec)
---------^
../private/mod_newton.f(1615): error #6731: Object is not a pointer object   [A]
            A(1:ndiag,1:neq) => work(i:i+ndiag*neq-1); i = i+ndiag*neq
------------^
(2450): catastrophic error: Too many errors, exiting
compilation aborted for ../private/mod_newton.f (code 1)
make: *** [mod_newton.o] Error 1

My guess is that this is some of the newer fortran 2003 stuff that hasn't been implemented in ifort 11.1 - if so then we should change the comment in makefile_header that says mesa needs at least ifort 11.1.

gfortran (4.7.1 & 4.7.2) gets through num, but gives the following error while building interp_2d:

gfortran -fopenmp -o ../tester test_renka790_sg.o test_renka790_db.o test_akima_sg.o test_akima_db.o interp_2d_support.o test_interp_2d.o -L../../make -linterp_2d -L../../../lib -lnum -linterp_1d -lutils -lalert -lconst -lmtx ../../../const/make/const_def.o ../../../const/make/const_lib.o -lmesaklu -lmesalapack -lmesablas
../../../const/make/const_def.o: In function `__const_def_MOD_do_const_init':
const_def.f:(.text+0x0): multiple definition of `__const_def_MOD_do_const_init'
../../../lib/libconst.a(const_def.o):const_def.f:(.text+0x0): first defined here
../../../const/make/const_def.o:(.bss+0x460): multiple definition of `__const_def_MOD_omp_num_threads'
../../../lib/libconst.a(const_def.o):(.bss+0x460): first defined here
../../../const/make/const_def.o:(.bss+0x280): multiple definition of `__const_def_MOD_one_third_power'
../../../lib/libconst.a(const_def.o):(.bss+0x280): first defined here
../../../const/make/const_def.o:(.bss+0x80): multiple definition of `__const_def_MOD_pow_186'
etc...

gfortran 4.8.0 gave a different error much earlier (in mtx I think) which I didn't record, but it was an 'experimental' build so I guess I shouldn't be surprised.

Anyway, if anyone can think of anything else to try then let me know. Otherwise I think I'm giving up on this.

-Kevin



More information about the Mesa-users mailing list