[Debian-med-packaging] Bug#853375: C++ help needed (Was: Bug#853375: disulfinder: ftbfs with GCC-7)
James Cowgill
jcowgill at debian.org
Sat Aug 26 20:49:43 UTC 2017
Hi,
On 26/08/17 21:08, Andreas Tille wrote:
> Hi,
>
> I moved disulfinder to Git[1] and tried to track down this issue with my
> limited C++ knowledge but failed. The issue is
>
> ...
> make[3]: Entering directory '/build/disulfinder-1.2.11/disulfind/src'
> g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/disulfinder-1.2.11=. -fstack-protector-strong -Wformat -Werror=format-security -DDEFAULT_PKGDATADIR=\"/usr/share/disulfind
> In file included from Input/utils.h:1:0,
> from Input/GlobalDescriptor.cpp:3:
> Input/../Common/Matrix.h: In constructor 'Matrix<DATATYPE>::Matrix(int, int, DATATYPE*)':
> Input/../Common/Matrix.h:208:3: error: 'Exception' has not been declared
> Exception::Assert(nrows>0 && ncols>0,"construction of empty matrix");
> ^~~~~~~~~
The problem is the include guard in Exception.h.
Common/Exception.h:
#define __EXCEPTION_H
By luck, this happens to collide with the include guard used by gcc-7's
exception.h header which is pulled in by some standard library includes.
/usr/include/c++/7/bits/exception.h:
#define __EXCEPTION_H 1
This means that nothing from Exception.h ever gets defined if
exception.h gets included first. disulfind is wrong here because the C++
standard explicitly states that all identifiers beginning with two
underscores are reserved.
Thanks,
James
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20170826/85f3e120/attachment.sig>
More information about the Debian-med-packaging
mailing list