Who uses abi-compliance-checker?

Andrey Ponomarenko aponomarenko at rosalab.ru
Thu Jul 4 14:28:28 UTC 2013


Richard Shaw wrote:
> On Wed, Jul 3, 2013 at 9:40 PM, Mathieu Bridon 
> <bochecha at fedoraproject.org <mailto:bochecha at fedoraproject.org>> wrote:
>
>     On Wed, 2013-07-03 at 15:03 -0500, Richard Shaw wrote:
>     > If anyone is curious about it, I don't mind typing up the
>     process I go
>     > through to make the checks. I think I've found a pretty good
>     path of least
>     > resistance method :)
>
>     I've never used it, but I'd certainly be interested in reading that if
>     you ever write it up. :)
>
>
> I use a directory, abicompare in the home of my build user followed by 
> the library name then a version folder, i.e.:
>
> ~/abicompare/OpenImageIO/1.0.11
> and
> ~/abicompare/OpenImageIO/1.0.13
>
> Then I use a little scripe I wrote[1] to unpack the main library and 
> devel rpms into the version directory of each library because I can 
> never remember how to do it manually:
>
> # cd ~/abicompare/OpenImageIO/1.0.11
> # rpmunpack /path/to/rpms
> (repeat for second version)
>
> # abi-compliance-cheker -l OpenImageIO -dump 1.0.11/
> (repeat for second version, the version as a directory works nicely 
> because it will assume that's the version of the library so no need to 
> specify the version manually)
>
> # abi-compliance-checker -l OpenImageIO -old /path/to/abidump-1.0.11 
> -new /path/to/abidump-1.0.13
>
> Works like a charm as long as there's not any bad headers (like 
> windows only headers) installed. If that happens I usually just have 
> to rm the offending headers till I get a good dump.
>
> Audrey,
>
> How would this process change using abi-dump instead?

The ABI dump should be created in the different way. Use "abi-dumper 
1.0.11/usr/lib/libopenImageio.so -o /path/to/abidump-1.0.11 -lver 
1.0.11" command instead of "abi-compliance-cheker -l OpenImageIO -dump 
1.0.11/" to create the ABI dump. Note that the library should be 
compiled with debug info, so you should extract and compare appropriate 
debug-info rpm packages instead of release ones. Otherwise the tool will 
report "can't find debug info in object(s)".

All of these steps are automated in the pkgdiff 1.6. Just compare 
debug-info rpm packages by this tool: pkgdiff --details 
libA-v1-debuginfo.rpm libA-v2-debuginfo.rpm, and see the output html report.

-- 
Andrey Ponomarenko, ROSA Lab.



More information about the devel mailing list