backward/forward binary compatibility checker

Thiago Macieira thiago at kde.org
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
>http://ispras.linux-foundation.org/index.php/ABI_compliance_checker

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 abi-compliance-checker.pl -d; it took me 
quite a while, reading the code, to find out it had created a file called 
descriptor.txt
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/abi-compliance-checker.pl -l Qt 
-d1 qt4.6 -d2 ../qt-4.5/qt4.5
preparation...
checked headers: 0/1939 (0%) mv: cannot stat `Qt1.h*.tu': No such file or 
directory
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 
http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++

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

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    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: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20090729/0f53b8b3/attachment.sig>


More information about the kde-core-devel mailing list