Re: nlohmann-json3-dev need to be reverted to trixie version
Hello Timo,
>If the namespace name is the only relevant thing that changed, this will
>work and is (IMHO) a quite elegant solution to the current dilemma.
>However, if there is genuine ABI breakage, it will just paper over the
>issue and cause bugs downstream, so we need to check that first.
I think I already checked that long time ago, I don't see breakages, but other experts might
want to have another look please
>There is a spectrum with the current solution (each release is an
>implicit ABI bump) at the one end and this proposal (no ABI versioning
>at all) at the other.
>
>Personally, I would prefer the middle ground with a namespace tag that
>has an independent ABI version that gets bumped like a SONAME, because
>you can never have two different versions of nlohmann-json interfering
>in the same binary (for example, because two libraries happen to use
>them internally and do not hide their private symbols properly).
>
>In practise, it will most likely not be an issue unless the Release Team
>forgets to BinNMU a library that uses nlohmann-json as private
>dependency (becauses vendored copies in third party libraries will
>probably keep the default namespace versioning). So proper versioning
>for nlohmann-json is not the hill I'm going to die defending. ;)
Question, isn't this covered by
#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK
#if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH)
#if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0
#warning "Already included a different version of the library!"
#endif
#endif
#endif
#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum)
#define NLOHMANN_JSON_VERSION_MINOR 12 // NOLINT(modernize-macro-to-enum)
#define NLOHMANN_JSON_VERSION_PATCH 0 // NOLINT(modernize-macro-to-enum)
code?
G.
Reply to: