Closed FriedrichFroebel closed 2 years ago
With version 1.7.0, VIGRA changed the meaning from angles from counter-clockwise to clockwise, which was an incompatible change that might break end user applications. Before switsching to a newer version of VIGRA, we must thus first find all instances where angles are passed to VIGRA and invert their signs. Or we just ignore this and let and users scratch their heads.
I have to admit that I am neither familiar with Gamera nor VIGRA in enough detail to comment on which approach should be preferred here. In general I prefer not to bundle external sources wherever possible, as these usually are out-of-date.
Judging from your description, the easiest approach would be to perform the replacements from the upstream PR in our bundled copy? With this we avoid the hassle of dealing with the incompatible angle behaviour for now, leaving this for a possible upgrade later on.
Yes, merging these changes into the copy of VIGRA 1.6 and documenting this in a README of the bundled copy would be an option. OTOH, if it's only a wraning and no error, I do nt think that it is worth the trouble.
The reason for bundling some libraries with Gamera is to make it easier to compile on non-Linux platforms.
Fixing these warnings actually turned out to be rather straightforward, as this affects less than 10 lines. I will send a PR for this as soon as I have isolated the corresponding changes from my latest tests.
Building the package on Ubuntu 20.04 with GCC 9.30 reports some warnings for the included vigra library like the following ones:
If I understand correctly, this should be fixed in the upstream version of vigra: https://github.com/ukoethe/vigra/pull/500.
According to https://github.com/hsnr-gamera/gamera-4/blob/master/include/vigra/README gamera-4 bundles a copy of vigra. We might want to update the whole copy as well or use a submodule-based approach if possible.