abi-compliance-checker icon indicating copy to clipboard operation
abi-compliance-checker copied to clipboard

Unsure about "Headers have been compiled with minor errors." (exit code 6)

Open hartwork opened this issue 6 years ago • 3 comments

Hi!

I get exit code 6 ("Headers have been compiled with minor errors.") without having any idea why, got code 0 with slightly different code until recently (with slightly different input). The full log is at https://travis-ci.org/cpptest/cpptest/builds/475375563 , it's the version of abi-compliance-checker from Ubuntu xenial. It would be great to understand what's really going on, how safe or unsafe it is to ignore that error as a flavor of compatibility, what I can do to fix it etc. Are there any more docs about it that I failed to find?

Thanks and best, Sebastian

hartwork avatar Jan 04 '19 16:01 hartwork

The tool dumps header compilation errors to the logs sub-directory of the current execution directory.

To avoid compilation of header files please use a new approach with the help of the https://github.com/lvc/abi-tracker tool.

I've just added cpptest to the upstream tracker for automated analysis by latest upstream versions of tools: https://abi-laboratory.pro/?view=timeline&l=cpptest

cpptest-1

lvc avatar Jan 10 '19 06:01 lvc

The tool dumps header compilation errors to the logs sub-directory of the current execution directory.

I see!

That point led me to this error (full log at https://travis-ci.org/cpptest/cpptest/builds/481159334):

The GCC parameters:
  gcc -fdump-translation-unit -fkeep-inline-functions -c -x c++-header -fpermissive -w "/tmp/Dj6xt2Id2Y/dump1.h"  -I/home/travis/build/cpptest/cpptest/cpptest-1.1.2-19-gd12a088-git/cpptest/win -I/home/travis/build/cpptest/cpptest/cpptest-1.1.2-19-gd12a088-git/cpptest/config
In file included from /home/travis/build/cpptest/cpptest/cpptest-1.1.2-19-gd12a088-git/cpptest/src/cpptest.h:34:0,
                 from /tmp/Dj6xt2Id2Y/dump1.h:7:
/home/travis/build/cpptest/cpptest/cpptest-1.1.2-19-gd12a088-git/cpptest/src/cpptest-suite.h:58:17: error: ‘std::unique_ptr’ has not been declared
   void add(std::unique_ptr<Suite> suite);
                 ^
/home/travis/build/cpptest/cpptest/cpptest-1.1.2-19-gd12a088-git/cpptest/src/cpptest-suite.h:58:27: error: expected ‘,’ or ‘...’ before ‘<’ token
   void add(std::unique_ptr<Suite> suite);
                           ^

There is #include <memory> in cpptest-suite.h, already. Any ideas how to avoid that error? Do I need to pass -std=c++11 some way or so?

To avoid compilation of header files please use a new approach with the help of the https://github.com/lvc/abi-tracker tool.

From a quick look, that looks like hours to get it all running. Is there a sample Travis integration somewhere to speed things up?

I've just added cpptest to the upstream tracker for automated analysis by latest upstream versions of tools: https://abi-laboratory.pro/?view=timeline&l=cpptest

Nice! Also noticed you have Expat and uriparser in there, cool!

hartwork avatar Jan 18 '19 01:01 hartwork

PS: I notice gcc rather than g++ in that command line only now. Is that part of the problem?

hartwork avatar Jan 18 '19 17:01 hartwork