Problem compiling CosmoMC - June2016 with WMAP 9 year option

Use of Healpix, camb, CLASS, cosmomc, compilers, etc.
Post Reply
Ira *Wolfson
Posts: 68
Joined: January 24 2013
Affiliation: MPA
Contact:

Problem compiling CosmoMC - June2016 with WMAP 9 year option

Post by Ira *Wolfson » July 12 2016

Hi all
I am following the recipe to compile cosmomc with wmap and planck.
everything compiled correctly and test were successful, up until trying to compile cosmomc.

This is the error I get:

Code: Select all

ld: /home/spawn/CosmoMC/wmap_likelihood_v5/libwmap9.a(read_archive_map.o): undefined reference to symbol 'ftgnrw_'
/home/spawn/CosmoMC/planck/plc-2.0/lib/libclik.so: error adding symbols: DSO missing from command line
Makefile:291: recipe for target 'cosmomc' failed
make[1]: *** [cosmomc] Error 1
make[1]: Leaving directory '/home/spawn/CosmoMC/CosmoMC-June2016/source'
Makefile:17: recipe for target 'cosmomc' failed
make: *** [cosmomc] Error 2
My specs:
-- ubuntu 16.04 LTS os
-- Intel compilers 2015 package #6

openmpi 1.8.8 compiled with ifort
latest cfitsio compiled with ifort
latest Healpix (3.30) compiled with ifort
wmap 9 year data compiled with ifort

cosmomc makefile:

Code: Select all

OUTPUT_DIR ?= Release

BUILD ?= MPI
#set BUILD to MPI to force MPI, should be set in ../Makefile

MPIF90C ?= mpif90

ifortErr = $(shell which ifort >/dev/null; echo $$?)

#these settings for ifort 14 and higher. Earlier versions will not work.
ifeq "$(ifortErr)" "0"
#ifort; Can remove -xHost if your cluster is not uniform, or specify specific processor optimizations -x...

F90C     = ifort
#use this if mpif90 is trying to use gfortran: MPIF90C = mpif90 -f90=ifort

FFLAGS = -mkl -O3 -no-prec-div -fpp
DEBUGFLAGS = -mkl -g -check all -check noarg_temp_created -traceback -fpp -fpe0
#add -fpe0 to check for floating point errors (think lowLike also throws these harmlessly)
MODOUT = -module $(OUTPUT_DIR)
LAPACKL =
.
.
.
#set WMAP empty not to compile with WMAP, e.g. WMAP = /scratch/../WMAP9/likelihood_v5
WMAP ?=/home/spawn/CosmoMC/wmap_likelihood_v5

#e.g. PICO=/path/to/pypico
PICO ?= $(shell python -c "import pypico; print pypico.get_folder()" 2> /dev/null)

#Needed for WMAP; set from ~/.bashrc definition or edit here
cfitsio ?=/home/spawn/CosmoMC/cfitsio
In the past I was able to compile with no problems...
What am I missing?!?

Thanks

-- Ira

Antony Lewis
Posts: 1659
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Problem compiling CosmoMC - June2016 with WMAP 9 year op

Post by Antony Lewis » July 12 2016

Not linking cfitsio?

Ira *Wolfson
Posts: 68
Joined: January 24 2013
Affiliation: MPA
Contact:

Problem compiling CosmoMC - June2016 with WMAP 9 year option

Post by Ira *Wolfson » July 12 2016

I don't understand,

I have specified the cfitsio folder in the ./source/Makefile

Code: Select all

cfitsio ?=/home/spawn/CosmoMC/cfitsio
as well as in ./waf configure command that
configures planck data.

I have also linked cfitsio (and Healpix) in ./camb/Makefile
in the appropriate FITS section

Maybe I don't understand the question... :|

Ira *Wolfson
Posts: 68
Joined: January 24 2013
Affiliation: MPA
Contact:

Problem compiling CosmoMC - June2016 with WMAP 9 year option

Post by Ira *Wolfson » July 20 2016

Hi all,
it seems as if the latest intel compiler 2016 update 3 does not compile wmap correctly.
not independently and not as an planckl install option.

Moreover the ubuntu 16.04 is not supported
by intel compilers 2015.

So far the configuration that works for me is 14.04 X 2016.1/2015.6

If anybody knows any different, drop me a line :)

Antony Lewis
Posts: 1659
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Problem compiling CosmoMC - June2016 with WMAP 9 year op

Post by Antony Lewis » July 21 2016

Maybe you need to rebuild cfitsio with the latest compiler. (ftgnrw looks like a cfitsio function)

Ira *Wolfson
Posts: 68
Joined: January 24 2013
Affiliation: MPA
Contact:

Problem compiling CosmoMC - June2016 with WMAP 9 year option

Post by Ira *Wolfson » July 21 2016

I did that, - 2016.3 is the latest Intel comp.

cfitsio + wmap on 2016.3 yields segmentation fault on wmap testing.
on 2016.1 it goes ok ( at least in terms of wmap testing).

Additionally I assume ./waf configure of planck with wmap option automatically
sets the makefile for wmap as well.
with 2016.3 it fails due to wmap failure.

It might be that the dynamic/static compiler linkage scheme is changed
in 2016.3 - but I also tried the Intel linking helper page - to no avail.

Due to time issues I stopped investigating further,
as it seems that on 2016.1 everything works fine.


On a different note: It might be helpful to change the default prior on tau so it doesn't fail
on the test.ini with MCMC option.
Maybe along the lines of

Code: Select all

param[tau]= 0.7 0.6 0.9 0.01 0.01 
-- Ira

PS - Thank you for maintaining the code! It is very helpful, and every time I find something new and exciting within :)

Post Reply