[Not a bug]STOP STOP ans STOP ABI breaking

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
broucaries
Posts: 467
Joined: 2008-12-21T11:51:10-07:00

[Not a bug]STOP STOP ans STOP ABI breaking

Post by broucaries »

For the hell could you stop to break ABI

And use the tool I mentionned previously see http://upstream-tracker.org/versions/imagemagick.html

You break ABI between 6.7.4.0 and 6.7.4.2 see http://upstream-tracker.org/compat_repo ... k_Problems

Could you revert the kernInfo struct change please ?

You could keep it for 7.0 but please stop breaking ABI between minor version.

I am trying to package 6.7.4.0 for debian and I my stuck because my release team is not willing to recompile reverse depend. They think at your rate it is surely better for your distrib to remove imagemagick. And therefore I am waiting since 20 days a full recompile. And because you break ABI, I need to do the same thing for the next version.

So please be more strict about ABI.

Bastien
Last edited by broucaries on 2012-01-19T06:08:03-07:00, edited 1 time in total.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: STOP STOP ans STOP ABI breaking

Post by magick »

MagickRealType is defined as
  • typedef double MagickRealType;
Note, also, KernelInfo is an opaque structure. API users do not operate on it directly. Instead they use AcquireKernelInfo() to create it.
Therefore we see no ABI breakage. If you anticipate a case where it does break the ABI, let us know and we will revert our patch.
broucaries
Posts: 467
Joined: 2008-12-21T11:51:10-07:00

Re: STOP STOP ans STOP ABI breaking

Post by broucaries »

Ok if it is an internal structure. Will file bug to every user that use it. Could be possible to protect this type from a API point of view for 7.0 version ?

Bastien
broucaries
Posts: 467
Joined: 2008-12-21T11:51:10-07:00

Re: [Not a bug]STOP STOP ans STOP ABI breaking

Post by broucaries »

Notice that typedef double MagickRealType; is not sufficient in certain case particularly if you export this symbols to C++ ABi it will give you different mangling.

In this case because it is internal and structure member it is safe but only because the two conditions are met.

Bastien
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: [Not a bug]STOP STOP ans STOP ABI breaking

Post by magick »

We've incorporated a number of your suggestions into the ImageMagick V7 distribution. For example, we're using visibility as you suggested (public and private methods). In addition, we are moving many structures out of the public headers and using getters / setters instead to avoid ABI breakage in 7.0 when its released (in a year or two). In case we have forgotten to thank you-- thanks. ImageMagick is much improved based on your many suggestions.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: [Not a bug]STOP STOP ans STOP ABI breaking

Post by magick »

Most folks use Magick++ when coding with C++ and C with the MagickCore library and given its an opaque structure the risk of problems is so very small-- however, we'll go ahead and revert and release ImageMagick 6.7.4-8 with the patch by this weekend. Thanks.
Post Reply