Bug#680931: libarmadillo-dev: trivial program fails to compile

Conrad Sanderson conradsand at ieee.org
Mon Jul 9 12:17:16 UTC 2012


This is not a bug in Armadillo, but rather a bug (regression) in GCC
4.7.0 and 4.7.1.

The relevant Armadillo code follows the C++ standard.

Code using Armadillo 3.2.3 compiles fine with earlier versions of GCC
(4.4, 4.5 and 4.6) as well as CLang 3.0.

As such, I suggest filing a bug against the GCC package in Debian.

There is a related upstream GCC bug, but there seems to be no progress on it:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53549




On 9 July 2012 20:39, Jet Holloway <jet.holloway at gmail.com> wrote:
> Package: libarmadillo-dev
> Version: 1:3.2.3+dfsg-1
> Severity: grave
> Tags: upstream
> Justification: renders package unusable
>
> Dear Maintainer,
>
> I just upgraded libarmadillo-dev and libarmadillo3 from version 3.2.2+dfsg-1
> to 3.2.3+dfsg-1, which caused a program I was working on to fail to compile.
> When I removed 3.2.3 and reinstalled 3.2.2 the problem disappeared.
>
>
> The following trivial program also causes the error:
> #include <armadillo>
> int main()
> {
>     return 0;
> }
>
>
> When I try to compile this program with "g++ armadillo_bug.cpp", I get these
> errors:
>
> In file included from /usr/include/armadillo:141:0,
> from armadillo_bug.cpp:2:
> /usr/include/armadillo_bits/Mat_bones.hpp:545:26: error: no members matching ‘arma::Mat<eT>::operator=’ in ‘class arma::Mat<eT>’
> /usr/include/armadillo_bits/Mat_bones.hpp:546:27: error: no members matching ‘arma::Mat<eT>::operator()’ in ‘class arma::Mat<eT>’
> In file included from /usr/include/armadillo:142:0,
> from armadillo_bug.cpp:2:
> /usr/include/armadillo_bits/Col_bones.hpp:175:27: error: no members matching ‘arma::Col<eT>::operator()’ in ‘class arma::Col<eT>’
> In file included from /usr/include/armadillo:143:0,
> from armadillo_bug.cpp:2:
> /usr/include/armadillo_bits/Row_bones.hpp:173:27: error: no members matching ‘arma::Row<eT>::operator()’ in ‘class arma::Row<eT>’
>
>
> I am using gcc 4.7.1-2.
> I have also downloaded armadillo-3.2.3.tar.gz from the armadillo website and
> tried including that header file in the trivial program. This also failed to
> compile.
>
>
> -- System Information:
> Debian Release: wheezy/sid
>   APT prefers testing
>   APT policy: (500, 'testing')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 3.2.0-2-rt-amd64 (SMP w/8 CPU cores; PREEMPT)
> Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages libarmadillo-dev depends on:
> ii  libarmadillo3  1:3.2.3+dfsg-1
>
> libarmadillo-dev recommends no packages.
>
> Versions of packages libarmadillo-dev suggests:
> pn  libitpp-dev  <none>
>
> -- no debconf information
>
>
>





More information about the debian-science-maintainers mailing list