I am trying to compile qbox-1.58 with Intel 13.1 / Intel MKL / MVAPICH2-2-2.0b / XERCES-2.8.0. The compilation goes well and I get an executable. But the executable makes a runtime segmentation trying to read the pseudopotential files. I am not sure what I am doing wrong. Looks like there is something wrong with the XERCES library.
I compiled XERCES with the following options ./runConfigure -p linux -r none -s -c icc -x icpc -P $HOME/opt/xerces/2.8.0_32 and ./runConfigure -p linux -b 64 -r none -s -c icc -x icpc -P $HOME/opt/xerces/2.8.0_64. Both the 32 bit and the 64 bit executables segfault.
The mk file and the Segmentation fault error are below.
Code: Select all
#-------------------------------------------------------------------------------
#
# Copyright (c) 2008 The Regents of the University of California
#
# This file is part of Qbox
#
# Qbox is distributed under the terms of the GNU General Public License
# as published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
# See the file COPYING in the root directory of this distribution
# or <http://www.gnu.org/licenses/>.
#
#-------------------------------------------------------------------------------
#
# pencil x86_64_gcc.mk
#
#-------------------------------------------------------------------------------
# $Id: pavane.mk,v 1.2 2006/08/22 15:23:28 fgygi Exp $
#
PLT=x86_64
#-------------------------------------------------------------------------------
# GCCDIR=/usr/lib/gcc/x86_64-redhat-linux/3.4.3
XERCESCDIR=$(HOME)/opt/xerces/2.8.0_32
PLTOBJECTS = readTSC.o
CXX=mpic++
LD=$(CXX)
PLTFLAGS += -DIA32 -DUSE_FFTW -D_LARGEFILE_SOURCE \
-D_FILE_OFFSET_BITS=64 -DUSE_MPI -DSCALAPACK -DADD_ \
-DAPP_NO_THREADS -DXML_USE_NO_THREADS -DUSE_XERCES #-DXERCESC_3
MKLROOT = $(HOME)/opt/intel/mkl
FFTWDIR=$(MKLROOT)/lib/intel64
BLASDIR=$(MKLROOT)/lib/intel64
LAPACKDIR=$(MKLROOT)/lib/intel64
#BLASDIR=/usr/lib64
#LAPACKDIR=/usr/lib64 software/lapack/LAPACK
INCLUDE = -I$(MPIDIR)/include -I$(MKLROOT)/include/fftw -I$(XERCESCDIR)/include
CXXFLAGS= -O3 -D$(PLT) $(INCLUDE) $(PLTFLAGS) $(DFLAGS) -openmp -traceback -vec-report0
LIBPATH = -L$(GCCDIR)/lib -L$(FFTWDIR) -L/usr/X11R6/lib \
-L$(BLASDIR) -L$(LAPACKDIR) \
-L$(XERCESCDIR)/lib
LIBS = $(PLIBS) \
-lmkl_blas95_lp64 -lmkl_lapack95_lp64 \
-lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential \
-lmkl_blacs_intelmpi_lp64 -lpthread -lm -lfftw2xf_double_intel \
-lxerces-c
#$(XERCESCDIR)/lib/libxerces-c.a
# Parallel libraries
PLIBS = $(SCALAPACKLIB) $(CBLACSLIB)
LDFLAGS = $(LIBPATH) $(LIBS) -openmp
Code: Select all
<release> 1.58.0 compass </release>
<user> cande </user>
<sysname> Linux </sysname>
<nodename> compass.phys.tue.nl </nodename>
<start_time> 2013-12-14T15:20:01Z </start_time>
<mpi_processes count="1">
<process id="0"> compass.phys.tue.nl </process>
</mpi_processes>
<omp_max_threads> 1 </omp_max_threads>
[qbox] <cmd>set cell 16 0 0 0 16 0 0 0 16</cmd>
<unit_cell
a="16.00000000 0.00000000 0.00000000 "
b="0.00000000 16.00000000 0.00000000 "
c="0.00000000 0.00000000 16.00000000 " />
[qbox] <cmd>species oxygen O_HSCV_PBE-1.0.xml</cmd>
SpeciesCmd: defining species oxygen as O_HSCV_PBE-1.0.xml
[compass.phys.tue.nl:mpi_rank_0][error_sighandler] Caught error: Segmentation fault (signal 11)
Segmentation fault