Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fail build for QNX 6.5.0SP1 #889

Closed
dimm84 opened this issue Apr 19, 2017 · 1 comment
Closed

Fail build for QNX 6.5.0SP1 #889

dimm84 opened this issue Apr 19, 2017 · 1 comment

Comments

@dimm84
Copy link

dimm84 commented Apr 19, 2017

Description

Build the tests for QNX 6.5.0SP1 fails

Steps to reproduce

  • use catch version 1.7+

Version 1.6.1 works fine.

Extra information

Build the tests for QNX 6.5.0SP1 fails with message:

.../internal/catch_fatal_condition.hpp:139: error: 'SIGSTKSZ' was not declared in this scope
.../internal/catch_fatal_condition.hpp: In constructor 'Catch::FatalConditionHandler::FatalConditionHandler()':
.../internal/catch_fatal_condition.hpp:158: error: 'altStackMem' was not declared in this scope
.../internal/catch_fatal_condition.hpp:159: error: 'SIGSTKSZ' was not declared in this scope
.../internal/catch_fatal_condition.hpp:161: error: 'sigaltstack' was not declared in this scope
.../internal/catch_fatal_condition.hpp:165: error: 'SA_ONSTACK' was not declared in this scope
.../internal/catch_fatal_condition.hpp: In static member function 'static void Catch::FatalConditionHandler::reset()':
.../internal/catch_fatal_condition.hpp:182: error: 'sigaltstack' was not declared in this scope
.../internal/catch_fatal_condition.hpp: At global scope:
.../internal/catch_fatal_condition.hpp:191: error: 'SIGSTKSZ' was not declared in this scope

catch_fatal_condition.hpp:139 Assumes that the constant SIGSTKSZ is defined in the file signal.h, but SIGSTKSZ not declared there. Same error we see with sigaltstack and SA_ONSTACK.

  • Catch version: v1.7.0-1.9.1
  • Operating System: QNX 6.5.0SP1
  • Compiler+version: GCC-5.1
@horenmar
Copy link
Member

horenmar commented Apr 19, 2017

The error is caused by the fact that your specific C lib does not conform to current POSIX specification.

Short term fix, define CATCH_CONFIG_NO_POSIX_SIGNALS in at least the implementation file (the one where you define CATCH_CONFIG_MAIN or CATCH_CONFIG_RUNNER). Long term, I will end up disabling it for QNX by default as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants