I built and linked using the makefile at end, but the resulting executable does not work. Should be a trivial fix, but I don't understand how I'm linking against a dynamic library for pthreads, and I can't find a static one.
Error is as follows
Code: Select all
[qbox] <cmd>species oxygen O_HSCV_PBE-1.0.xml</cmd>
SpeciesCmd: defining species oxygen as O_HSCV_PBE-1.0.xml
*** Process received signal ***
Signal: Segmentation fault (11)
Signal code: Address not mapped (1)
Failing at address: 0x8
[ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f1fb5b30340]
[ 1] ../../src/qb() [0x4319c0]
[ 2] ../../src/qb() [0x42a5a9]
[ 3] ../../src/qb() [0x47d292]
[ 4] ../../src/qb() [0x479ec2]
[ 5] ../../src/qb() [0x414f3d]
[ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f1fb43f9ec5]
[ 7] ../../src/qb() [0x415fdf]
*** End of error message ***
Code: Select all
PLTOBJECTS = readTSC.o
CXX = mpicxx
LD = mpicxx
PLTFLAGS = -DUSE_MPI -DSCALAPACK -DADD_
PLTFLAGS += -DUSE_XERCES
PLTFLAGS += -DUSE_FFTW -DPTHREAD
PLTFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DAPP_NO_THREADS -DXML_USE_NO_THREADS
INCLUDE = -I/usr/include
CXXFLAGS= -O3 $(INCLUDE) $(PLTFLAGS) $(DFLAGS) -g -openmp -pthread
LDFLAGS = $(LIBPATH) $(LIBS) -g
LIBPATH =
LIBS = -Bstatic -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 \
-lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 \
-lmkl_lapack95_lp64 -lm -lpthread -static-libgcc \
-lfftw \
-lxerces-c -luuid