Boost logo

Ublas :

From: Thomas Lemaire (thomas.lemaire_at_[hidden])
Date: 2005-11-28 03:04:52


Dear list,

I am trying to use lu operations defined in lu.hpp. As adviced recently on
this list, I added the following includes which should already be in lu.hpp:

#if BOOST_VERSION < 103301 // missing includes in lu.hpp
#include <boost/numeric/ublas/operation.hpp>
#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/triangular.hpp>
#endif

On a Fedora core 3 or core 4 (both using boost 1.32), I got the following
compilation error in operation.hpp (only the first error):

/usr/include/boost/numeric/ublas/operation.hpp:32: error: expected
constructor, destructor, or type conversion before 'V'

FC3: gcc (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2)
FC4: gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5)

On the other hand, it compiles fine on a debian/sid with boost 1.33 and
gcc (GCC) 4.0.3 20051023 (prerelease) (Debian 4.0.2-3)

I checked in the code, there is no difference in the faulty lines between 1.32
and 1.33, so it comes from gcc... I can understand that gcc 4.0 is not mature
enough so that ublas compilation may fails, but with gcc 3.4 it seems weird.

Does anybody experience the same problems ? Am I missing something ? How can I
fix it ?

If I can help with more testing, let me know !

-- 
thomas