[Debian-med-packaging] Bug#984243: Help: mothur: ftbfs with GCC-11

Steffen Möller steffen_moeller at gmx.de
Thu Oct 21 20:00:01 BST 2021


On 21.10.21 20:21, Étienne Mollier wrote:
> Hi Andreas,
>
> Andreas Tille, on 2021-10-21:
>> In file included from addtargets2.cpp:3:
>> myutils.h:176:1: error: reference to 'byte' is ambiguous
> Since C++ 2017, the std::byte type is defined:
>
>>    176 | byte *ReadAllStdioFile(FILE *f, off_t &FileSize);
>>        | ^~~~
>> In file included from /usr/include/c++/11/bits/stl_algobase.h:61,
>>                   from /usr/include/c++/11/bits/char_traits.h:39,
>>                   from /usr/include/c++/11/string:40,
>>                   from myutils.h:8,
>>                   from addtargets2.cpp:3:
>> /usr/include/c++/11/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte'
> The redefinition below thus gives indeterminations, as the code
> is running in namespace "std":
>
>> In file included from addtargets2.cpp:3:
>> myutils.h:42:23: note:                 'typedef unsigned char byte'
>>     42 | typedef unsigned char byte;
>>        |                       ^~~~
>> myutils.h:177:1: error: reference to 'byte' is ambiguous
> The option which seems the most viable would be to replace all
> occurrences of the "byte" type by something that does not clash
> with the new standard library, maybe "byte8" to be somewhat
> consistent with upstream naming conventions.
>
>
> In hope this helps,
>
> Have a nice evening,  :)

My C++ skills are a bit rosty but would removing the typedef for byte
solve the problem?

Best,
Steffen



More information about the Debian-med-packaging mailing list