Skip to content

Conversation

dchordia
Copy link

@dchordia dchordia commented Sep 3, 2025

Issue #, and/or reason for changes (REQUIRED):
This contribution adds cross-compilation support for QNX operating system to aws-c-common.

Motivation
QNX is an industry standard real-time operating system for embedded systems, particularly for vehicles, featuring safety focused features. It has also recently been made free for non-commercial use through the QNX Everywhere program, aiming for students, researchers and hobbyists to experiment with the OS.

Given that aws-c-common is a core package supporting multiple AWS dependencies, it would be great to enable aws-c-common to run natively on free version of QNX OS.

Description of changes:

  • Remove pthread from PLATFORM_LIBS since QNX does not have explicit pthread library but rather included in QNX libc
  • Add conditionals for unsupported compile definitions
  • Add INSTALL_INTERFACE path customization for QNX

How to build for QNX
The build-files and instructions for cross compiling aws-c-common for QNX are present at qnx-ports. A free QNX8 license can be obtained here.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Fix INTERFACE include path

remove debug statement

remove space
@dchordia dchordia changed the title Main Add QNX cross-compilation support Sep 3, 2025
@sfod
Copy link
Contributor

sfod commented Sep 5, 2025

Thanks for your contribution, we appreciate it. However, we're hesitant to accept this PR with no QNX testing infrastructure.
Our previous experiments with QNX showed that beyond configuration/build issues, there are also runtime problems (e.g. caused by POSIX implementation differences between QNX and the currently supported platforms).
Unfortunately, successful compilation alone isn't sufficient for reliable QNX support.

P.S. If you could share your use-case in the issues, that'd be great. We could use it for prioritizing our future work. Thanks again!

@dchordia dchordia mentioned this pull request Sep 5, 2025
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants