Hi,
I am trying to build and install alps on a distributed memory cluster. I
am using the mpich with gcc-3.3.3. Boost 1.33_1 has been installed in
/usr/local/.
The configure command I am using is.
./configure --with-mpi-incdir=/usr/local/mpich/gcc/include/
--with-mpi-libdir=/usr/local/mpich/gcc/lib64 --prefix=${HOME}/local/alps
CC=mpicc CXX=mpicxx
When I run make I get the following error.
if /bin/sh ../../libtool --mode=compile mpicxx -DHAVE_CONFIG_H
-I../../src -I../../src -DNDEBUG -DNDEBUG -pthread -w
-ftemplate-depth-150 -O3 -fexceptions -MT latticelibrary.lo -MD -MP -MF
".deps/latticelibrary.Tpo" -c -o latticelibrary.lo `test -f
'../../src/alps/lattice/latticelibrary.C' || echo
'./'`../../src/alps/lattice/latticelibrary.C; \
then mv -f ".deps/latticelibrary.Tpo" ".deps/latticelibrary.Plo"; else
rm -f ".deps/latticelibrary.Tpo"; exit 1; fi
mpicxx -DHAVE_CONFIG_H -I../../src -I../../src -DNDEBUG -DNDEBUG
-pthread -w -ftemplate-depth-150 -O3 -fexceptions -MT latticelibrary.lo
-MD -MP -MF .deps/latticelibrary.Tpo -c
../../src/alps/lattice/latticelibrary.C -fPIC -DPIC -o
.libs/latticelibrary.o
/usr/include/boost/type_traits/extent.hpp: In function `void
alps::make_graph_from_lattice(GRAPH&, const LATTICE&) [with LATTICE =
alps::lattice_graph<alps::hypercubic_lattice<alps::coordinate_lattice<alps::simple_lattice<alps::GraphUnitCell,
alps::simple_cell<alps::GraphUnitCell, std::vector<int,
std::allocator<int>
> > >, std::vector<double, std::allocator<double> > >, std::vector<int,
std::allocator<int> > >, alps::coordinate_graph_type>, GRAPH =
alps::coordinate_graph_type]':
../../src/alps/lattice/latticegraph.h:207: instantiated from
`alps::lattice_graph<L, G>::lattice_graph(const L2&) [with L2 =
alps::LatticeGraphDescriptor, LATTICE =
alps::hypercubic_lattice<alps::coordinate_lattice<alps::simple_lattice<alps::GraphUnitCell,
alps::simple_cell<alps::GraphUnitCell, std::vector<int,
std::allocator<int> > > >, std::vector<double, std::allocator<double> >
>, std::vector<int, std::allocator<int> > >, GRAPH =
alps::coordinate_graph_type]'
../../src/alps/lattice/latticelibrary.C:135: instantiated from here
/usr/include/boost/type_traits/extent.hpp:121: error: `template<class T,
long
unsigned int N> struct boost::extent' is not a function,
../../src/alps/lattice/lattice.h:198: error: conflict with `template<class
Lattice> typename alps::VectorTraits<typename
alps::lattice_traits<L>::extent_type>::value_type alps::extent(const
Lattice&, unsigned int)'
../../src/alps/lattice/latticegraph.h:166: error: in call to `extent'
make[2]: *** [latticelibrary.lo] Error 1
make[2]: Leaving directory `/....../packages/alps/alps-1.2.2/lib/alps'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/......./packages/alps/alps-1.2.2/lib'
make: *** [all-recursive] Error 1
It seems the struct extent from the boost header extent.hpp is
conflicting with the function called extent from alps. From what I can
see alps should work with this version of boost and compiler. Has anyone
else encountered this issue or know of a way to get around it?
Thanks,
Niall.