T3689: Add abi compliance checker to CI

Sandro Knauß noreply at phabricator.kde.org
Mon Feb 4 18:45:13 GMT 2019


knauss added a comment.


  I'm not a expert in abi-complience-checker, so we need to find out together...
  
  In T3689#175022 <https://phabricator.kde.org/T3689#175022>, @danders wrote:
  
  >
  
  
  The ABI error started with build 4:
  https://build.kde.org/job/Calligra/job/kdiagram/job/kf5-qt5%20SUSEQt5.10/4/
  
  but yes I can't see why the symbols are changed. Maybe the Qt version was switched in between. But from the error type it sounds like, that acc do not get the needed information of the underlying structure of QSet/QPair and can't garantee that this structure will be the same in future.
  
  > Afaics these lines have not been changed since last release.
  
  Well we don't have a released version with ABI, so we just check them against a470d77be5a33529a95eb89243ddfaef6ee27ee7 <https://phabricator.kde.org/R478:a470d77be5a33529a95eb89243ddfaef6ee27ee7>. This will change if the next version is released.
  
  > Also it does not complain about similar use in calligra (although not *exactly* the same, calligra uses other datatypes)
  
  
  
  > Can anybody shed any light on this?
  
  well you can dig more into it by getting the abi dumps:
  https://build-artifacts.kde.org/production/ABIReference/
  
  after you downloaded two of the dumps you can check them again locally:
  
    abi-compliance-checker -l KGrantt --old <old.dump> --new <new.dump>
  
  than you can look to all outputs yourself.
  
  The abidumps look different:
  
  for a470d77be5a33529a95eb89243ddfaef6ee27ee7 <https://phabricator.kde.org/R478:a470d77be5a33529a95eb89243ddfaef6ee27ee7>:
  
    '90987' => {
                 'Algn' => 1,
                 'Header' => 'qpair.h',
                 'Line' => '49',
                 'Memb' => {
                             '0' => {
                                      'algn' => 1,
                                      'name' => 'first',
                                      'type' => '11416'
                                    },
                             '1' => {
                                      'algn' => 1,
                                      'name' => 'second',
                                      'type' => '11416'
                                    }
                           },
                 'Name' => 'QPair<struct QDateTime, struct QDateTime>',
                 'TParam' => {
                               '0' => {
                                        'name' => 'struct QDateTime'
                                      },
                               '1' => {
                                        'name' => 'struct QDateTime'
                                      }
                             },
                 'Type' => 'Struct'
               },
  
  and for f7f9ca1a7a8bfd550022ca4aafe3bb2985a1bee4 <https://phabricator.kde.org/R478:f7f9ca1a7a8bfd550022ca4aafe3bb2985a1bee4>
  
    '90223' => {
                 'Algn' => 1,
                 'Header' => 'qpair.h',
                 'Line' => '49',
                 'Name' => 'QPair<struct QDateTime, struct QDateTime>',
                 'TParam' => {
                               '0' => {
                                        'name' => 'struct QDateTime'
                                      },
                               '1' => {
                                        'name' => 'struct QDateTime'
                                      }
                             },
                 'Type' => 'Struct'
               },
  
  so yeah somehow it does not get as much information out of qpair.h as before.

TASK DETAIL
  https://phabricator.kde.org/T3689

To: knauss
Cc: danders, davidedmundson, dfaure, kde-frameworks-devel, bcooksley, sysadmin, scarlettclark, aacid, knauss, alexeymin, kaning, blazquez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190204/da7790da/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list