Hi Jochen,

On 23/12/17 18:11, Jochen Sprickerhof wrote:
> Hi Julien,
> 
> * Julien Cristau <jcris...@debian.org> [2017-12-02 19:46]:
>> I don't think the release team is willing to routinely do this without
>> understanding why we're doing it, so an explanation for why these would
>> be necessary is welcome.
> 
> I gave some insides in this same bug in https://bugs.debian.org/868355#15.
> Can you be more specific if you need more information?

I still don't quite understand what the exact problem is. You talk about the
"one definition rule", but my question is, why does that matter? If your project
uses Eigen but doesn't export any Eigen symbols on its API/ABI, then it doesn't
matter if a newer version of Eigen changes definitions, structs, or anything
else. A third project using both Eigen and your project wouldn't be affected by
the different Eigen version than your project was built with, because your
project doesn't expose Eigen at all.

Now, it'd be a different case if your project exposed part of the Eigen ABI, and
given there's no shared library, there can't be a SONAME bump so the only way to
ensure there are no ABI mismatches is to ensure all projects are built with the
same Eigen version.

It's possible that I'm rather confused about how Eigen works, and that these
strict build dependency checks are needed for a different reason. I am not
familiar with Eigen, so that's why I need you to explain me why we need these
checks. If they are needed for a good reason, I am OK with that and will be
happy to schedule the binNMUs whenever they are needed. But if not, I'd like to
avoid us doing unnecessary binNMUs.

For reference, other projects have had strict version checks on the compiler.
Those are generally not needed, and we've been able to disable those checks and
talk to upstream about it.

BTW I was going to schedule this binNMU for the time being in order to have a
working ceres-solver, but it seems there was an upload since this request was
opened. Do you need a binNMU now? If so I'll schedule it. Otherwise let's
continue this conversation to clarify whether these binNMUs are required or they
could be prevented.

Cheers,
Emilio

Reply via email to