Here is a first set of patches to support SunCC. They allow to compile and run the linearstructure unit tests fine. I also had to configure cmake as follow: CXX="/opt/sun/sunstudio12.1/bin/CC -library=stlport4 -features=tmplrefstatic" cmake -DCMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS="" <path_to_eigen> Now I'm stuck on very strange compilation issue when trying any test that makes use of transpose: "/home/gael/Coding/eigen-sun/Eigen/src/Core/Transpose.h", line 139: Error: Unable to parse field declaration in class template: skipping field. "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: While specializing "Eigen::Transpose<Eigen::Matrix<double, 4, 4, 0, 4, 4>>". "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: Instantiated from diagonal<Eigen::Matrix<double, 4, 4, 0, 4, 4>>(const Eigen::Matrix<double, 4, 4, 0, 4, 4>&). "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 76: Where: Instantiated from non-template code. "/home/gael/Coding/eigen-sun/Eigen/src/Core/Transpose.h", line 72: Error: The base "Eigen::TransposeImpl<Eigen::Matrix<double, 4, 4, 0, 4, 4>, Eigen::Dense>" must be a previously defined class or struct. "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: While specializing "Eigen::Transpose<Eigen::Matrix<double, 4, 4, 0, 4, 4>>". "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: Instantiated from diagonal<Eigen::Matrix<double, 4, 4, 0, 4, 4>>(const Eigen::Matrix<double, 4, 4, 0, 4, 4>&). "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 76: Where: Instantiated from non-template code. "/home/gael/Coding/eigen-sun/Eigen/src/Core/Transpose.h", line 139: Error: Unable to parse field declaration in class template: skipping field. "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: While specializing "Eigen::Transpose<Eigen::Matrix<double, 4, 4, 0, 4, 4>>". "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: Instantiated from diagonal<Eigen::Matrix<double, 4, 4, 0, 4, 4>>(const Eigen::Matrix<double, 4, 4, 0, 4, 4>&). "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 76: Where: Instantiated from non-template code. "/home/gael/Coding/eigen-sun/Eigen/src/Core/Transpose.h", line 75: Error: Base is not a member of Eigen::TransposeImpl<Eigen::Matrix<double, 4, 4, 0, 4, 4>, Eigen::Dense>. "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: While specializing "Eigen::Transpose<Eigen::Matrix<double, 4, 4, 0, 4, 4>>". "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 42: Where: Instantiated from diagonal<Eigen::Matrix<double, 4, 4, 0, 4, 4>>(const Eigen::Matrix<double, 4, 4, 0, 4, 4>&). "/home/gael/Coding/eigen-sun/test/diagonal.cpp", line 76: Where: Instantiated from non-template code. [...] Of course I've tried to define TransposeImpl before defining Transpose, but that does not change anything.
Are the patches someplace else?
Created attachment 116 [details] first set of patches for sunCC sorry, looks like I failed to properly attach the file. so here it is.
Hello Gael, All, As I have the same question/request on my side, could you please update us on whether you were able to correct this after all? Many thanks, Omar
*** Bug 847 has been marked as a duplicate of this bug. ***
Not tested it for a while. Feel free to try and report to us.
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/198.