I'm trying to build the latest version of ALPS, and I'm primarily interested in the classical monte carlo app. I built the new version of the libraries ok, but then when I tried to compile the spinmc app, I got the error below.
It looks like it's referring to some funny lapack function from what I can tell, so I think I should mention that I did not build the libraries with lapack support (though the configure script claimed that I'd be ok to compile classical monte carlo). If it does turn out to be because I need to add lapack support, I will have to ask some questions about how to do that.
make[1]: Entering directory `/miles/alps-applications-1.3.1/mc/spins' /bin/bash ../../libtool --tag=CXX --mode=link g++ -pthread -ftemplate-depth-150 -O3 -DBOOST_DISABLE_ASSERTS -fexceptions -w -L/miles/ALPS/lib -o spinmc spinmc.o abstract_fitter.o base_incr_fitter.o dummy_fitter.o est_grad_fitter.o fitting_scheduler.o spinmc_factory.o -lalps -lcomm-sgl -lpthread -lm g++ -pthread -ftemplate-depth-150 -O3 -DBOOST_DISABLE_ASSERTS -fexceptions -w -o spinmc spinmc.o abstract_fitter.o base_incr_fitter.o dummy_fitter.o est_grad_fitter.o fitting_scheduler.o spinmc_factory.o -L/miles/ALPS/lib /miles/ALPS/lib/libalps.so /miles/ALPS/lib/libcomm-sgl.so -lpthread -lm -Wl,--rpath -Wl,/miles/ALPS/lib -Wl,--rpath -Wl,/miles/ALPS/lib est_grad_fitter.o: In function `double solve_llsp<double, boost::numeric::ublas::basic_column_major<unsigned int, int>, boost::numeric::ublas::unbounded_array<double, std::allocator<double>
(boost::numeric::ublas::matrix<double,
boost::numeric::ublas::basic_column_major<unsigned int, int>, boost::numeric::ublas::unbounded_array<double, std::allocator<double>
const&, boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double>
const&, boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double>
&, double)':
est_grad_fitter.C:(.text._Z10solve_llspIdN5boost7numeric5ublas18basic_column_majorIjiEENS2_15unbounded_arrayIdSaIdEEEET_RKNS2_6matrixIS8_T0_T1_EERKNS2_6vectorIS8_NS5_IS8_SaIS8_EEEEERSI_d[double solve_llsp<double, boost::numeric::ublas::basic_column_major<unsigned int, int>, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >(boost::numeric::ublas::matrix<double, boost::numeric::ublas::basic_column_major<unsigned int, int>, boost::numeric::ublas::unbounded_array<double, std::allocator<double>
const&, boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double>
const&, boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double>
&, double)]+0x14a): undefined reference to `dgesvd_'
est_grad_fitter.C:(.text._Z10solve_llspIdN5boost7numeric5ublas18basic_column_majorIjiEENS2_15unbounded_arrayIdSaIdEEEET_RKNS2_6matrixIS8_T0_T1_EERKNS2_6vectorIS8_NS5_IS8_SaIS8_EEEEERSI_d[double solve_llsp<double, boost::numeric::ublas::basic_column_major<unsigned int, int>, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >(boost::numeric::ublas::matrix<double, boost::numeric::ublas::basic_column_major<unsigned int, int>, boost::numeric::ublas::unbounded_array<double, std::allocator<double>
const&, boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double>
const&, boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double>
&, double)]+0x5ac): undefined reference to `dgesvd_'
collect2: ld returned 1 exit status make[1]: *** [spinmc] Error 1 make[1]: Leaving directory `/miles/alps-applications-1.3.1/mc/spins' make: *** [all-recursive] Error 1
Dear Miles Stoudenmire,
From: "Miles Stoudenmire" miles@physics.ucsb.edu Date: Thu, 29 May 2008 22:38:58 -0700
It looks like it's referring to some funny lapack function from what I can tell, so I think I should mention that I did not build the libraries with lapack support (though the configure script claimed that I'd be ok to compile classical monte carlo).
Thank you for your report. It seems that the classical Monte Carlo also uses a SVD routine from lapack. So, this is a bug of configure script. I will fixed it in the next version.
If it does turn out to be because I need to add lapack support, I will have to ask some questions about how to do that.
What kind of platform are you using?
Best, Synge
comp-phys-alps-users@lists.phys.ethz.ch