Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz
Have you tried just using the Boost source and letting ALPS compile it?
On Nov 22, 2011, at 5:15 PM, Mateusz Łącki wrote:
Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz <CMC.txt>
I tried to try this and did not work for similar reasons. I retried today and hopefully thi will work. On the other hand i saw a new message that did not show before (the difference is that i had unpacked the the *tar.gz file just before that). The message is:
CMake Warning at applications/dmrg/tebd/CMakeLists.txt:12 (add_executable): Cannot generate a safe runtime search path for target tebd because files in some directories may conflict with libraries in implicit directories:
runtime library [libhdf5_fortran.so.6] in /usr/lib64 may be hidden by files in: /opt/hdf5-1.8.5-intel/lib
Some of these libraries may not be found correctly.
The file applications/dmrg/tebd/CMakeLists.txt does not exist (I suppose it was not created due to this error). On the other hand i think boost has been successfully located now - but I did not compile due to the mentioned error. What is it ?
this is the command i execute just after untaring:
cmake -D Boost_ROOT_DIR:PATH=/home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost -DCMAKE_INSTALL_PREFIX=/home/stefan/alps202/ -DQMC_BITS=64 -DBLAS_LIBRARY= -DLAPACK_LINKER_FLAGS=-lmkl_sequential -lmkl_core -lmkl_intel_lp64 -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc -DCMAKE_FORTRAN_COMPILER=ifort -DALPS_BUILD_FORTRAN=ON -DALPS_ENABLE_OPENMP=ON -DALPS_Fortran_FLAGS=-openmp -DBoost_MPI_LIBRARY=/usr/lib64/openmpi/lib/libboost_mpi-mt.so -DBoost_MPI_LIBRARY_RELEASE=/usr/lib64/openmpi/lib/libboost_mpi-mt.so /home/stefan/al/alps-2.0.2-r5790-src-with-boost/alps/
i have also performed modification indicating earlier: i added intel64 directory for lapack search and "-L" before ENV{MKL} in the findlapack.cmake
I also include the new CMakeCache.txt.
For the trouble with boost linking: I would like to postpone this thread until after the tebd problem will be dealt with.
I also have a quesion: where the code responsible for printing the message is located?
i tried this: for i in `find . -name "*txt"`; do grep "runtime search path" $i; done for i in `find . -name "*cmake"`; do grep "runtime search path" $i; done for i in `find . -name "*efile"`; do grep "runtime search path" $i; done
but it did not find anything.
Regards, Mateusz Lacki
2011/11/22, Matthias Troyer troyer@phys.ethz.ch:
Have you tried just using the Boost source and letting ALPS compile it?
On Nov 22, 2011, at 5:15 PM, Mateusz Łącki wrote:
Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz <CMC.txt>
You seem to have two HDF5 installations. Id tou don't need the tebd program then just turn ALPS_BUILD_FORTRAN off. Otherwise please manually set the HDF libraries.
Matthias
On Nov 23, 2011, at 9:15 AM, Mateusz Łącki wrote:
I tried to try this and did not work for similar reasons. I retried today and hopefully thi will work. On the other hand i saw a new message that did not show before (the difference is that i had unpacked the the *tar.gz file just before that). The message is:
CMake Warning at applications/dmrg/tebd/CMakeLists.txt:12 (add_executable): Cannot generate a safe runtime search path for target tebd because files in some directories may conflict with libraries in implicit directories:
runtime library [libhdf5_fortran.so.6] in /usr/lib64 may be hidden by files in: /opt/hdf5-1.8.5-intel/lib
Some of these libraries may not be found correctly.
The file applications/dmrg/tebd/CMakeLists.txt does not exist (I suppose it was not created due to this error). On the other hand i think boost has been successfully located now - but I did not compile due to the mentioned error. What is it ?
this is the command i execute just after untaring:
cmake -D Boost_ROOT_DIR:PATH=/home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost -DCMAKE_INSTALL_PREFIX=/home/stefan/alps202/ -DQMC_BITS=64 -DBLAS_LIBRARY= -DLAPACK_LINKER_FLAGS=-lmkl_sequential -lmkl_core -lmkl_intel_lp64 -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc -DCMAKE_FORTRAN_COMPILER=ifort -DALPS_BUILD_FORTRAN=ON -DALPS_ENABLE_OPENMP=ON -DALPS_Fortran_FLAGS=-openmp -DBoost_MPI_LIBRARY=/usr/lib64/openmpi/lib/libboost_mpi-mt.so -DBoost_MPI_LIBRARY_RELEASE=/usr/lib64/openmpi/lib/libboost_mpi-mt.so /home/stefan/al/alps-2.0.2-r5790-src-with-boost/alps/
i have also performed modification indicating earlier: i added intel64 directory for lapack search and "-L" before ENV{MKL} in the findlapack.cmake
I also include the new CMakeCache.txt.
For the trouble with boost linking: I would like to postpone this thread until after the tebd problem will be dealt with.
I also have a quesion: where the code responsible for printing the message is located?
i tried this: for i in `find . -name "*txt"`; do grep "runtime search path" $i; done for i in `find . -name "*cmake"`; do grep "runtime search path" $i; done for i in `find . -name "*efile"`; do grep "runtime search path" $i; done
but it did not find anything.
Regards, Mateusz Lacki
2011/11/22, Matthias Troyer troyer@phys.ethz.ch:
Have you tried just using the Boost source and letting ALPS compile it?
On Nov 22, 2011, at 5:15 PM, Mateusz Łącki wrote:
Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz <CMC.txt>
<CMC.tex>
Dear Matthias, i defined manualy HDF5_LIBRARIES=(correct path)/lib/libhdf5.so.6 -D HDF5_INCLUDE_DIR=(correct path)/include/
and it is now ok.
Regards, Mateusz
2011/11/23, Matthias Troyer troyer@phys.ethz.ch:
You seem to have two HDF5 installations. Id tou don't need the tebd program then just turn ALPS_BUILD_FORTRAN off. Otherwise please manually set the HDF libraries.
Matthias
On Nov 23, 2011, at 9:15 AM, Mateusz Łącki wrote:
I tried to try this and did not work for similar reasons. I retried today and hopefully thi will work. On the other hand i saw a new message that did not show before (the difference is that i had unpacked the the *tar.gz file just before that). The message is:
CMake Warning at applications/dmrg/tebd/CMakeLists.txt:12 (add_executable): Cannot generate a safe runtime search path for target tebd because files in some directories may conflict with libraries in implicit directories:
runtime library [libhdf5_fortran.so.6] in /usr/lib64 may be hidden by files in: /opt/hdf5-1.8.5-intel/lib
Some of these libraries may not be found correctly.
The file applications/dmrg/tebd/CMakeLists.txt does not exist (I suppose it was not created due to this error). On the other hand i think boost has been successfully located now - but I did not compile due to the mentioned error. What is it ?
this is the command i execute just after untaring:
cmake -D Boost_ROOT_DIR:PATH=/home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost -DCMAKE_INSTALL_PREFIX=/home/stefan/alps202/ -DQMC_BITS=64 -DBLAS_LIBRARY= -DLAPACK_LINKER_FLAGS=-lmkl_sequential -lmkl_core -lmkl_intel_lp64 -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc -DCMAKE_FORTRAN_COMPILER=ifort -DALPS_BUILD_FORTRAN=ON -DALPS_ENABLE_OPENMP=ON -DALPS_Fortran_FLAGS=-openmp -DBoost_MPI_LIBRARY=/usr/lib64/openmpi/lib/libboost_mpi-mt.so -DBoost_MPI_LIBRARY_RELEASE=/usr/lib64/openmpi/lib/libboost_mpi-mt.so /home/stefan/al/alps-2.0.2-r5790-src-with-boost/alps/
i have also performed modification indicating earlier: i added intel64 directory for lapack search and "-L" before ENV{MKL} in the findlapack.cmake
I also include the new CMakeCache.txt.
For the trouble with boost linking: I would like to postpone this thread until after the tebd problem will be dealt with.
I also have a quesion: where the code responsible for printing the message is located?
i tried this: for i in `find . -name "*txt"`; do grep "runtime search path" $i; done for i in `find . -name "*cmake"`; do grep "runtime search path" $i; done for i in `find . -name "*efile"`; do grep "runtime search path" $i; done
but it did not find anything.
Regards, Mateusz Lacki
2011/11/22, Matthias Troyer troyer@phys.ethz.ch:
Have you tried just using the Boost source and letting ALPS compile it?
On Nov 22, 2011, at 5:15 PM, Mateusz Łącki wrote:
Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz <CMC.txt>
<CMC.tex>
Dear Matthias, as for Boost:
the ccmake prints: Boost_INCLUDE_DIR /home/stefan/lacki/al/alps-2.0.2-r5790-src-with-boost/boost Boost_ROOT_DIR /home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost the path are ok - they exist, but These are compiler settings: -- The C compiler identification is Intel -- The CXX compiler identification is Intel -- The Fortran compiler identification is Intel -- Check for working C compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icc -- Check for working C compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icpc -- Check for working CXX compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icpc -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working Fortran compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort -- Check for working Fortran compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort -- works -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Checking whether /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort supports Fortran 90 -- Checking whether /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort supports Fortran 90 -- yes
and boost info: -- Found Boost Source: /users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost -- Boost Version: 1_47_0
but nevertheless this sort of errors:
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/type_traits/remove_const.hpp(63): error: expected a ">" struct remove_const_impl<T&&> ^
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/detail/minimum_category.hpp(62): error: expected a type specifier BOOST_STATIC_ASSERT((is_same<T1,T2>::value)); ^
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/detail/minimum_category.hpp(62): error #303: explicit type is missing ("int" assumed) BOOST_STATIC_ASSERT((is_same<T1,T2>::value)); ^
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/iterator_facade.hpp(837): error: identifier "static_assert" is undefined BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
during: [ 0%] Building CXX object src/boost/CMakeFiles/boost.dir/__/__/boost/libs/date_time/src/gregorian/date_generators.cpp.o [ 1%] Building CXX object src/boost/CMakeFiles/boost.dir/__/__/boost/libs/date_time/src/gregorian/greg_month.cpp.o
and are present in:
detected during: instantiation of "boost::detail::enable_if_interoperable<Derived1, Derived2, boost::mpl::apply2<boost::detail::always_bool2, Derived1, Derived2>::type>::type boost::operator!=(const boost::iterator_facade<Derived1, V1, TC1, Reference1, Difference1> &, const boost::iterator_facade<Derived2, V2, TC2, Reference2, Difference2> &) [with Derived1=boost::token_iterator<boost::char_separator<char, std::char_traits<char>>, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V1=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC1=boost::forward_traversal_tag, Reference1=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference1=std::ptrdiff_t={long}, Derived2=boost::token_iterator<boost::char_separator<char, std::char_traits<char>>, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V2=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC2=boost::forward_traversal_tag, Reference2=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference2=std::ptrdiff_t={long}]" at line 133 of
"/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/date_parsing.hpp" instantiation of "date_type boost::date_time::parse_date<date_type>(const std::string &, int) [with date_type=boost::gregorian::date]" at line 30 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/gregorian/parsers.hpp"
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/lexical_cast.hpp(628): error: identifier "static_assert" is undefined BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed); ^ detected during: instantiation of "bool boost::detail::lcast_ret_unsigned<Traits,T,CharT>(T &, const CharT *, const CharT *) [with Traits=std::char_traits<char>, T=unsigned short, CharT=char]" at line 930 instantiation of "bool boost::detail::lexical_stream_limited_src<CharT, Base, Traits>::input_operator_helper_unsigned(Type &) [with CharT=char, Base=boost::detail::lexical_streambuf_fake, Traits=std::char_traits<char>, Type=unsigned short]" at line 995 instantiation of "bool boost::detail::lexical_stream_limited_src<CharT, Base, Traits>::operator>>(unsigned short &) [with CharT=char, Base=boost::detail::lexical_streambuf_fake, Traits=std::char_traits<char>]" at line 1527 instantiation of "Target boost::detail::lexical_cast<Target,Source,Unlimited,CharT>(boost::call_traits<Source>::param_type, CharT *, std::size_t={unsigned long}) [with Target=unsigned short, Source=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, Unlimited=false, CharT=char]" at line 1653 instantiation of "Target boost::detail::lexical_cast_do_cast<Target, Source>::lexical_cast_impl(const Source &) [with Target=unsigned short, Source=std::basic_string<char, std::char_traits<char>, std::allocator<char>>]" at line 1813 instantiation of "Target boost::lexical_cast<Target,Source>(const Source &) [with Target=unsigned short, Source=std::basic_string<char, std::char_traits<char>, std::allocator<char>>]" at line 138 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/date_parsing.hpp" instantiation of "date_type boost::date_time::parse_date<date_type>(const std::string &, int) [with date_type=boost::gregorian::date]" at line 30 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/gregorian/parsers.hpp"
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/iterator_facade.hpp(837): error: identifier "static_assert" is undefined BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal) ^ detected during: instantiation of "boost::detail::enable_if_interoperable<Derived1, Derived2, boost::mpl::apply2<boost::detail::always_bool2, Derived1, Derived2>::type>::type boost::operator!=(const boost::iterator_facade<Derived1, V1, TC1, Reference1, Difference1> &, const boost::iterator_facade<Derived2, V2, TC2, Reference2, Difference2> &) [with Derived1=boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V1=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC1=boost::forward_traversal_tag, Reference1=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference1=std::ptrdiff_t={long}, Derived2=boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V2=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC2=boost::forward_traversal_tag, Reference2=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference2=std::ptrdiff_t={long}]" at line 177 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/date_parsing.hpp" instantiation of "date_type boost::date_time::parse_undelimited_date<date_type>(const std::string &) [with date_type=boost::gregorian::date]" at line 50 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/gregorian/parsers.hpp"
compilation aborted for /users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/libs/date_time/src/gregorian/greg_month.cpp (code 2) make[2]: *** [src/boost/CMakeFiles/boost.dir/__/__/boost/libs/date_time/src/gregorian/greg_month.cpp.o] Error 2 make[1]: *** [src/boost/CMakeFiles/boost.dir/all] Error 2 make: *** [all] Error 2
You write that gcc4.4 is sufficient then i suppose this is not related to a "new" version of c++ or anythyng like that
These are compiler versions: icpc version 12.1.0 (gcc version 4.6.0 compatibility) icc version 12.1.0 (gcc version 4.6.0 compatibility) ifort version 12.1.0
To make things more clear i did not compile boost before - that is i set something wrong and binaries were used instead. Now it is the first time i try to compile boost
Regards, Mateusz Lacki
2011/11/23, Mateusz Łącki mateusz.lacki@gmail.com:
Dear Matthias, i defined manualy HDF5_LIBRARIES=(correct path)/lib/libhdf5.so.6 -D HDF5_INCLUDE_DIR=(correct path)/include/
and it is now ok.
Regards, Mateusz
2011/11/23, Matthias Troyer troyer@phys.ethz.ch:
You seem to have two HDF5 installations. Id tou don't need the tebd program then just turn ALPS_BUILD_FORTRAN off. Otherwise please manually set the HDF libraries.
Matthias
On Nov 23, 2011, at 9:15 AM, Mateusz Łącki wrote:
I tried to try this and did not work for similar reasons. I retried today and hopefully thi will work. On the other hand i saw a new message that did not show before (the difference is that i had unpacked the the *tar.gz file just before that). The message is:
CMake Warning at applications/dmrg/tebd/CMakeLists.txt:12 (add_executable): Cannot generate a safe runtime search path for target tebd because files in some directories may conflict with libraries in implicit directories:
runtime library [libhdf5_fortran.so.6] in /usr/lib64 may be hidden by files in: /opt/hdf5-1.8.5-intel/lib
Some of these libraries may not be found correctly.
The file applications/dmrg/tebd/CMakeLists.txt does not exist (I suppose it was not created due to this error). On the other hand i think boost has been successfully located now - but I did not compile due to the mentioned error. What is it ?
this is the command i execute just after untaring:
cmake -D Boost_ROOT_DIR:PATH=/home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost -DCMAKE_INSTALL_PREFIX=/home/stefan/alps202/ -DQMC_BITS=64 -DBLAS_LIBRARY= -DLAPACK_LINKER_FLAGS=-lmkl_sequential -lmkl_core -lmkl_intel_lp64 -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc -DCMAKE_FORTRAN_COMPILER=ifort -DALPS_BUILD_FORTRAN=ON -DALPS_ENABLE_OPENMP=ON -DALPS_Fortran_FLAGS=-openmp -DBoost_MPI_LIBRARY=/usr/lib64/openmpi/lib/libboost_mpi-mt.so -DBoost_MPI_LIBRARY_RELEASE=/usr/lib64/openmpi/lib/libboost_mpi-mt.so /home/stefan/al/alps-2.0.2-r5790-src-with-boost/alps/
i have also performed modification indicating earlier: i added intel64 directory for lapack search and "-L" before ENV{MKL} in the findlapack.cmake
I also include the new CMakeCache.txt.
For the trouble with boost linking: I would like to postpone this thread until after the tebd problem will be dealt with.
I also have a quesion: where the code responsible for printing the message is located?
i tried this: for i in `find . -name "*txt"`; do grep "runtime search path" $i; done for i in `find . -name "*cmake"`; do grep "runtime search path" $i; done for i in `find . -name "*efile"`; do grep "runtime search path" $i; done
but it did not find anything.
Regards, Mateusz Lacki
2011/11/22, Matthias Troyer troyer@phys.ethz.ch:
Have you tried just using the Boost source and letting ALPS compile it?
On Nov 22, 2011, at 5:15 PM, Mateusz Łącki wrote:
Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz <CMC.txt>
<CMC.tex>
This means that Boost does not know your compiler and assumes it is fully C++11 standard compliant. You need to run the configure script of Boost.Config to create a configuration file for your compiler.
On Nov 23, 2011, at 9:52 AM, Mateusz Łącki wrote:
Dear Matthias, as for Boost:
the ccmake prints: Boost_INCLUDE_DIR /home/stefan/lacki/al/alps-2.0.2-r5790-src-with-boost/boost Boost_ROOT_DIR /home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost the path are ok - they exist, but These are compiler settings: -- The C compiler identification is Intel -- The CXX compiler identification is Intel -- The Fortran compiler identification is Intel -- Check for working C compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icc -- Check for working C compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icpc -- Check for working CXX compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/icpc -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working Fortran compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort -- Check for working Fortran compiler: /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort -- works -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Checking whether /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort supports Fortran 90 -- Checking whether /users/champ/delande/intel/composer_xe_2011_sp1.7.256/bin/intel64/ifort supports Fortran 90 -- yes
and boost info: -- Found Boost Source: /users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost -- Boost Version: 1_47_0
but nevertheless this sort of errors:
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/type_traits/remove_const.hpp(63): error: expected a ">" struct remove_const_impl<T&&> ^
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/detail/minimum_category.hpp(62): error: expected a type specifier BOOST_STATIC_ASSERT((is_same<T1,T2>::value)); ^
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/detail/minimum_category.hpp(62): error #303: explicit type is missing ("int" assumed) BOOST_STATIC_ASSERT((is_same<T1,T2>::value)); ^
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/iterator_facade.hpp(837): error: identifier "static_assert" is undefined BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
during: [ 0%] Building CXX object src/boost/CMakeFiles/boost.dir/__/__/boost/libs/date_time/src/gregorian/date_generators.cpp.o [ 1%] Building CXX object src/boost/CMakeFiles/boost.dir/__/__/boost/libs/date_time/src/gregorian/greg_month.cpp.o
and are present in:
detected during: instantiation of
"boost::detail::enable_if_interoperable<Derived1, Derived2, boost::mpl::apply2<boost::detail::always_bool2, Derived1, Derived2>::type>::type boost::operator!=(const boost::iterator_facade<Derived1, V1, TC1, Reference1, Difference1> &, const boost::iterator_facade<Derived2, V2, TC2, Reference2, Difference2> &) [with Derived1=boost::token_iterator<boost::char_separator<char, std::char_traits<char>>, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V1=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC1=boost::forward_traversal_tag, Reference1=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference1=std::ptrdiff_t={long}, Derived2=boost::token_iterator<boost::char_separator<char, std::char_traits<char>>, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V2=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC2=boost::forward_traversal_tag, Reference2=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference2=std::ptrdiff_t={long}]" at line 133 of
"/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/date_parsing.hpp" instantiation of "date_type boost::date_time::parse_date<date_type>(const std::string &, int) [with date_type=boost::gregorian::date]" at line 30 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/gregorian/parsers.hpp"
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/lexical_cast.hpp(628): error: identifier "static_assert" is undefined BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed); ^ detected during: instantiation of "bool boost::detail::lcast_ret_unsigned<Traits,T,CharT>(T &, const CharT *, const CharT *) [with Traits=std::char_traits<char>, T=unsigned short, CharT=char]" at line 930 instantiation of "bool boost::detail::lexical_stream_limited_src<CharT, Base, Traits>::input_operator_helper_unsigned(Type &) [with CharT=char, Base=boost::detail::lexical_streambuf_fake, Traits=std::char_traits<char>, Type=unsigned short]" at line 995 instantiation of "bool boost::detail::lexical_stream_limited_src<CharT, Base, Traits>::operator>>(unsigned short &) [with CharT=char, Base=boost::detail::lexical_streambuf_fake, Traits=std::char_traits<char>]" at line 1527 instantiation of "Target boost::detail::lexical_cast<Target,Source,Unlimited,CharT>(boost::call_traits<Source>::param_type, CharT *, std::size_t={unsigned long}) [with Target=unsigned short, Source=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, Unlimited=false, CharT=char]" at line 1653 instantiation of "Target boost::detail::lexical_cast_do_cast<Target, Source>::lexical_cast_impl(const Source &) [with Target=unsigned short, Source=std::basic_string<char, std::char_traits<char>, std::allocator<char>>]" at line 1813 instantiation of "Target boost::lexical_cast<Target,Source>(const Source &) [with Target=unsigned short, Source=std::basic_string<char, std::char_traits<char>, std::allocator<char>>]" at line 138 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/date_parsing.hpp" instantiation of "date_type boost::date_time::parse_date<date_type>(const std::string &, int) [with date_type=boost::gregorian::date]" at line 30 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/gregorian/parsers.hpp"
/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/iterator/iterator_facade.hpp(837): error: identifier "static_assert" is undefined BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal) ^ detected during: instantiation of "boost::detail::enable_if_interoperable<Derived1, Derived2, boost::mpl::apply2<boost::detail::always_bool2, Derived1, Derived2>::type>::type boost::operator!=(const boost::iterator_facade<Derived1, V1, TC1, Reference1, Difference1> &, const boost::iterator_facade<Derived2, V2, TC2, Reference2, Difference2> &) [with Derived1=boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V1=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC1=boost::forward_traversal_tag, Reference1=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference1=std::ptrdiff_t={long}, Derived2=boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, V2=std::basic_string<char, std::char_traits<char>, std::allocator<char>>, TC2=boost::forward_traversal_tag, Reference2=const std::basic_string<char, std::char_traits<char>, std::allocator<char>> &, Difference2=std::ptrdiff_t={long}]" at line 177 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/date_parsing.hpp" instantiation of "date_type boost::date_time::parse_undelimited_date<date_type>(const std::string &) [with date_type=boost::gregorian::date]" at line 50 of "/users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/boost/date_time/gregorian/parsers.hpp"
compilation aborted for /users/champ/lacki/al/alps-2.0.2-r5790-src-with-boost/boost/libs/date_time/src/gregorian/greg_month.cpp (code 2) make[2]: *** [src/boost/CMakeFiles/boost.dir/__/__/boost/libs/date_time/src/gregorian/greg_month.cpp.o] Error 2 make[1]: *** [src/boost/CMakeFiles/boost.dir/all] Error 2 make: *** [all] Error 2
You write that gcc4.4 is sufficient then i suppose this is not related to a "new" version of c++ or anythyng like that
These are compiler versions: icpc version 12.1.0 (gcc version 4.6.0 compatibility) icc version 12.1.0 (gcc version 4.6.0 compatibility) ifort version 12.1.0
To make things more clear i did not compile boost before - that is i set something wrong and binaries were used instead. Now it is the first time i try to compile boost
Regards, Mateusz Lacki
2011/11/23, Mateusz Łącki mateusz.lacki@gmail.com:
Dear Matthias, i defined manualy HDF5_LIBRARIES=(correct path)/lib/libhdf5.so.6 -D HDF5_INCLUDE_DIR=(correct path)/include/
and it is now ok.
Regards, Mateusz
2011/11/23, Matthias Troyer troyer@phys.ethz.ch:
You seem to have two HDF5 installations. Id tou don't need the tebd program then just turn ALPS_BUILD_FORTRAN off. Otherwise please manually set the HDF libraries.
Matthias
On Nov 23, 2011, at 9:15 AM, Mateusz Łącki wrote:
I tried to try this and did not work for similar reasons. I retried today and hopefully thi will work. On the other hand i saw a new message that did not show before (the difference is that i had unpacked the the *tar.gz file just before that). The message is:
CMake Warning at applications/dmrg/tebd/CMakeLists.txt:12 (add_executable): Cannot generate a safe runtime search path for target tebd because files in some directories may conflict with libraries in implicit directories:
runtime library [libhdf5_fortran.so.6] in /usr/lib64 may be hidden by files in: /opt/hdf5-1.8.5-intel/lib
Some of these libraries may not be found correctly.
The file applications/dmrg/tebd/CMakeLists.txt does not exist (I suppose it was not created due to this error). On the other hand i think boost has been successfully located now - but I did not compile due to the mentioned error. What is it ?
this is the command i execute just after untaring:
cmake -D Boost_ROOT_DIR:PATH=/home/stefan/al/alps-2.0.2-r5790-src-with-boost/boost -DCMAKE_INSTALL_PREFIX=/home/stefan/alps202/ -DQMC_BITS=64 -DBLAS_LIBRARY= -DLAPACK_LINKER_FLAGS=-lmkl_sequential -lmkl_core -lmkl_intel_lp64 -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc -DCMAKE_FORTRAN_COMPILER=ifort -DALPS_BUILD_FORTRAN=ON -DALPS_ENABLE_OPENMP=ON -DALPS_Fortran_FLAGS=-openmp -DBoost_MPI_LIBRARY=/usr/lib64/openmpi/lib/libboost_mpi-mt.so -DBoost_MPI_LIBRARY_RELEASE=/usr/lib64/openmpi/lib/libboost_mpi-mt.so /home/stefan/al/alps-2.0.2-r5790-src-with-boost/alps/
i have also performed modification indicating earlier: i added intel64 directory for lapack search and "-L" before ENV{MKL} in the findlapack.cmake
I also include the new CMakeCache.txt.
For the trouble with boost linking: I would like to postpone this thread until after the tebd problem will be dealt with.
I also have a quesion: where the code responsible for printing the message is located?
i tried this: for i in `find . -name "*txt"`; do grep "runtime search path" $i; done for i in `find . -name "*cmake"`; do grep "runtime search path" $i; done for i in `find . -name "*efile"`; do grep "runtime search path" $i; done
but it did not find anything.
Regards, Mateusz Lacki
2011/11/22, Matthias Troyer troyer@phys.ethz.ch:
Have you tried just using the Boost source and letting ALPS compile it?
On Nov 22, 2011, at 5:15 PM, Mateusz Łącki wrote:
Dear All, I am still trying to compile alps using icc. I have run to a new error:
lacki@scud:~/alps/alps-2.0.2-r5790-src-with-boost/alps-2.0.2-r5790-src-with-boost/alps $ make xmlparser [100%] Built target alps Linking CXX executable xmlparser ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::broadcastboost::mpi::packed_iarchive(boost::mpi::communicator const&, boost::mpi::packed_iarchive&, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::exception::exception(char const*, int)' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::barrier() const' (............) ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::environment::~environment()' ../../src/alps/libalps.so.2.0.2: undefined reference to `boost::mpi::communicator::size() const' ../../src/alps/libalps.so.2.0.2: undefined reference to `void boost::mpi::communicator::sendboost::mpi::packed_oarchive(int, int, boost::mpi::packed_oarchive const&) const' make[3]: *** [test/parser/xmlparser] Error 1 make[2]: *** [test/parser/CMakeFiles/xmlparser.dir/all] Error 2 make[1]: *** [test/parser/CMakeFiles/xmlparser.dir/rule] Error 2
while trying to do "make". The exact make subcommand it corresponds to is "make xmlparser"
I enclose my config files.
here is a quotation from: alps/config/FindBoostForALPS.cmake
# We do not require Boost.MPI, therefore check whether Boost.MPI exists # before actual find_package for Boost. # - Ubuntu 10.10 does not have Boost.MPI package. find_package(Boost 1.43.0 COMPONENTS mpi) if (Boost_FOUND)
it seem contradictory with previous message. Also when i try to set boost_mpi directory to /usr/lib64/openmpi/lib where there is libboost_mpi.so.1.46.0 pressing "c" for doing "configure" ereases the path that i have just put in - why is that ?
The same linking error appears if I set the path to boost_root_dir correctly - in that case manual specification of location of binary libboost_mpi is no longer an option
Regards, Mateusz <CMC.txt>
<CMC.tex>
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
Dear Matthias, I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests:
The following tests FAILED: 68 - expression2 (Failed) 67 - expression (Failed) 58 - model_example18 (Failed) 57 - model_example17 (Failed) 56 - model_example16 (Failed) 55 - model_example15 (Failed) 54 - model_example14 (Failed) 53 - model_example13 (Failed) 52 - model_example12 (Failed) 51 - model_example11 (Failed) 87 - temperature_scan (Failed) 50 - model_example10 (Failed) 83 - integer_range (Failed) 79 - exmc_optimize (Failed) 25 - lattice_example2 (Failed) 24 - lattice_example1 (Failed) 26 - lattice_example3 (Failed) 4 - wanglandau (Failed) 3 - exchange (Failed) 2 - loop_single (Failed) 49 - model_example9 (Failed) 48 - model_example8 (Failed) 47 - model_example7 (Failed) 46 - model_example6 (Failed) 45 - model_example5 (Failed) 44 - model_example4 (Failed) 43 - model_example3 (Failed) 42 - model_example2 (Failed) 41 - model_example1 (Failed) 1 - ising_single (Failed) 37 - parity (Failed) 36 - coloring (Failed) 35 - lattice_label (Failed) 34 - lattice_example11 (Failed) 33 - lattice_example10 (Failed) 32 - lattice_example9 (Failed) 31 - lattice_example8 (Failed) 30 - lattice_example7 (Failed) 29 - lattice_example6 (Failed) 28 - lattice_example5 (Failed) 27 - lattice_example4 (Failed)
On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost.
This is how linking is done: -bash-4.2$ ldd worm linux-vdso.so.1 => (0x00007fffddb46000) libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000)
gcc: -bash-4.2$ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib Thread model: posix gcc version 4.4.6 (GCC)
Regards, Mateusz Lacki
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h =================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str); - if (!parse(in)) + if (!parse(in)) { + char c; + in >> c; + std::cerr << "read: " << int(c) << "\n"; boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'")); + + } }
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree.
On 27 Nov 2011, at 12:01, Mateusz Łącki wrote:
> Dear Matthias, > I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: > > The following tests FAILED: > 68 - expression2 (Failed) > 67 - expression (Failed) > 58 - model_example18 (Failed) > 57 - model_example17 (Failed) > 56 - model_example16 (Failed) > 55 - model_example15 (Failed) > 54 - model_example14 (Failed) > 53 - model_example13 (Failed) > 52 - model_example12 (Failed) > 51 - model_example11 (Failed) > 87 - temperature_scan (Failed) > 50 - model_example10 (Failed) > 83 - integer_range (Failed) > 79 - exmc_optimize (Failed) > 25 - lattice_example2 (Failed) > 24 - lattice_example1 (Failed) > 26 - lattice_example3 (Failed) > 4 - wanglandau (Failed) > 3 - exchange (Failed) > 2 - loop_single (Failed) > 49 - model_example9 (Failed) > 48 - model_example8 (Failed) > 47 - model_example7 (Failed) > 46 - model_example6 (Failed) > 45 - model_example5 (Failed) > 44 - model_example4 (Failed) > 43 - model_example3 (Failed) > 42 - model_example2 (Failed) > 41 - model_example1 (Failed) > 1 - ising_single (Failed) > 37 - parity (Failed) > 36 - coloring (Failed) > 35 - lattice_label (Failed) > 34 - lattice_example11 (Failed) > 33 - lattice_example10 (Failed) > 32 - lattice_example9 (Failed) > 31 - lattice_example8 (Failed) > 30 - lattice_example7 (Failed) > 29 - lattice_example6 (Failed) > 28 - lattice_example5 (Failed) > 27 - lattice_example4 (Failed) > > > On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. > > This is how linking is done: > -bash-4.2$ ldd worm > linux-vdso.so.1 => (0x00007fffddb46000) > libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) > libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) > libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) > libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) > libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) > libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) > libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) > libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) > libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) > libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) > libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) > libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) > libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) > /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) > librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) > > gcc: > -bash-4.2$ gcc -v > Using built-in specs. > Target: x86_64-unknown-linux-gnu > Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib > Thread model: posix > gcc version 4.4.6 (GCC) > > Regards, > Mateusz Lacki > > >
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h
--- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str);
- if (!parse(in))
- if (!parse(in)) {
- char c;
- in >> c;
- std::cerr << "read: " << int(c) << "\n"; boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'"));
- }
}
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
I paste come of them:
-bash-4.2$ cat expression_output Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100
expression2_output is empty model_example*_output are empty
integer range_output:
Parameters: L = 4; T = 0.5; Test for integer_range<int>: parse []: result [] parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [3:9:0]: integer_range: parse error: [3:9:0] parse [:3]: result [-2147483648:3] parse [-1:]: result [-1:2147483647] parse [3]: result [3:3] parse 6: result [6:6] parse [1/T:L^2]: Did not parse to end of string '1/T' parse [1/T]: Did not parse to end of string '1/T' parse [L:]: Did not parse to end of string 'L' parse [:L]: Did not parse to end of string 'L' parse [2*L]: Did not parse to end of string '2*L' parse exp(L): result [54:54] Test for integer_range<unsigned int>: parse [0:3]: result [0:3] parse [3:9]: result [3:9] parse [:3]: result [0:3] parse [1:]: result [1:4294967295] parse [-3:9]: integer_range: range error parse 6: result [6:6] initial: [0:5] 7 is included? 0 3 is assigned: [3:3] 8 is included: [3:8] 7 is included? 1 initial: [3:2147483647] multiplied by 3.5: [10:2147483647] multiplied by 2000000000: [2147483647:2147483647] multiplied by 0.1: [0:214748364] initial: [0:5] overlap with [-2:3]: [0:3] union with [-2:3]: [-2:5] overlap with [-2:10]: [0:5] union with [-2:10]: [-2:10] overlap with [7:10]: [] union with [7:10]: no overlap
Regards, Mateusz Lacki
On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote:
> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. > > On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: > >> Dear Matthias, >> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >> >> The following tests FAILED: >> 68 - expression2 (Failed) >> 67 - expression (Failed) >> 58 - model_example18 (Failed) >> 57 - model_example17 (Failed) >> 56 - model_example16 (Failed) >> 55 - model_example15 (Failed) >> 54 - model_example14 (Failed) >> 53 - model_example13 (Failed) >> 52 - model_example12 (Failed) >> 51 - model_example11 (Failed) >> 87 - temperature_scan (Failed) >> 50 - model_example10 (Failed) >> 83 - integer_range (Failed) >> 79 - exmc_optimize (Failed) >> 25 - lattice_example2 (Failed) >> 24 - lattice_example1 (Failed) >> 26 - lattice_example3 (Failed) >> 4 - wanglandau (Failed) >> 3 - exchange (Failed) >> 2 - loop_single (Failed) >> 49 - model_example9 (Failed) >> 48 - model_example8 (Failed) >> 47 - model_example7 (Failed) >> 46 - model_example6 (Failed) >> 45 - model_example5 (Failed) >> 44 - model_example4 (Failed) >> 43 - model_example3 (Failed) >> 42 - model_example2 (Failed) >> 41 - model_example1 (Failed) >> 1 - ising_single (Failed) >> 37 - parity (Failed) >> 36 - coloring (Failed) >> 35 - lattice_label (Failed) >> 34 - lattice_example11 (Failed) >> 33 - lattice_example10 (Failed) >> 32 - lattice_example9 (Failed) >> 31 - lattice_example8 (Failed) >> 30 - lattice_example7 (Failed) >> 29 - lattice_example6 (Failed) >> 28 - lattice_example5 (Failed) >> 27 - lattice_example4 (Failed) >> >> >> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >> >> This is how linking is done: >> -bash-4.2$ ldd worm >> linux-vdso.so.1 => (0x00007fffddb46000) >> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >> >> gcc: >> -bash-4.2$ gcc -v >> Using built-in specs. >> Target: x86_64-unknown-linux-gnu >> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >> Thread model: posix >> gcc version 4.4.6 (GCC) >> >> Regards, >> Mateusz Lacki >> >> >> >
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) { - is >> c; + if(!(is >> c)) + return true; if (is.eof()) return true; if (c=='-') Index: src/alps/expression/term.h =================================================================== --- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c; - in >> c; - if (!in) + if (!(in>>c)) break; + if (in.eof()) + break; switch(c) { case '*': is_inverse=false; Index: src/alps/expression/factor.h =================================================================== --- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else { - if (in) + if (in && !in.eof()) in.putback(c); term_.reset(new Symbol<T>(name)); } Index: src/alps/parser/parser.C =================================================================== --- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name; - while (detail::is_identifier_char(c) || c==''' || c=='[') { + while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') { name+=c; if (c=='[') do { @@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); } - in.putback(c); + if (!in.eof()) + in.putback(c); return name; }
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h
--- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str);
- if (!parse(in))
- if (!parse(in)) {
- char c;
- in >> c;
- std::cerr << "read: " << int(c) << "\n"; boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'"));
- }
}
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
Can you just go to the alps/test/model directory and run the program ./model_example1 ?
Matthias
On 27 Nov 2011, at 13:09, Mateusz Łącki wrote:
> I paste come of them: > > -bash-4.2$ cat expression_output > Parameters: > L = 10; > T = 0.1; > beta = 1/T; > error = error; > > The value of [sqrt(4)] is 2 > The value of [3 + 5] is 8 > The value of [L] is 10 > The value of [T] is 0.1 > The value of [1 / L] is 0.1 > The value of [1 / T] is 10 > The value of [2 * Pi / L] is 0.628319 > The value of [L + T] is 10.1 > The value of [L + 10] is 20 > The value of [L - T] is 9.9 > The value of [1 / T + 10] is 20 > The value of [L / (1 / T + 10)] is 0.5 > The value of [L * L] is 100 > > expression2_output is empty > model_example*_output are empty > > integer range_output: > > Parameters: > L = 4; > T = 0.5; > Test for integer_range<int>: > parse []: result [] > parse [0:3]: result [0:3] > parse [3:9]: result [3:9] > parse [3:9:0]: integer_range: parse error: [3:9:0] > parse [:3]: result [-2147483648:3] > parse [-1:]: result [-1:2147483647] > parse [3]: result [3:3] > parse 6: result [6:6] > parse [1/T:L^2]: Did not parse to end of string '1/T' > parse [1/T]: Did not parse to end of string '1/T' > parse [L:]: Did not parse to end of string 'L' > parse [:L]: Did not parse to end of string 'L' > parse [2*L]: Did not parse to end of string '2*L' > parse exp(L): result [54:54] > Test for integer_range<unsigned int>: > parse [0:3]: result [0:3] > parse [3:9]: result [3:9] > parse [:3]: result [0:3] > parse [1:]: result [1:4294967295] > parse [-3:9]: integer_range: range error > parse 6: result [6:6] > initial: [0:5] > 7 is included? 0 > 3 is assigned: [3:3] > 8 is included: [3:8] > 7 is included? 1 > initial: [3:2147483647] > multiplied by 3.5: [10:2147483647] > multiplied by 2000000000: [2147483647:2147483647] > multiplied by 0.1: [0:214748364] > initial: [0:5] > overlap with [-2:3]: [0:3] > union with [-2:3]: [-2:5] > overlap with [-2:10]: [0:5] > union with [-2:10]: [-2:10] > overlap with [7:10]: [] > union with [7:10]: no overlap > > > Regards, > Mateusz Lacki > > On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: > >> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >> >> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >> >>> Dear Matthias, >>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>> >>> The following tests FAILED: >>> 68 - expression2 (Failed) >>> 67 - expression (Failed) >>> 58 - model_example18 (Failed) >>> 57 - model_example17 (Failed) >>> 56 - model_example16 (Failed) >>> 55 - model_example15 (Failed) >>> 54 - model_example14 (Failed) >>> 53 - model_example13 (Failed) >>> 52 - model_example12 (Failed) >>> 51 - model_example11 (Failed) >>> 87 - temperature_scan (Failed) >>> 50 - model_example10 (Failed) >>> 83 - integer_range (Failed) >>> 79 - exmc_optimize (Failed) >>> 25 - lattice_example2 (Failed) >>> 24 - lattice_example1 (Failed) >>> 26 - lattice_example3 (Failed) >>> 4 - wanglandau (Failed) >>> 3 - exchange (Failed) >>> 2 - loop_single (Failed) >>> 49 - model_example9 (Failed) >>> 48 - model_example8 (Failed) >>> 47 - model_example7 (Failed) >>> 46 - model_example6 (Failed) >>> 45 - model_example5 (Failed) >>> 44 - model_example4 (Failed) >>> 43 - model_example3 (Failed) >>> 42 - model_example2 (Failed) >>> 41 - model_example1 (Failed) >>> 1 - ising_single (Failed) >>> 37 - parity (Failed) >>> 36 - coloring (Failed) >>> 35 - lattice_label (Failed) >>> 34 - lattice_example11 (Failed) >>> 33 - lattice_example10 (Failed) >>> 32 - lattice_example9 (Failed) >>> 31 - lattice_example8 (Failed) >>> 30 - lattice_example7 (Failed) >>> 29 - lattice_example6 (Failed) >>> 28 - lattice_example5 (Failed) >>> 27 - lattice_example4 (Failed) >>> >>> >>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>> >>> This is how linking is done: >>> -bash-4.2$ ldd worm >>> linux-vdso.so.1 => (0x00007fffddb46000) >>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>> >>> gcc: >>> -bash-4.2$ gcc -v >>> Using built-in specs. >>> Target: x86_64-unknown-linux-gnu >>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>> Thread model: posix >>> gcc version 4.4.6 (GCC) >>> >>> Regards, >>> Mateusz Lacki >>> >>> >>> >> >
Dear Matthias, This is the new output:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 The value of [beta] is 10 The value of [sqrt(L)] is 3.16228 The value of [sin(2 * Pi / L)] is 0.587785 The value of [cos(2 * Pi / L)] is 0.809017 The value of [L^2] is 100 The value of [(L + 1)^3] is 1331 The value of [(L + 1)^-1 * 5] is 0.454545 The value of [random()] is 0.814724 The value of [random()] is 0.135477 The value of [random()] is 0.905792 The value of [integer_random(50)] is 41 The value of [integer_random(50)] is 6 The value of [integer_random(50)] is 48 The value of [gaussian_random()] is 0.604675 The value of [gaussian_random()] is -0.365983 The value of [gaussian_random(100, 20)] is 88.4347 Cannot evaluate [error]. The value of [sqrt(3.33)] is 1.82483 The value of [L*T] is 1 The value of [1/L] is 0.1 The value of [2*Pi*L] is 62.8319 Cannot evaluate [error].
to save time I did only "make expression" instead of full "make". Is the output correct? It looks fine... Now I am doing "make" then i will report on all the tests.
Regards, Mateusz
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) {
- is >> c;
- if(!(is >> c))
if (is.eof()) return true; if (c=='-')return true;
Index: src/alps/expression/term.h
--- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c;
- in >> c;
- if (!in)
- if (!(in>>c)) break;
- if (in.eof())
switch(c) { case '*': is_inverse=false;break;
Index: src/alps/expression/factor.h
--- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else {
if (in)
}if (in && !in.eof()) in.putback(c); term_.reset(new Symbol<T>(name));
Index: src/alps/parser/parser.C
--- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name;
- while (detail::is_identifier_char(c) || c==''' || c=='[') {
- while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') { name+=c; if (c=='[') do {
@@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); }
- in.putback(c);
- if (!in.eof())
- in.putback(c); return name;
}
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h
--- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str);
- if (!parse(in))
- if (!parse(in)) {
- char c;
- in >> c;
- std::cerr << "read: " << int(c) << "\n"; boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'"));
- }
}
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
Dear Matthias, I did it and got: -bash-4.2$ ./model_example1 Caught exception: Illegal term in expression
Regards, Mateusz
On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote:
> Can you just go to the alps/test/model directory and run the program ./model_example1 ? > > Matthias > > On 27 Nov 2011, at 13:09, Mateusz Łącki wrote: > >> I paste come of them: >> >> -bash-4.2$ cat expression_output >> Parameters: >> L = 10; >> T = 0.1; >> beta = 1/T; >> error = error; >> >> The value of [sqrt(4)] is 2 >> The value of [3 + 5] is 8 >> The value of [L] is 10 >> The value of [T] is 0.1 >> The value of [1 / L] is 0.1 >> The value of [1 / T] is 10 >> The value of [2 * Pi / L] is 0.628319 >> The value of [L + T] is 10.1 >> The value of [L + 10] is 20 >> The value of [L - T] is 9.9 >> The value of [1 / T + 10] is 20 >> The value of [L / (1 / T + 10)] is 0.5 >> The value of [L * L] is 100 >> >> expression2_output is empty >> model_example*_output are empty >> >> integer range_output: >> >> Parameters: >> L = 4; >> T = 0.5; >> Test for integer_range<int>: >> parse []: result [] >> parse [0:3]: result [0:3] >> parse [3:9]: result [3:9] >> parse [3:9:0]: integer_range: parse error: [3:9:0] >> parse [:3]: result [-2147483648:3] >> parse [-1:]: result [-1:2147483647] >> parse [3]: result [3:3] >> parse 6: result [6:6] >> parse [1/T:L^2]: Did not parse to end of string '1/T' >> parse [1/T]: Did not parse to end of string '1/T' >> parse [L:]: Did not parse to end of string 'L' >> parse [:L]: Did not parse to end of string 'L' >> parse [2*L]: Did not parse to end of string '2*L' >> parse exp(L): result [54:54] >> Test for integer_range<unsigned int>: >> parse [0:3]: result [0:3] >> parse [3:9]: result [3:9] >> parse [:3]: result [0:3] >> parse [1:]: result [1:4294967295] >> parse [-3:9]: integer_range: range error >> parse 6: result [6:6] >> initial: [0:5] >> 7 is included? 0 >> 3 is assigned: [3:3] >> 8 is included: [3:8] >> 7 is included? 1 >> initial: [3:2147483647] >> multiplied by 3.5: [10:2147483647] >> multiplied by 2000000000: [2147483647:2147483647] >> multiplied by 0.1: [0:214748364] >> initial: [0:5] >> overlap with [-2:3]: [0:3] >> union with [-2:3]: [-2:5] >> overlap with [-2:10]: [0:5] >> union with [-2:10]: [-2:10] >> overlap with [7:10]: [] >> union with [7:10]: no overlap >> >> >> Regards, >> Mateusz Lacki >> >> On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: >> >>> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >>> >>> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >>> >>>> Dear Matthias, >>>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>>> >>>> The following tests FAILED: >>>> 68 - expression2 (Failed) >>>> 67 - expression (Failed) >>>> 58 - model_example18 (Failed) >>>> 57 - model_example17 (Failed) >>>> 56 - model_example16 (Failed) >>>> 55 - model_example15 (Failed) >>>> 54 - model_example14 (Failed) >>>> 53 - model_example13 (Failed) >>>> 52 - model_example12 (Failed) >>>> 51 - model_example11 (Failed) >>>> 87 - temperature_scan (Failed) >>>> 50 - model_example10 (Failed) >>>> 83 - integer_range (Failed) >>>> 79 - exmc_optimize (Failed) >>>> 25 - lattice_example2 (Failed) >>>> 24 - lattice_example1 (Failed) >>>> 26 - lattice_example3 (Failed) >>>> 4 - wanglandau (Failed) >>>> 3 - exchange (Failed) >>>> 2 - loop_single (Failed) >>>> 49 - model_example9 (Failed) >>>> 48 - model_example8 (Failed) >>>> 47 - model_example7 (Failed) >>>> 46 - model_example6 (Failed) >>>> 45 - model_example5 (Failed) >>>> 44 - model_example4 (Failed) >>>> 43 - model_example3 (Failed) >>>> 42 - model_example2 (Failed) >>>> 41 - model_example1 (Failed) >>>> 1 - ising_single (Failed) >>>> 37 - parity (Failed) >>>> 36 - coloring (Failed) >>>> 35 - lattice_label (Failed) >>>> 34 - lattice_example11 (Failed) >>>> 33 - lattice_example10 (Failed) >>>> 32 - lattice_example9 (Failed) >>>> 31 - lattice_example8 (Failed) >>>> 30 - lattice_example7 (Failed) >>>> 29 - lattice_example6 (Failed) >>>> 28 - lattice_example5 (Failed) >>>> 27 - lattice_example4 (Failed) >>>> >>>> >>>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>>> >>>> This is how linking is done: >>>> -bash-4.2$ ldd worm >>>> linux-vdso.so.1 => (0x00007fffddb46000) >>>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>>> >>>> gcc: >>>> -bash-4.2$ gcc -v >>>> Using built-in specs. >>>> Target: x86_64-unknown-linux-gnu >>>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>>> Thread model: posix >>>> gcc version 4.4.6 (GCC) >>>> >>>> Regards, >>>> Mateusz Lacki >>>> >>>> >>>> >>> >> >
Yes, that looks much better and now it might work for all tests.
Matthias
On Nov 27, 2011, at 5:47 PM, Mateusz Łącki wrote:
Dear Matthias, This is the new output:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 The value of [beta] is 10 The value of [sqrt(L)] is 3.16228 The value of [sin(2 * Pi / L)] is 0.587785 The value of [cos(2 * Pi / L)] is 0.809017 The value of [L^2] is 100 The value of [(L + 1)^3] is 1331 The value of [(L + 1)^-1 * 5] is 0.454545 The value of [random()] is 0.814724 The value of [random()] is 0.135477 The value of [random()] is 0.905792 The value of [integer_random(50)] is 41 The value of [integer_random(50)] is 6 The value of [integer_random(50)] is 48 The value of [gaussian_random()] is 0.604675 The value of [gaussian_random()] is -0.365983 The value of [gaussian_random(100, 20)] is 88.4347 Cannot evaluate [error]. The value of [sqrt(3.33)] is 1.82483 The value of [L*T] is 1 The value of [1/L] is 0.1 The value of [2*Pi*L] is 62.8319 Cannot evaluate [error].
to save time I did only "make expression" instead of full "make". Is the output correct? It looks fine... Now I am doing "make" then i will report on all the tests.
Regards, Mateusz
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) {
- is >> c;
- if(!(is >> c))
if (is.eof()) return true; if (c=='-')return true;
Index: src/alps/expression/term.h
--- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c;
- in >> c;
- if (!in)
- if (!(in>>c)) break;
- if (in.eof())
switch(c) { case '*': is_inverse=false;break;
Index: src/alps/expression/factor.h
--- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else {
if (in)
term_.reset(new Symbol<T>(name)); }if (in && !in.eof()) in.putback(c);
Index: src/alps/parser/parser.C
--- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name;
- while (detail::is_identifier_char(c) || c==''' || c=='[') {
- while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') { name+=c; if (c=='[') do {
@@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); }
- in.putback(c);
- if (!in.eof())
- in.putback(c);
return name; }
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h
--- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str);
- if (!parse(in))
- if (!parse(in)) {
- char c;
- in >> c;
- std::cerr << "read: " << int(c) << "\n";
boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'"));
- }
}
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
Can you go to the parameter test directory and type
./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input
That might help us a bit - it seems there is a problem with parsing input with your compiler.
Matthias
On 27 Nov 2011, at 13:50, Mateusz Łącki wrote:
> Dear Matthias, > I did it and got: > -bash-4.2$ ./model_example1 > Caught exception: Illegal term in expression > > Regards, > Mateusz > > On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote: > >> Can you just go to the alps/test/model directory and run the program ./model_example1 ? >> >> Matthias >> >> On 27 Nov 2011, at 13:09, Mateusz Łącki wrote: >> >>> I paste come of them: >>> >>> -bash-4.2$ cat expression_output >>> Parameters: >>> L = 10; >>> T = 0.1; >>> beta = 1/T; >>> error = error; >>> >>> The value of [sqrt(4)] is 2 >>> The value of [3 + 5] is 8 >>> The value of [L] is 10 >>> The value of [T] is 0.1 >>> The value of [1 / L] is 0.1 >>> The value of [1 / T] is 10 >>> The value of [2 * Pi / L] is 0.628319 >>> The value of [L + T] is 10.1 >>> The value of [L + 10] is 20 >>> The value of [L - T] is 9.9 >>> The value of [1 / T + 10] is 20 >>> The value of [L / (1 / T + 10)] is 0.5 >>> The value of [L * L] is 100 >>> >>> expression2_output is empty >>> model_example*_output are empty >>> >>> integer range_output: >>> >>> Parameters: >>> L = 4; >>> T = 0.5; >>> Test for integer_range<int>: >>> parse []: result [] >>> parse [0:3]: result [0:3] >>> parse [3:9]: result [3:9] >>> parse [3:9:0]: integer_range: parse error: [3:9:0] >>> parse [:3]: result [-2147483648:3] >>> parse [-1:]: result [-1:2147483647] >>> parse [3]: result [3:3] >>> parse 6: result [6:6] >>> parse [1/T:L^2]: Did not parse to end of string '1/T' >>> parse [1/T]: Did not parse to end of string '1/T' >>> parse [L:]: Did not parse to end of string 'L' >>> parse [:L]: Did not parse to end of string 'L' >>> parse [2*L]: Did not parse to end of string '2*L' >>> parse exp(L): result [54:54] >>> Test for integer_range<unsigned int>: >>> parse [0:3]: result [0:3] >>> parse [3:9]: result [3:9] >>> parse [:3]: result [0:3] >>> parse [1:]: result [1:4294967295] >>> parse [-3:9]: integer_range: range error >>> parse 6: result [6:6] >>> initial: [0:5] >>> 7 is included? 0 >>> 3 is assigned: [3:3] >>> 8 is included: [3:8] >>> 7 is included? 1 >>> initial: [3:2147483647] >>> multiplied by 3.5: [10:2147483647] >>> multiplied by 2000000000: [2147483647:2147483647] >>> multiplied by 0.1: [0:214748364] >>> initial: [0:5] >>> overlap with [-2:3]: [0:3] >>> union with [-2:3]: [-2:5] >>> overlap with [-2:10]: [0:5] >>> union with [-2:10]: [-2:10] >>> overlap with [7:10]: [] >>> union with [7:10]: no overlap >>> >>> >>> Regards, >>> Mateusz Lacki >>> >>> On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: >>> >>>> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >>>> >>>> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >>>> >>>>> Dear Matthias, >>>>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>>>> >>>>> The following tests FAILED: >>>>> 68 - expression2 (Failed) >>>>> 67 - expression (Failed) >>>>> 58 - model_example18 (Failed) >>>>> 57 - model_example17 (Failed) >>>>> 56 - model_example16 (Failed) >>>>> 55 - model_example15 (Failed) >>>>> 54 - model_example14 (Failed) >>>>> 53 - model_example13 (Failed) >>>>> 52 - model_example12 (Failed) >>>>> 51 - model_example11 (Failed) >>>>> 87 - temperature_scan (Failed) >>>>> 50 - model_example10 (Failed) >>>>> 83 - integer_range (Failed) >>>>> 79 - exmc_optimize (Failed) >>>>> 25 - lattice_example2 (Failed) >>>>> 24 - lattice_example1 (Failed) >>>>> 26 - lattice_example3 (Failed) >>>>> 4 - wanglandau (Failed) >>>>> 3 - exchange (Failed) >>>>> 2 - loop_single (Failed) >>>>> 49 - model_example9 (Failed) >>>>> 48 - model_example8 (Failed) >>>>> 47 - model_example7 (Failed) >>>>> 46 - model_example6 (Failed) >>>>> 45 - model_example5 (Failed) >>>>> 44 - model_example4 (Failed) >>>>> 43 - model_example3 (Failed) >>>>> 42 - model_example2 (Failed) >>>>> 41 - model_example1 (Failed) >>>>> 1 - ising_single (Failed) >>>>> 37 - parity (Failed) >>>>> 36 - coloring (Failed) >>>>> 35 - lattice_label (Failed) >>>>> 34 - lattice_example11 (Failed) >>>>> 33 - lattice_example10 (Failed) >>>>> 32 - lattice_example9 (Failed) >>>>> 31 - lattice_example8 (Failed) >>>>> 30 - lattice_example7 (Failed) >>>>> 29 - lattice_example6 (Failed) >>>>> 28 - lattice_example5 (Failed) >>>>> 27 - lattice_example4 (Failed) >>>>> >>>>> >>>>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>>>> >>>>> This is how linking is done: >>>>> -bash-4.2$ ldd worm >>>>> linux-vdso.so.1 => (0x00007fffddb46000) >>>>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>>>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>>>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>>>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>>>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>>>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>>>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>>>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>>>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>>>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>>>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>>>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>>>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>>>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>>>> >>>>> gcc: >>>>> -bash-4.2$ gcc -v >>>>> Using built-in specs. >>>>> Target: x86_64-unknown-linux-gnu >>>>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>>>> Thread model: posix >>>>> gcc version 4.4.6 (GCC) >>>>> >>>>> Regards, >>>>> Mateusz Lacki >>>>> >>>>> >>>>> >>>> >>> >> >
Dear Matthias, This patch made alps pass all the tests.
Thank you extremely much.
Regards, Mateusz
On Nov 27, 2011, at 5:50 PM, Matthias Troyer wrote:
Yes, that looks much better and now it might work for all tests.
Matthias
On Nov 27, 2011, at 5:47 PM, Mateusz Łącki wrote:
Dear Matthias, This is the new output:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 The value of [beta] is 10 The value of [sqrt(L)] is 3.16228 The value of [sin(2 * Pi / L)] is 0.587785 The value of [cos(2 * Pi / L)] is 0.809017 The value of [L^2] is 100 The value of [(L + 1)^3] is 1331 The value of [(L + 1)^-1 * 5] is 0.454545 The value of [random()] is 0.814724 The value of [random()] is 0.135477 The value of [random()] is 0.905792 The value of [integer_random(50)] is 41 The value of [integer_random(50)] is 6 The value of [integer_random(50)] is 48 The value of [gaussian_random()] is 0.604675 The value of [gaussian_random()] is -0.365983 The value of [gaussian_random(100, 20)] is 88.4347 Cannot evaluate [error]. The value of [sqrt(3.33)] is 1.82483 The value of [L*T] is 1 The value of [1/L] is 0.1 The value of [2*Pi*L] is 62.8319 Cannot evaluate [error].
to save time I did only "make expression" instead of full "make". Is the output correct? It looks fine... Now I am doing "make" then i will report on all the tests.
Regards, Mateusz
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) {
- is >> c;
- if(!(is >> c))
if (is.eof()) return true; if (c=='-')return true;
Index: src/alps/expression/term.h
--- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c;
- in >> c;
- if (!in)
- if (!(in>>c)) break;
- if (in.eof())
switch(c) { case '*': is_inverse=false;break;
Index: src/alps/expression/factor.h
--- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else {
if (in)
term_.reset(new Symbol<T>(name)); }if (in && !in.eof()) in.putback(c);
Index: src/alps/parser/parser.C
--- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name;
- while (detail::is_identifier_char(c) || c==''' || c=='[') {
- while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') { name+=c; if (c=='[') do {
@@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); }
- in.putback(c);
- if (!in.eof())
- in.putback(c);
return name; }
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h
--- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str);
- if (!parse(in))
- if (!parse(in)) {
- char c;
- in >> c;
- std::cerr << "read: " << int(c) << "\n";
boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'"));
- }
}
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 Caught exception: Did not parse to end of string '1/T'
Mateusz
On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote:
> Can you go to the parameter test directory and type > > ./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input > > That might help us a bit - it seems there is a problem with parsing input with your compiler. > > Matthias > > > On 27 Nov 2011, at 13:50, Mateusz Łącki wrote: > >> Dear Matthias, >> I did it and got: >> -bash-4.2$ ./model_example1 >> Caught exception: Illegal term in expression >> >> Regards, >> Mateusz >> >> On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote: >> >>> Can you just go to the alps/test/model directory and run the program ./model_example1 ? >>> >>> Matthias >>> >>> On 27 Nov 2011, at 13:09, Mateusz Łącki wrote: >>> >>>> I paste come of them: >>>> >>>> -bash-4.2$ cat expression_output >>>> Parameters: >>>> L = 10; >>>> T = 0.1; >>>> beta = 1/T; >>>> error = error; >>>> >>>> The value of [sqrt(4)] is 2 >>>> The value of [3 + 5] is 8 >>>> The value of [L] is 10 >>>> The value of [T] is 0.1 >>>> The value of [1 / L] is 0.1 >>>> The value of [1 / T] is 10 >>>> The value of [2 * Pi / L] is 0.628319 >>>> The value of [L + T] is 10.1 >>>> The value of [L + 10] is 20 >>>> The value of [L - T] is 9.9 >>>> The value of [1 / T + 10] is 20 >>>> The value of [L / (1 / T + 10)] is 0.5 >>>> The value of [L * L] is 100 >>>> >>>> expression2_output is empty >>>> model_example*_output are empty >>>> >>>> integer range_output: >>>> >>>> Parameters: >>>> L = 4; >>>> T = 0.5; >>>> Test for integer_range<int>: >>>> parse []: result [] >>>> parse [0:3]: result [0:3] >>>> parse [3:9]: result [3:9] >>>> parse [3:9:0]: integer_range: parse error: [3:9:0] >>>> parse [:3]: result [-2147483648:3] >>>> parse [-1:]: result [-1:2147483647] >>>> parse [3]: result [3:3] >>>> parse 6: result [6:6] >>>> parse [1/T:L^2]: Did not parse to end of string '1/T' >>>> parse [1/T]: Did not parse to end of string '1/T' >>>> parse [L:]: Did not parse to end of string 'L' >>>> parse [:L]: Did not parse to end of string 'L' >>>> parse [2*L]: Did not parse to end of string '2*L' >>>> parse exp(L): result [54:54] >>>> Test for integer_range<unsigned int>: >>>> parse [0:3]: result [0:3] >>>> parse [3:9]: result [3:9] >>>> parse [:3]: result [0:3] >>>> parse [1:]: result [1:4294967295] >>>> parse [-3:9]: integer_range: range error >>>> parse 6: result [6:6] >>>> initial: [0:5] >>>> 7 is included? 0 >>>> 3 is assigned: [3:3] >>>> 8 is included: [3:8] >>>> 7 is included? 1 >>>> initial: [3:2147483647] >>>> multiplied by 3.5: [10:2147483647] >>>> multiplied by 2000000000: [2147483647:2147483647] >>>> multiplied by 0.1: [0:214748364] >>>> initial: [0:5] >>>> overlap with [-2:3]: [0:3] >>>> union with [-2:3]: [-2:5] >>>> overlap with [-2:10]: [0:5] >>>> union with [-2:10]: [-2:10] >>>> overlap with [7:10]: [] >>>> union with [7:10]: no overlap >>>> >>>> >>>> Regards, >>>> Mateusz Lacki >>>> >>>> On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: >>>> >>>>> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >>>>> >>>>> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >>>>> >>>>>> Dear Matthias, >>>>>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>>>>> >>>>>> The following tests FAILED: >>>>>> 68 - expression2 (Failed) >>>>>> 67 - expression (Failed) >>>>>> 58 - model_example18 (Failed) >>>>>> 57 - model_example17 (Failed) >>>>>> 56 - model_example16 (Failed) >>>>>> 55 - model_example15 (Failed) >>>>>> 54 - model_example14 (Failed) >>>>>> 53 - model_example13 (Failed) >>>>>> 52 - model_example12 (Failed) >>>>>> 51 - model_example11 (Failed) >>>>>> 87 - temperature_scan (Failed) >>>>>> 50 - model_example10 (Failed) >>>>>> 83 - integer_range (Failed) >>>>>> 79 - exmc_optimize (Failed) >>>>>> 25 - lattice_example2 (Failed) >>>>>> 24 - lattice_example1 (Failed) >>>>>> 26 - lattice_example3 (Failed) >>>>>> 4 - wanglandau (Failed) >>>>>> 3 - exchange (Failed) >>>>>> 2 - loop_single (Failed) >>>>>> 49 - model_example9 (Failed) >>>>>> 48 - model_example8 (Failed) >>>>>> 47 - model_example7 (Failed) >>>>>> 46 - model_example6 (Failed) >>>>>> 45 - model_example5 (Failed) >>>>>> 44 - model_example4 (Failed) >>>>>> 43 - model_example3 (Failed) >>>>>> 42 - model_example2 (Failed) >>>>>> 41 - model_example1 (Failed) >>>>>> 1 - ising_single (Failed) >>>>>> 37 - parity (Failed) >>>>>> 36 - coloring (Failed) >>>>>> 35 - lattice_label (Failed) >>>>>> 34 - lattice_example11 (Failed) >>>>>> 33 - lattice_example10 (Failed) >>>>>> 32 - lattice_example9 (Failed) >>>>>> 31 - lattice_example8 (Failed) >>>>>> 30 - lattice_example7 (Failed) >>>>>> 29 - lattice_example6 (Failed) >>>>>> 28 - lattice_example5 (Failed) >>>>>> 27 - lattice_example4 (Failed) >>>>>> >>>>>> >>>>>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>>>>> >>>>>> This is how linking is done: >>>>>> -bash-4.2$ ldd worm >>>>>> linux-vdso.so.1 => (0x00007fffddb46000) >>>>>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>>>>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>>>>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>>>>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>>>>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>>>>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>>>>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>>>>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>>>>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>>>>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>>>>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>>>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>>>>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>>>>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>>>>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>>>>> >>>>>> gcc: >>>>>> -bash-4.2$ gcc -v >>>>>> Using built-in specs. >>>>>> Target: x86_64-unknown-linux-gnu >>>>>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>>>>> Thread model: posix >>>>>> gcc version 4.4.6 (GCC) >>>>>> >>>>>> Regards, >>>>>> Mateusz Lacki >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >
Dear Matthias,
This patch also fixes the ticket #536 (Parameter parser does not work correctly with gcc 4.6) except for test_vector. Can I apply it to the trunk?
Best, Synge
On 2011/11/28, at 6:59, Mateusz Łącki wrote:
Dear Matthias, This patch made alps pass all the tests.
Thank you extremely much.
Regards, Mateusz
On Nov 27, 2011, at 5:50 PM, Matthias Troyer wrote:
Yes, that looks much better and now it might work for all tests.
Matthias
On Nov 27, 2011, at 5:47 PM, Mateusz Łącki wrote:
Dear Matthias, This is the new output:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 The value of [beta] is 10 The value of [sqrt(L)] is 3.16228 The value of [sin(2 * Pi / L)] is 0.587785 The value of [cos(2 * Pi / L)] is 0.809017 The value of [L^2] is 100 The value of [(L + 1)^3] is 1331 The value of [(L + 1)^-1 * 5] is 0.454545 The value of [random()] is 0.814724 The value of [random()] is 0.135477 The value of [random()] is 0.905792 The value of [integer_random(50)] is 41 The value of [integer_random(50)] is 6 The value of [integer_random(50)] is 48 The value of [gaussian_random()] is 0.604675 The value of [gaussian_random()] is -0.365983 The value of [gaussian_random(100, 20)] is 88.4347 Cannot evaluate [error]. The value of [sqrt(3.33)] is 1.82483 The value of [L*T] is 1 The value of [1/L] is 0.1 The value of [2*Pi*L] is 62.8319 Cannot evaluate [error].
to save time I did only "make expression" instead of full "make". Is the output correct? It looks fine... Now I am doing "make" then i will report on all the tests.
Regards, Mateusz
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) {
- is >> c;
- if(!(is >> c))
return true;
if (is.eof()) return true; if (c=='-') Index: src/alps/expression/term.h =================================================================== --- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c;
- in >> c;
- if (!in)
- if (!(in>>c)) break;
- if (in.eof())
break;
switch(c) { case '*': is_inverse=false; Index: src/alps/expression/factor.h =================================================================== --- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else {
if (in)
in.putback(c); term_.reset(new Symbol<T>(name));if (in && !in.eof())
} Index: src/alps/parser/parser.C =================================================================== --- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name;
- while (detail::is_identifier_char(c) || c==''' || c=='[') {
- while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') {
name+=c; if (c=='[') do { @@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); }
- in.putback(c);
- if (!in.eof())
- in.putback(c);
return name; }
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
This has to do with your standard library. Can you try with the following patch?
Index: src/alps/expression/expression.h
--- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -193,8 +193,13 @@ void Expression<T>::parse(const std::string& str) { std::istringstream in(str);
- if (!parse(in))
- if (!parse(in)) {
- char c;
- in >> c;
- std::cerr << "read: " << int(c) << "\n";
boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'"));
- }
}
template<class T>
On 27 Nov 2011, at 14:02, Mateusz Łącki wrote:
> Parameters: > L = 10; > T = 0.1; > beta = 1/T; > error = error; > > The value of [sqrt(4)] is 2 > The value of [3 + 5] is 8 > The value of [L] is 10 > The value of [T] is 0.1 > The value of [1 / L] is 0.1 > The value of [1 / T] is 10 > The value of [2 * Pi / L] is 0.628319 > The value of [L + T] is 10.1 > The value of [L + 10] is 20 > The value of [L - T] is 9.9 > The value of [1 / T + 10] is 20 > The value of [L / (1 / T + 10)] is 0.5 > The value of [L * L] is 100 > Caught exception: Did not parse to end of string '1/T' > > Mateusz > > On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote: > >> Can you go to the parameter test directory and type >> >> ./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input >> >> That might help us a bit - it seems there is a problem with parsing input with your compiler. >> >> Matthias >> >> >> On 27 Nov 2011, at 13:50, Mateusz Łącki wrote: >> >>> Dear Matthias, >>> I did it and got: >>> -bash-4.2$ ./model_example1 >>> Caught exception: Illegal term in expression >>> >>> Regards, >>> Mateusz >>> >>> On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote: >>> >>>> Can you just go to the alps/test/model directory and run the program ./model_example1 ? >>>> >>>> Matthias >>>> >>>> On 27 Nov 2011, at 13:09, Mateusz Łącki wrote: >>>> >>>>> I paste come of them: >>>>> >>>>> -bash-4.2$ cat expression_output >>>>> Parameters: >>>>> L = 10; >>>>> T = 0.1; >>>>> beta = 1/T; >>>>> error = error; >>>>> >>>>> The value of [sqrt(4)] is 2 >>>>> The value of [3 + 5] is 8 >>>>> The value of [L] is 10 >>>>> The value of [T] is 0.1 >>>>> The value of [1 / L] is 0.1 >>>>> The value of [1 / T] is 10 >>>>> The value of [2 * Pi / L] is 0.628319 >>>>> The value of [L + T] is 10.1 >>>>> The value of [L + 10] is 20 >>>>> The value of [L - T] is 9.9 >>>>> The value of [1 / T + 10] is 20 >>>>> The value of [L / (1 / T + 10)] is 0.5 >>>>> The value of [L * L] is 100 >>>>> >>>>> expression2_output is empty >>>>> model_example*_output are empty >>>>> >>>>> integer range_output: >>>>> >>>>> Parameters: >>>>> L = 4; >>>>> T = 0.5; >>>>> Test for integer_range<int>: >>>>> parse []: result [] >>>>> parse [0:3]: result [0:3] >>>>> parse [3:9]: result [3:9] >>>>> parse [3:9:0]: integer_range: parse error: [3:9:0] >>>>> parse [:3]: result [-2147483648:3] >>>>> parse [-1:]: result [-1:2147483647] >>>>> parse [3]: result [3:3] >>>>> parse 6: result [6:6] >>>>> parse [1/T:L^2]: Did not parse to end of string '1/T' >>>>> parse [1/T]: Did not parse to end of string '1/T' >>>>> parse [L:]: Did not parse to end of string 'L' >>>>> parse [:L]: Did not parse to end of string 'L' >>>>> parse [2*L]: Did not parse to end of string '2*L' >>>>> parse exp(L): result [54:54] >>>>> Test for integer_range<unsigned int>: >>>>> parse [0:3]: result [0:3] >>>>> parse [3:9]: result [3:9] >>>>> parse [:3]: result [0:3] >>>>> parse [1:]: result [1:4294967295] >>>>> parse [-3:9]: integer_range: range error >>>>> parse 6: result [6:6] >>>>> initial: [0:5] >>>>> 7 is included? 0 >>>>> 3 is assigned: [3:3] >>>>> 8 is included: [3:8] >>>>> 7 is included? 1 >>>>> initial: [3:2147483647] >>>>> multiplied by 3.5: [10:2147483647] >>>>> multiplied by 2000000000: [2147483647:2147483647] >>>>> multiplied by 0.1: [0:214748364] >>>>> initial: [0:5] >>>>> overlap with [-2:3]: [0:3] >>>>> union with [-2:3]: [-2:5] >>>>> overlap with [-2:10]: [0:5] >>>>> union with [-2:10]: [-2:10] >>>>> overlap with [7:10]: [] >>>>> union with [7:10]: no overlap >>>>> >>>>> >>>>> Regards, >>>>> Mateusz Lacki >>>>> >>>>> On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: >>>>> >>>>>> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >>>>>> >>>>>> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >>>>>> >>>>>>> Dear Matthias, >>>>>>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>>>>>> >>>>>>> The following tests FAILED: >>>>>>> 68 - expression2 (Failed) >>>>>>> 67 - expression (Failed) >>>>>>> 58 - model_example18 (Failed) >>>>>>> 57 - model_example17 (Failed) >>>>>>> 56 - model_example16 (Failed) >>>>>>> 55 - model_example15 (Failed) >>>>>>> 54 - model_example14 (Failed) >>>>>>> 53 - model_example13 (Failed) >>>>>>> 52 - model_example12 (Failed) >>>>>>> 51 - model_example11 (Failed) >>>>>>> 87 - temperature_scan (Failed) >>>>>>> 50 - model_example10 (Failed) >>>>>>> 83 - integer_range (Failed) >>>>>>> 79 - exmc_optimize (Failed) >>>>>>> 25 - lattice_example2 (Failed) >>>>>>> 24 - lattice_example1 (Failed) >>>>>>> 26 - lattice_example3 (Failed) >>>>>>> 4 - wanglandau (Failed) >>>>>>> 3 - exchange (Failed) >>>>>>> 2 - loop_single (Failed) >>>>>>> 49 - model_example9 (Failed) >>>>>>> 48 - model_example8 (Failed) >>>>>>> 47 - model_example7 (Failed) >>>>>>> 46 - model_example6 (Failed) >>>>>>> 45 - model_example5 (Failed) >>>>>>> 44 - model_example4 (Failed) >>>>>>> 43 - model_example3 (Failed) >>>>>>> 42 - model_example2 (Failed) >>>>>>> 41 - model_example1 (Failed) >>>>>>> 1 - ising_single (Failed) >>>>>>> 37 - parity (Failed) >>>>>>> 36 - coloring (Failed) >>>>>>> 35 - lattice_label (Failed) >>>>>>> 34 - lattice_example11 (Failed) >>>>>>> 33 - lattice_example10 (Failed) >>>>>>> 32 - lattice_example9 (Failed) >>>>>>> 31 - lattice_example8 (Failed) >>>>>>> 30 - lattice_example7 (Failed) >>>>>>> 29 - lattice_example6 (Failed) >>>>>>> 28 - lattice_example5 (Failed) >>>>>>> 27 - lattice_example4 (Failed) >>>>>>> >>>>>>> >>>>>>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>>>>>> >>>>>>> This is how linking is done: >>>>>>> -bash-4.2$ ldd worm >>>>>>> linux-vdso.so.1 => (0x00007fffddb46000) >>>>>>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>>>>>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>>>>>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>>>>>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>>>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>>>>>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>>>>>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>>>>>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>>>>>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>>>>>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>>>>>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>>>>>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>>>>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>>>>>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>>>>>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>>>>>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>>>>>> >>>>>>> gcc: >>>>>>> -bash-4.2$ gcc -v >>>>>>> Using built-in specs. >>>>>>> Target: x86_64-unknown-linux-gnu >>>>>>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>>>>>> Thread model: posix >>>>>>> gcc version 4.4.6 (GCC) >>>>>>> >>>>>>> Regards, >>>>>>> Mateusz Lacki >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
Confirmed, Just testvector fails.
Regards, MAteusz Lacki
On Nov 29, 2011, at 3:49 AM, Synge Todo wrote:
Dear Matthias,
This patch also fixes the ticket #536 (Parameter parser does not work correctly with gcc 4.6) except for test_vector. Can I apply it to the trunk?
Best, Synge
On 2011/11/28, at 6:59, Mateusz Łącki wrote:
Dear Matthias, This patch made alps pass all the tests.
Thank you extremely much.
Regards, Mateusz
On Nov 27, 2011, at 5:50 PM, Matthias Troyer wrote:
Yes, that looks much better and now it might work for all tests.
Matthias
On Nov 27, 2011, at 5:47 PM, Mateusz Łącki wrote:
Dear Matthias, This is the new output:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 The value of [beta] is 10 The value of [sqrt(L)] is 3.16228 The value of [sin(2 * Pi / L)] is 0.587785 The value of [cos(2 * Pi / L)] is 0.809017 The value of [L^2] is 100 The value of [(L + 1)^3] is 1331 The value of [(L + 1)^-1 * 5] is 0.454545 The value of [random()] is 0.814724 The value of [random()] is 0.135477 The value of [random()] is 0.905792 The value of [integer_random(50)] is 41 The value of [integer_random(50)] is 6 The value of [integer_random(50)] is 48 The value of [gaussian_random()] is 0.604675 The value of [gaussian_random()] is -0.365983 The value of [gaussian_random(100, 20)] is 88.4347 Cannot evaluate [error]. The value of [sqrt(3.33)] is 1.82483 The value of [L*T] is 1 The value of [1/L] is 0.1 The value of [2*Pi*L] is 62.8319 Cannot evaluate [error].
to save time I did only "make expression" instead of full "make". Is the output correct? It looks fine... Now I am doing "make" then i will report on all the tests.
Regards, Mateusz
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) {
- is >> c;
- if(!(is >> c))
return true;
if (is.eof()) return true; if (c=='-') Index: src/alps/expression/term.h =================================================================== --- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c;
- in >> c;
- if (!in)
- if (!(in>>c)) break;
- if (in.eof())
break;
switch(c) { case '*': is_inverse=false; Index: src/alps/expression/factor.h =================================================================== --- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else {
if (in)
in.putback(c); term_.reset(new Symbol<T>(name));if (in && !in.eof())
} Index: src/alps/parser/parser.C =================================================================== --- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name;
- while (detail::is_identifier_char(c) || c==''' || c=='[') {
- while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') {
name+=c; if (c=='[') do { @@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); }
- in.putback(c);
- if (!in.eof())
- in.putback(c);
return name; }
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
> This has to do with your standard library. Can you try with the following patch? > > Index: src/alps/expression/expression.h > =================================================================== > --- src/alps/expression/expression.h (revision 5795) > +++ src/alps/expression/expression.h (working copy) > @@ -193,8 +193,13 @@ > void Expression<T>::parse(const std::string& str) > { > std::istringstream in(str); > - if (!parse(in)) > + if (!parse(in)) { > + char c; > + in >> c; > + std::cerr << "read: " << int(c) << "\n"; > boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'")); > + > + } > } > > template<class T> > > > On 27 Nov 2011, at 14:02, Mateusz Łącki wrote: > >> Parameters: >> L = 10; >> T = 0.1; >> beta = 1/T; >> error = error; >> >> The value of [sqrt(4)] is 2 >> The value of [3 + 5] is 8 >> The value of [L] is 10 >> The value of [T] is 0.1 >> The value of [1 / L] is 0.1 >> The value of [1 / T] is 10 >> The value of [2 * Pi / L] is 0.628319 >> The value of [L + T] is 10.1 >> The value of [L + 10] is 20 >> The value of [L - T] is 9.9 >> The value of [1 / T + 10] is 20 >> The value of [L / (1 / T + 10)] is 0.5 >> The value of [L * L] is 100 >> Caught exception: Did not parse to end of string '1/T' >> >> Mateusz >> >> On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote: >> >>> Can you go to the parameter test directory and type >>> >>> ./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input >>> >>> That might help us a bit - it seems there is a problem with parsing input with your compiler. >>> >>> Matthias >>> >>> >>> On 27 Nov 2011, at 13:50, Mateusz Łącki wrote: >>> >>>> Dear Matthias, >>>> I did it and got: >>>> -bash-4.2$ ./model_example1 >>>> Caught exception: Illegal term in expression >>>> >>>> Regards, >>>> Mateusz >>>> >>>> On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote: >>>> >>>>> Can you just go to the alps/test/model directory and run the program ./model_example1 ? >>>>> >>>>> Matthias >>>>> >>>>> On 27 Nov 2011, at 13:09, Mateusz Łącki wrote: >>>>> >>>>>> I paste come of them: >>>>>> >>>>>> -bash-4.2$ cat expression_output >>>>>> Parameters: >>>>>> L = 10; >>>>>> T = 0.1; >>>>>> beta = 1/T; >>>>>> error = error; >>>>>> >>>>>> The value of [sqrt(4)] is 2 >>>>>> The value of [3 + 5] is 8 >>>>>> The value of [L] is 10 >>>>>> The value of [T] is 0.1 >>>>>> The value of [1 / L] is 0.1 >>>>>> The value of [1 / T] is 10 >>>>>> The value of [2 * Pi / L] is 0.628319 >>>>>> The value of [L + T] is 10.1 >>>>>> The value of [L + 10] is 20 >>>>>> The value of [L - T] is 9.9 >>>>>> The value of [1 / T + 10] is 20 >>>>>> The value of [L / (1 / T + 10)] is 0.5 >>>>>> The value of [L * L] is 100 >>>>>> >>>>>> expression2_output is empty >>>>>> model_example*_output are empty >>>>>> >>>>>> integer range_output: >>>>>> >>>>>> Parameters: >>>>>> L = 4; >>>>>> T = 0.5; >>>>>> Test for integer_range<int>: >>>>>> parse []: result [] >>>>>> parse [0:3]: result [0:3] >>>>>> parse [3:9]: result [3:9] >>>>>> parse [3:9:0]: integer_range: parse error: [3:9:0] >>>>>> parse [:3]: result [-2147483648:3] >>>>>> parse [-1:]: result [-1:2147483647] >>>>>> parse [3]: result [3:3] >>>>>> parse 6: result [6:6] >>>>>> parse [1/T:L^2]: Did not parse to end of string '1/T' >>>>>> parse [1/T]: Did not parse to end of string '1/T' >>>>>> parse [L:]: Did not parse to end of string 'L' >>>>>> parse [:L]: Did not parse to end of string 'L' >>>>>> parse [2*L]: Did not parse to end of string '2*L' >>>>>> parse exp(L): result [54:54] >>>>>> Test for integer_range<unsigned int>: >>>>>> parse [0:3]: result [0:3] >>>>>> parse [3:9]: result [3:9] >>>>>> parse [:3]: result [0:3] >>>>>> parse [1:]: result [1:4294967295] >>>>>> parse [-3:9]: integer_range: range error >>>>>> parse 6: result [6:6] >>>>>> initial: [0:5] >>>>>> 7 is included? 0 >>>>>> 3 is assigned: [3:3] >>>>>> 8 is included: [3:8] >>>>>> 7 is included? 1 >>>>>> initial: [3:2147483647] >>>>>> multiplied by 3.5: [10:2147483647] >>>>>> multiplied by 2000000000: [2147483647:2147483647] >>>>>> multiplied by 0.1: [0:214748364] >>>>>> initial: [0:5] >>>>>> overlap with [-2:3]: [0:3] >>>>>> union with [-2:3]: [-2:5] >>>>>> overlap with [-2:10]: [0:5] >>>>>> union with [-2:10]: [-2:10] >>>>>> overlap with [7:10]: [] >>>>>> union with [7:10]: no overlap >>>>>> >>>>>> >>>>>> Regards, >>>>>> Mateusz Lacki >>>>>> >>>>>> On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: >>>>>> >>>>>>> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >>>>>>> >>>>>>> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >>>>>>> >>>>>>>> Dear Matthias, >>>>>>>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>>>>>>> >>>>>>>> The following tests FAILED: >>>>>>>> 68 - expression2 (Failed) >>>>>>>> 67 - expression (Failed) >>>>>>>> 58 - model_example18 (Failed) >>>>>>>> 57 - model_example17 (Failed) >>>>>>>> 56 - model_example16 (Failed) >>>>>>>> 55 - model_example15 (Failed) >>>>>>>> 54 - model_example14 (Failed) >>>>>>>> 53 - model_example13 (Failed) >>>>>>>> 52 - model_example12 (Failed) >>>>>>>> 51 - model_example11 (Failed) >>>>>>>> 87 - temperature_scan (Failed) >>>>>>>> 50 - model_example10 (Failed) >>>>>>>> 83 - integer_range (Failed) >>>>>>>> 79 - exmc_optimize (Failed) >>>>>>>> 25 - lattice_example2 (Failed) >>>>>>>> 24 - lattice_example1 (Failed) >>>>>>>> 26 - lattice_example3 (Failed) >>>>>>>> 4 - wanglandau (Failed) >>>>>>>> 3 - exchange (Failed) >>>>>>>> 2 - loop_single (Failed) >>>>>>>> 49 - model_example9 (Failed) >>>>>>>> 48 - model_example8 (Failed) >>>>>>>> 47 - model_example7 (Failed) >>>>>>>> 46 - model_example6 (Failed) >>>>>>>> 45 - model_example5 (Failed) >>>>>>>> 44 - model_example4 (Failed) >>>>>>>> 43 - model_example3 (Failed) >>>>>>>> 42 - model_example2 (Failed) >>>>>>>> 41 - model_example1 (Failed) >>>>>>>> 1 - ising_single (Failed) >>>>>>>> 37 - parity (Failed) >>>>>>>> 36 - coloring (Failed) >>>>>>>> 35 - lattice_label (Failed) >>>>>>>> 34 - lattice_example11 (Failed) >>>>>>>> 33 - lattice_example10 (Failed) >>>>>>>> 32 - lattice_example9 (Failed) >>>>>>>> 31 - lattice_example8 (Failed) >>>>>>>> 30 - lattice_example7 (Failed) >>>>>>>> 29 - lattice_example6 (Failed) >>>>>>>> 28 - lattice_example5 (Failed) >>>>>>>> 27 - lattice_example4 (Failed) >>>>>>>> >>>>>>>> >>>>>>>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>>>>>>> >>>>>>>> This is how linking is done: >>>>>>>> -bash-4.2$ ldd worm >>>>>>>> linux-vdso.so.1 => (0x00007fffddb46000) >>>>>>>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>>>>>>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>>>>>>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>>>>>>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>>>>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>>>>>>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>>>>>>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>>>>>>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>>>>>>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>>>>>>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>>>>>>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>>>>>>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>>>>>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>>>>>>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>>>>>>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>>>>>>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>>>>>>> >>>>>>>> gcc: >>>>>>>> -bash-4.2$ gcc -v >>>>>>>> Using built-in specs. >>>>>>>> Target: x86_64-unknown-linux-gnu >>>>>>>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>>>>>>> Thread model: posix >>>>>>>> gcc version 4.4.6 (GCC) >>>>>>>> >>>>>>>> Regards, >>>>>>>> Mateusz Lacki >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
To be more precise: in my case test_vector fails with the following message:
terminate called after throwing an instance of 'std::logic_error' what(): non_pod Aborted
Regards, Mateusz
Dear Matthias,
This patch also fixes the ticket #536 (Parameter parser does not work correctly with gcc 4.6) except for test_vector. Can I apply it to the trunk?
Best, Synge
On 2011/11/28, at 6:59, Mateusz Łącki wrote:
Dear Matthias, This patch made alps pass all the tests.
Thank you extremely much.
Regards, Mateusz
On Nov 27, 2011, at 5:50 PM, Matthias Troyer wrote:
Yes, that looks much better and now it might work for all tests.
Matthias
On Nov 27, 2011, at 5:47 PM, Mateusz Łącki wrote:
Dear Matthias, This is the new output:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 The value of [beta] is 10 The value of [sqrt(L)] is 3.16228 The value of [sin(2 * Pi / L)] is 0.587785 The value of [cos(2 * Pi / L)] is 0.809017 The value of [L^2] is 100 The value of [(L + 1)^3] is 1331 The value of [(L + 1)^-1 * 5] is 0.454545 The value of [random()] is 0.814724 The value of [random()] is 0.135477 The value of [random()] is 0.905792 The value of [integer_random(50)] is 41 The value of [integer_random(50)] is 6 The value of [integer_random(50)] is 48 The value of [gaussian_random()] is 0.604675 The value of [gaussian_random()] is -0.365983 The value of [gaussian_random(100, 20)] is 88.4347 Cannot evaluate [error]. The value of [sqrt(3.33)] is 1.82483 The value of [L*T] is 1 The value of [1/L] is 0.1 The value of [2*Pi*L] is 62.8319 Cannot evaluate [error].
to save time I did only "make expression" instead of full "make". Is the output correct? It looks fine... Now I am doing "make" then i will report on all the tests.
Regards, Mateusz
Can we try the following patches and see if that helps?
=================================================================== --- src/alps/expression/expression.h (revision 5795) +++ src/alps/expression/expression.h (working copy) @@ -214,7 +214,8 @@ is.putback(c); terms_.push_back(Term<T>(is,negate)); while(true) {
- is >> c;
- if(!(is >> c))
return true;
if (is.eof()) return true; if (c=='-') Index: src/alps/expression/term.h =================================================================== --- src/alps/expression/term.h (revision 5795) +++ src/alps/expression/term.h (working copy) @@ -140,9 +140,10 @@ terms_.push_back(Factor<T>(in,is_inverse)); while (true) { char c;
- in >> c;
- if (!in)
- if (!(in>>c)) break;
- if (in.eof())
break;
switch(c) { case '*': is_inverse=false; Index: src/alps/expression/factor.h =================================================================== --- src/alps/expression/factor.h (revision 5795) +++ src/alps/expression/factor.h (working copy) @@ -141,7 +141,7 @@ if(in && c=='(') term_.reset(new Function<T>(in,name)); else {
if (in)
in.putback(c); term_.reset(new Symbol<T>(name));if (in && !in.eof())
} Index: src/alps/parser/parser.C =================================================================== --- src/alps/parser/parser.C (revision 5795) +++ src/alps/parser/parser.C (working copy) @@ -58,7 +58,7 @@ char c; in >> c; std::string name;
- while (detail::is_identifier_char(c) || c==''' || c=='[') {
- while (in && !in.eof() && detail::is_identifier_char(c) || c==''' || c=='[') {
name+=c; if (c=='[') do { @@ -67,7 +67,8 @@ } while (c!=']'); c=in.get(); }
- in.putback(c);
- if (!in.eof())
- in.putback(c);
return name; }
On 27 Nov 2011, at 15:26, Mateusz Łącki wrote:
Dear Matthias. I have applied the patch and recompiled. If the problem in in standard library should I link with older one? This is what i got with the usual library:
Parameters: L = 10; T = 0.1; beta = 1/T; error = error;
The value of [sqrt(4)] is 2 The value of [3 + 5] is 8 The value of [L] is 10 The value of [T] is 0.1 The value of [1 / L] is 0.1 The value of [1 / T] is 10 The value of [2 * Pi / L] is 0.628319 The value of [L + T] is 10.1 The value of [L + 10] is 20 The value of [L - T] is 9.9 The value of [1 / T + 10] is 20 The value of [L / (1 / T + 10)] is 0.5 The value of [L * L] is 100 read: 0 Caught exception: Did not parse to end of string '1/T'
Regards, Mateusz
> This has to do with your standard library. Can you try with the following patch? > > Index: src/alps/expression/expression.h > =================================================================== > --- src/alps/expression/expression.h (revision 5795) > +++ src/alps/expression/expression.h (working copy) > @@ -193,8 +193,13 @@ > void Expression<T>::parse(const std::string& str) > { > std::istringstream in(str); > - if (!parse(in)) > + if (!parse(in)) { > + char c; > + in >> c; > + std::cerr << "read: " << int(c) << "\n"; > boost::throw_exception(std::runtime_error("Did not parse to end of string '" + str + "'")); > + > + } > } > > template<class T> > > > On 27 Nov 2011, at 14:02, Mateusz Łącki wrote: > >> Parameters: >> L = 10; >> T = 0.1; >> beta = 1/T; >> error = error; >> >> The value of [sqrt(4)] is 2 >> The value of [3 + 5] is 8 >> The value of [L] is 10 >> The value of [T] is 0.1 >> The value of [1 / L] is 0.1 >> The value of [1 / T] is 10 >> The value of [2 * Pi / L] is 0.628319 >> The value of [L + T] is 10.1 >> The value of [L + 10] is 20 >> The value of [L - T] is 9.9 >> The value of [1 / T + 10] is 20 >> The value of [L / (1 / T + 10)] is 0.5 >> The value of [L * L] is 100 >> Caught exception: Did not parse to end of string '1/T' >> >> Mateusz >> >> On Nov 27, 2011, at 1:56 PM, Matthias Troyer wrote: >> >>> Can you go to the parameter test directory and type >>> >>> ./expression < PATH_TO_YOUR_ALPS_SOURCES/test/parameter/expression.input >>> >>> That might help us a bit - it seems there is a problem with parsing input with your compiler. >>> >>> Matthias >>> >>> >>> On 27 Nov 2011, at 13:50, Mateusz Łącki wrote: >>> >>>> Dear Matthias, >>>> I did it and got: >>>> -bash-4.2$ ./model_example1 >>>> Caught exception: Illegal term in expression >>>> >>>> Regards, >>>> Mateusz >>>> >>>> On Nov 27, 2011, at 1:48 PM, Matthias Troyer wrote: >>>> >>>>> Can you just go to the alps/test/model directory and run the program ./model_example1 ? >>>>> >>>>> Matthias >>>>> >>>>> On 27 Nov 2011, at 13:09, Mateusz Łącki wrote: >>>>> >>>>>> I paste come of them: >>>>>> >>>>>> -bash-4.2$ cat expression_output >>>>>> Parameters: >>>>>> L = 10; >>>>>> T = 0.1; >>>>>> beta = 1/T; >>>>>> error = error; >>>>>> >>>>>> The value of [sqrt(4)] is 2 >>>>>> The value of [3 + 5] is 8 >>>>>> The value of [L] is 10 >>>>>> The value of [T] is 0.1 >>>>>> The value of [1 / L] is 0.1 >>>>>> The value of [1 / T] is 10 >>>>>> The value of [2 * Pi / L] is 0.628319 >>>>>> The value of [L + T] is 10.1 >>>>>> The value of [L + 10] is 20 >>>>>> The value of [L - T] is 9.9 >>>>>> The value of [1 / T + 10] is 20 >>>>>> The value of [L / (1 / T + 10)] is 0.5 >>>>>> The value of [L * L] is 100 >>>>>> >>>>>> expression2_output is empty >>>>>> model_example*_output are empty >>>>>> >>>>>> integer range_output: >>>>>> >>>>>> Parameters: >>>>>> L = 4; >>>>>> T = 0.5; >>>>>> Test for integer_range<int>: >>>>>> parse []: result [] >>>>>> parse [0:3]: result [0:3] >>>>>> parse [3:9]: result [3:9] >>>>>> parse [3:9:0]: integer_range: parse error: [3:9:0] >>>>>> parse [:3]: result [-2147483648:3] >>>>>> parse [-1:]: result [-1:2147483647] >>>>>> parse [3]: result [3:3] >>>>>> parse 6: result [6:6] >>>>>> parse [1/T:L^2]: Did not parse to end of string '1/T' >>>>>> parse [1/T]: Did not parse to end of string '1/T' >>>>>> parse [L:]: Did not parse to end of string 'L' >>>>>> parse [:L]: Did not parse to end of string 'L' >>>>>> parse [2*L]: Did not parse to end of string '2*L' >>>>>> parse exp(L): result [54:54] >>>>>> Test for integer_range<unsigned int>: >>>>>> parse [0:3]: result [0:3] >>>>>> parse [3:9]: result [3:9] >>>>>> parse [:3]: result [0:3] >>>>>> parse [1:]: result [1:4294967295] >>>>>> parse [-3:9]: integer_range: range error >>>>>> parse 6: result [6:6] >>>>>> initial: [0:5] >>>>>> 7 is included? 0 >>>>>> 3 is assigned: [3:3] >>>>>> 8 is included: [3:8] >>>>>> 7 is included? 1 >>>>>> initial: [3:2147483647] >>>>>> multiplied by 3.5: [10:2147483647] >>>>>> multiplied by 2000000000: [2147483647:2147483647] >>>>>> multiplied by 0.1: [0:214748364] >>>>>> initial: [0:5] >>>>>> overlap with [-2:3]: [0:3] >>>>>> union with [-2:3]: [-2:5] >>>>>> overlap with [-2:10]: [0:5] >>>>>> union with [-2:10]: [-2:10] >>>>>> overlap with [7:10]: [] >>>>>> union with [7:10]: no overlap >>>>>> >>>>>> >>>>>> Regards, >>>>>> Mateusz Lacki >>>>>> >>>>>> On Nov 27, 2011, at 12:54 PM, Matthias Troyer wrote: >>>>>> >>>>>>> We need to know why it fails. Can you send the *_output files of some of the failed tests. They are in the corresponding test directory in your build tree. >>>>>>> >>>>>>> On 27 Nov 2011, at 12:01, Mateusz Łącki wrote: >>>>>>> >>>>>>>> Dear Matthias, >>>>>>>> I have installed myself a gcc 4.4. It indeed compiles alps 2.0.2 with no error, however again there is issue of failed tests: >>>>>>>> >>>>>>>> The following tests FAILED: >>>>>>>> 68 - expression2 (Failed) >>>>>>>> 67 - expression (Failed) >>>>>>>> 58 - model_example18 (Failed) >>>>>>>> 57 - model_example17 (Failed) >>>>>>>> 56 - model_example16 (Failed) >>>>>>>> 55 - model_example15 (Failed) >>>>>>>> 54 - model_example14 (Failed) >>>>>>>> 53 - model_example13 (Failed) >>>>>>>> 52 - model_example12 (Failed) >>>>>>>> 51 - model_example11 (Failed) >>>>>>>> 87 - temperature_scan (Failed) >>>>>>>> 50 - model_example10 (Failed) >>>>>>>> 83 - integer_range (Failed) >>>>>>>> 79 - exmc_optimize (Failed) >>>>>>>> 25 - lattice_example2 (Failed) >>>>>>>> 24 - lattice_example1 (Failed) >>>>>>>> 26 - lattice_example3 (Failed) >>>>>>>> 4 - wanglandau (Failed) >>>>>>>> 3 - exchange (Failed) >>>>>>>> 2 - loop_single (Failed) >>>>>>>> 49 - model_example9 (Failed) >>>>>>>> 48 - model_example8 (Failed) >>>>>>>> 47 - model_example7 (Failed) >>>>>>>> 46 - model_example6 (Failed) >>>>>>>> 45 - model_example5 (Failed) >>>>>>>> 44 - model_example4 (Failed) >>>>>>>> 43 - model_example3 (Failed) >>>>>>>> 42 - model_example2 (Failed) >>>>>>>> 41 - model_example1 (Failed) >>>>>>>> 1 - ising_single (Failed) >>>>>>>> 37 - parity (Failed) >>>>>>>> 36 - coloring (Failed) >>>>>>>> 35 - lattice_label (Failed) >>>>>>>> 34 - lattice_example11 (Failed) >>>>>>>> 33 - lattice_example10 (Failed) >>>>>>>> 32 - lattice_example9 (Failed) >>>>>>>> 31 - lattice_example8 (Failed) >>>>>>>> 30 - lattice_example7 (Failed) >>>>>>>> 29 - lattice_example6 (Failed) >>>>>>>> 28 - lattice_example5 (Failed) >>>>>>>> 27 - lattice_example4 (Failed) >>>>>>>> >>>>>>>> >>>>>>>> On the other machine (that has gcc version 4.4 installed system-wide) all the tests pass. I can confirm that the same issue exists when compiling with icc v 12.1 and gcc v 4.6.1. One of the difference is that this machine (with gcc 4.4 installed in my home directory) has newer versions of all libraries installed. Could that be the problem? will binary release of alps 2.0.2 for linux be available anytime soon? This time it compiled its own boost. >>>>>>>> >>>>>>>> This is how linking is done: >>>>>>>> -bash-4.2$ ldd worm >>>>>>>> linux-vdso.so.1 => (0x00007fffddb46000) >>>>>>>> libz.so.1 => /lib64/libz.so.1 (0x0000003e59e00000) >>>>>>>> libalps.so.2 => /home/stefan/al/alps202-gcc44/src/alps/libalps.so.2 (0x00007f8bf6caf000) >>>>>>>> libboost.so => /home/stefan/al/alps202-gcc44/src/boost/libboost.so (0x00007f8bf6822000) >>>>>>>> libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x0000003e72c00000) >>>>>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e58e00000) >>>>>>>> libdl.so.2 => /lib64/libdl.so.2 (0x0000003e59200000) >>>>>>>> libutil.so.1 => /lib64/libutil.so.1 (0x0000003e6f600000) >>>>>>>> libhdf5.so.6 => /usr/lib64/libhdf5.so.6 (0x00000038de800000) >>>>>>>> libhdf5_hl.so.6 => /usr/lib64/libhdf5_hl.so.6 (0x0000003e58200000) >>>>>>>> libm.so.6 => /lib64/libm.so.6 (0x0000003e58a00000) >>>>>>>> libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e5ea00000) >>>>>>>> libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003e64600000) >>>>>>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e59a00000) >>>>>>>> libc.so.6 => /lib64/libc.so.6 (0x0000003e58600000) >>>>>>>> /lib64/ld-linux-x86-64.so.2 (0x0000003e57e00000) >>>>>>>> librt.so.1 => /lib64/librt.so.1 (0x0000003e59600000) >>>>>>>> >>>>>>>> gcc: >>>>>>>> -bash-4.2$ gcc -v >>>>>>>> Using built-in specs. >>>>>>>> Target: x86_64-unknown-linux-gnu >>>>>>>> Configured with: ./configure --prefix=/home/stefan/opt/gcc-4.4.6 --disable-multilib >>>>>>>> Thread model: posix >>>>>>>> gcc version 4.4.6 (GCC) >>>>>>>> >>>>>>>> Regards, >>>>>>>> Mateusz Lacki >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
comp-phys-alps-users@lists.phys.ethz.ch