Hi,
You commited a new big abi mistake and subtle this time.
Changing enum value!
See http://linuxtesting.org/upstream-tracke ... k_Problems
Could you please revert this kind of change please ? Or it is a bug fix ?
I will stress a new one that you should use http://ispras.linux-foundation.org/inde ... ce_checker
You said in the front page that "The ImageMagick development process ensures a stable API and ABI. Before each ImageMagick release, we perform a comprehensive security assessment that includes memory and thread error detection to prevent security vulnerabilities."
Unfortunatly it is not the case! Even between minor version
Please improve your workflow
Bastien
[fixed] ABI brown paper bag time ?
-
- Posts: 467
- Joined: 2008-12-21T11:51:10-07:00
[fixed] ABI brown paper bag time ?
Last edited by broucaries on 2011-10-12T05:16:03-07:00, edited 1 time in total.
Re: ABI brown paper bag time ?
Anthony, can you explain the change in the enum values in distort.h? Is it possible to revert?
We'll start using the ABI compliance checker. We only recently heard of it.
We'll start using the ABI compliance checker. We only recently heard of it.
- anthony
- Posts: 8883
- Joined: 2004-05-31T19:27:03-07:00
- Authentication code: 8675308
- Location: Brisbane, Australia
Re: ABI brown paper bag time ?
The enum values in distort.h is tricky as Distort and Sparse Colors methods actually have some values 'shared' between the two enums. This is needed so the two functions can call common polynomial matrix solving functions, distort for a x,y coordinate function, and sparse color for a r,g,b or how even many channels are being drawn.
If they did not do this then the common code can not be shared, or you need some mapping function (other than a simple type cast) to map the 'method' for the call.
NOTE that not all the methods are shared, and some do not even really require the common code at all.
It is also likely to become more complicated in that the structure being passed may become polymorphic. that is real structures (such as for triangular/grid meshes) may be needed, containing multiple distortion/sparse color functions for different areas of the image. Currently only a simple 'array of floats' (coefficients) is being used to hold a single 'solved' function to be applied across the whole image is returned.
If they did not do this then the common code can not be shared, or you need some mapping function (other than a simple type cast) to map the 'method' for the call.
NOTE that not all the methods are shared, and some do not even really require the common code at all.
It is also likely to become more complicated in that the structure being passed may become polymorphic. that is real structures (such as for triangular/grid meshes) may be needed, containing multiple distortion/sparse color functions for different areas of the image. Currently only a simple 'array of floats' (coefficients) is being used to hold a single 'solved' function to be applied across the whole image is returned.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
https://imagemagick.org/Usage/
-
- Posts: 467
- Joined: 2008-12-21T11:51:10-07:00
Re: ABI brown paper bag time ?
I do not care about simplication of code and all when I need one or two week of transition due to abi breakage.
Could you also consider to version your lib at least under elf supported target ? see this http://www.netfort.gr.jp/~dancer/column ... versioning
It will help to create compatibilty layer when you break abi and avoid to recompile all the depends when you made mistake like now
Bastien
Could you also consider to version your lib at least under elf supported target ? see this http://www.netfort.gr.jp/~dancer/column ... versioning
It will help to create compatibilty layer when you break abi and avoid to recompile all the depends when you made mistake like now
Bastien
- anthony
- Posts: 8883
- Joined: 2004-05-31T19:27:03-07:00
- Authentication code: 8675308
- Location: Brisbane, Australia
Re: ABI brown paper bag time ?
We could set the enum starting value for the sparse colors that is not shared at some higher but fixed starting point, that will prevent the enums changing expectantly when a new distort method is added. And I will be more careful of enum preservation in the future.
However what version of IM are you upgrading from, and to, that caused the enumeration problem?
It was some time ago that the last new distortion addition was added, (cylindrical). Before that it was a distort resize.
However what version of IM are you upgrading from, and to, that caused the enumeration problem?
It was some time ago that the last new distortion addition was added, (cylindrical). Before that it was a distort resize.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
https://imagemagick.org/Usage/