jackyspeed / libmv

Automatically exported from code.google.com/p/libmv
MIT License
0 stars 0 forks source link

Compiling failure in release mode #6

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. compile in release mode

System:
svn revision 532. (and before)
Ubuntu x86_64
gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2

Output:
cc1plus: warnings being treated as errors
./libmv/src/third_party/eigen2/Eigen/src/Core/SolveTriangular.h: In member
function ‘bool Eigen::LU<MatrixType>::solve(const
Eigen::MatrixBase<OtherDerived>&, ResultType*) const [with OtherDerived =
Eigen::CwiseUnaryOp<Eigen::ei_scalar_opposite_op<double>,
Eigen::Matrix<double, 3, 1, 0, 3, 1> >, ResultType = libmv::Vec3,
MatrixType = Eigen::Matrix<double, 3, 3, 0, 3, 3>]’:
./libmv/src/third_party/eigen2/Eigen/src/Core/SolveTriangular.h:189: error:
array subscript is above array bounds
compilation terminated due to -Wfatal-errors.

Original issue reported on code.google.com by amael.de...@gmail.com on 24 Jun 2009 at 9:09

GoogleCodeExporter commented 9 years ago
Can you try with Eigen 2.0.3 ?
Just download and extract:
http://bitbucket.org/eigen/eigen2/get/2.0.3.tar.bz2

Original comment by jacob.be...@gmail.com on 25 Jun 2009 at 8:30

GoogleCodeExporter commented 9 years ago
it works fine with 2.0.3 :) 
But because of eigen2 backward uncompatibility I had to change the
norm2() -> squaredNorm()
x.set(y) -> x = y
and add a few .cast<float>()

there are also compilation warning treated as errors with the google libraries 
by
gcc. (I think all are about return values of fwrite that are not accounted for)

Original comment by amael.de...@gmail.com on 25 Jun 2009 at 11:26

GoogleCodeExporter commented 9 years ago
Eigen 2.0.3 is fully backward compatible with Eigen 2.0.0.

The functions that you are referring to were removed before the 2.0.0 release.
Likewise, the greater strictness toward mixing numeric types, is something that
predates 2.0.0.

It looks like you've been using Eigen pre-2.0 until now ;)

Original comment by jacob.be...@gmail.com on 26 Jun 2009 at 2:19

GoogleCodeExporter commented 9 years ago
ok, good to know.
I was actually using the one in the svn ./libmv/src/third_party/eigen2/ which I
assumed to be version >=2.0.0 by the name ...

Original comment by amael.de...@gmail.com on 26 Jun 2009 at 3:13

GoogleCodeExporter commented 9 years ago
Yes, the current trunk is using a pre-2.0 random svn release of Eigen. I 
checked in 
2.0.3, but haven't resolved the issues related to storing Eigen types in 
vectors.

Original comment by mie...@gmail.com on 26 Jun 2009 at 5:09

GoogleCodeExporter commented 9 years ago
D'oh, I forgot about this: StdVector changed in an incompatible way in 2.0.1, 
that's
true. Outside of that, it's fully compatible.

Replying to your mail on eigen@ ...

Original comment by jacob.be...@gmail.com on 26 Jun 2009 at 12:26

GoogleCodeExporter commented 9 years ago
Hello,
here is a patch that fixe compilation issues (still on gcc4.3.2 on x86_64)
Can someone have a look and modify the svn please?
Then I guess this issue can be closed. Thanks.

Original comment by amael.de...@gmail.com on 30 Jun 2009 at 4:02

Attachments:

GoogleCodeExporter commented 9 years ago
Salut Amael,
I've applied the patch, and added you to the project members so that you can 
apply
the next one.
Merci.
pau

Original comment by pau.garg...@gmail.com on 30 Jun 2009 at 5:37