Dear Matthias, we've made again some progress with ALPS 2 b 3 compilation. Now it stops on test compilation with the following messages, it looks like a compiler bug similar to the previous one found for examples, so I'm going to turn off building tests, too. Is it OK ? Let me know please if you need the log files. Thank you again for your help Best
Jessica
These are the messages: [ 72%] Building CXX object test/alea/CMakeFiles/detailedbinning.dir/detailedbinning.C.o cd /gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/test/alea && /usr/bin/mpCC_r -+ -DBOOST_ALL_NO_LIB=1 -DBOOST_ALL_DYN_LINK=1 -qmaxmem=-1 -DBIND_FORTRAN_LOWERCASE -qsmp -O -DNDEBUG -I/cineca/prod/libraries/hdf5/1.8.4_ser/xl--10.1/include -I/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/src -I/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/src -I/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/boost -o CMakeFiles/detailedbinning.dir/detailedbinning.C.o -c /gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C make[2]: Leaving directory `/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost' make[1]: Leaving directory `/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost'
the reported error is:
"/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.27: 1540-1228 (I) Argument number 2 is an lvalue of type "alps::RealObsevaluator". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/src/alps/alea/simpleobseval.h", line 724.43: 1540-1202 (I) No candidate is better than "alps::operator/ <double,alps::SimpleObservableEvaluator<double> >(const SimpleObservableEvaluator<double> &, SimpleObservableEvaluator<double>)". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.15: 1540-1231 (I) The conversion from argument number 1 to "const alps::SimpleObservableEvaluator<double> &" uses "the identity conversion". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.27: 1540-1231 (I) The conversion from argument number 2 to "alps::SimpleObservableEvaluator<double>" uses "an lvalue-to-rvalue transformation". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/src/alps/alea/simpleobseval.h", line 708.43: 1540-1202 (I) No candidate is better than "alps::operator/ <double,double>(SimpleObservableEvaluator<double>, const SimpleObservableEvaluator<double> &)". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.15: 1540-1231 (I) The conversion from argument number 1 to "alps::SimpleObservableEvaluator<double>" uses "an lvalue-to-rvalue transformation". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.27: 1540-1231 (I) The conversion from argument number 2 to "const alps::SimpleObservableEvaluator<double> &" uses "the identity conversion". make[2]: *** [test/alea/CMakeFiles/detailedbinning.dir/detailedbinning.C.o] Error 1 make[1]: *** [test/alea/CMakeFiles/detailedbinning.dir/all] Error 2 make: *** [all] Error 2 -bash-3.2$
Dear Jessica,
You did not copy the complete error message but indeed this looks like the same compiler bug. Here is a workaround that I can suggest for both:
Look at the file simpleobseval.h, line 706:
/// ratio of two observables template <class T, class U> inline alps::SimpleObservableEvaluator<T> operator/(alps::SimpleObservableEvaluator<T> x, const alps::SimpleObservableEvaluator<U>& y) { x /= y; return x; }
and change this to
/// ratio of two observables template <class T, class U> inline alps::SimpleObservableEvaluator<T> operator/(const alps::SimpleObservableEvaluator<T>& x, const alps::SimpleObservableEvaluator<U>& y) { alps::SimpleObservableEvaluator<T> res(x); res /= y; return res; }
and make a similar change to operator* in line 665, operator- in line 641 and operator+ in line 618.
That might work around that compiler bug. Please also file a bug report with IBM.
Matthias
On 21 Oct 2010, at 00:34, jessica.alfonsi@unipd.it wrote:
Dear Matthias, we've made again some progress with ALPS 2 b 3 compilation. Now it stops on test compilation with the following messages, it looks like a compiler bug similar to the previous one found for examples, so I'm going to turn off building tests, too. Is it OK ? Let me know please if you need the log files. Thank you again for your help Best
Jessica
These are the messages: [ 72%] Building CXX object test/alea/CMakeFiles/detailedbinning.dir/detailedbinning.C.o cd /gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/test/alea && /usr/bin/mpCC_r -+ -DBOOST_ALL_NO_LIB=1 -DBOOST_ALL_DYN_LINK=1 -qmaxmem=-1 -DBIND_FORTRAN_LOWERCASE -qsmp -O -DNDEBUG -I/cineca/prod/libraries/hdf5/1.8.4_ser/xl--10.1/include -I/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/src -I/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/src -I/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/boost -o CMakeFiles/detailedbinning.dir/detailedbinning.C.o -c /gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C make[2]: Leaving directory `/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost' make[1]: Leaving directory `/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost'
the reported error is:
"/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.27: 1540-1228 (I) Argument number 2 is an lvalue of type "alps::RealObsevaluator". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/src/alps/alea/simpleobseval.h", line 724.43: 1540-1202 (I) No candidate is better than "alps::operator/ <double,alps::SimpleObservableEvaluator<double> >(const SimpleObservableEvaluator<double> &, SimpleObservableEvaluator<double>)". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.15: 1540-1231 (I) The conversion from argument number 1 to "const alps::SimpleObservableEvaluator<double> &" uses "the identity conversion". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.27: 1540-1231 (I) The conversion from argument number 2 to "alps::SimpleObservableEvaluator<double>" uses "an lvalue-to-rvalue transformation". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/src/alps/alea/simpleobseval.h", line 708.43: 1540-1202 (I) No candidate is better than "alps::operator/ <double,double>(SimpleObservableEvaluator<double>, const SimpleObservableEvaluator<double> &)". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.15: 1540-1231 (I) The conversion from argument number 1 to "alps::SimpleObservableEvaluator<double>" uses "an lvalue-to-rvalue transformation". "/gpfs/scratch/userinternal/cin8337a/build/alps-2.0.0b3-r4750-src-with-boost/alps/test/alea/detailedbinning.C", line 91.27: 1540-1231 (I) The conversion from argument number 2 to "const alps::SimpleObservableEvaluator<double> &" uses "the identity conversion". make[2]: *** [test/alea/CMakeFiles/detailedbinning.dir/detailedbinning.C.o] Error 1 make[1]: *** [test/alea/CMakeFiles/detailedbinning.dir/all] Error 2 make: *** [all] Error 2 -bash-3.2$
comp-phys-alps-users@lists.phys.ethz.ch