Re: mongodb70 fails on 14? advice?

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 15 May 2023 14:44:10 UTC
On 15 May 2023, at 14:17, Ronald Klop <ronald-lists@klop.ws> wrote:
> 
> My port compiles fine on FreeBSD 12 and 13 but fails on 14.
> 
> http://beefy18.nyi.freebsd.org/data/main-amd64-default/p93c4b3fbc498_sd489b2a39d/logs/errors/mongodb70-7.0.0.r0_1.log In file included from build/opt/mongo/s/mongos_server_parameters_gen.cpp:9:
> In file included from build/opt/mongo/s/mongos_server_parameters_gen.h:9:
> In file included from /usr/include/c++/v1/algorithm:1716:
> In file included from /usr/include/c++/v1/__algorithm/adjacent_find.h:13:
> /usr/include/c++/v1/__algorithm/comp.h:36:71: error: invalid operands to binary expression ('const mongo::SSLX509Name::Entry' and 'const mongo::SSLX509Name::Entry')
> bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}
> ~~~ ^ ~~~
> 
> 
> I tried older llvm versions but that does not help. So I get the idea it has something to do with the c++ libraries in 14.0.
> Is this a known issue?
> Any advice or suggestion on how to resolve this? Or should this go to upstream mongodb?

Looks like mongo::SSLX509Name::Entry does not implement a comparison operator? Since it is comparing vectors of such objects, the objects themselves need an operator==().  I fail to see how that could work on 12 and 13, though. Are you compiling it with gcc there?

-Dimitry