backward/forward binary compatibility checker

Thiago Macieira thiago at
Wed Jul 29 08:31:36 BST 2009

Andrey Ponomarenko wrote:
>    Colleagues, I'm a lead developer from Institute for System
>Programing of Russian Academy of Sciences and we are developing a free
>lightweight tool for checking backward/forward binary compatibility of
>shared C/C++ libraries in OS Linux. It checks interface signatures and
>data type definitions in two library versions (headers and shared
>objects) and searches differences that may lead to incompatibility
>according to ABI standards. We have released beta version of this tool
>and we'd like you to consider its usefulness for your project.
>    The package with the latest version of tool is in the attachment.
>The wiki-page of binary compatibility checker is

Hello Andrey

I've tried the tool. Here are some initial reactions:

1) please align your XML-like structure properly. It looks sloppy.
2) the descriptor template is missing a / in the last section.
3) please add some output to -d; it took me 
quite a while, reading the code, to find out it had created a file called 
4) I made a typo in the gcc_options section and, when I ran the tool, I 
got this:

$ /tmp/abi-compliance-checker-1.0.0-beta2/ -l Qt 
-d1 qt4.6 -d2 ../qt-4.5/qt4.5
checked headers: 0/1939 (0%) mv: cannot stat `Qt1.h*.tu': No such file or 
ERROR: can't create gcc dump

After reading the source code, I found out about the header_compile_errors 
subdir, where there was a message from gcc saying "gcc: unknown option -
fvisibility-inline-hidden". But the tool didn't help me. It was just a 
cryptic error message.

5) in your wiki, you have KDE TechBase, “Policies/Binary Compatibility 
Issues With C++” as a reference, but the link points to the old document. 
Please update it to

I've now got the tool to run. I'll let you know what the results are.

  Thiago Macieira  -  thiago (AT) - thiago (AT)
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the kde-core-devel mailing list