Skip to content
@qnx-ports

qnx-ports

QNX Ports

This group contains repositories for open-source projects that have been ported to run on QNX. Most projects have minimal changes from their upstream origin; however, some projects may deviate more to make sure they work with some dependency or architectural difference in the QNX OS.

Working with QNX ports

To use a ported project in your own development, you can clone the port repo and build it yourself using your QNX software development environment. (If you are not yet set up for QNX development, get started for free in minutes at https://www.qnx.com/getqnx.) All of the projects here should be kept in a working state, meaning they build for the target QNX version(s), have available tests, and are operational when used.

While every open-source module has its own build process, the high-level steps remain relatively consistent. For instructions specific to a port, please look in that port's directory in the Build Files repo above for a README.md file.

Docker-based build environment

When you're trying to build multiple QNX projects (demo apps, QNX ports, and your own programs), it can be challenging to maintain a perfect development environment with all of the right dependencies available. This open-source Docker-based build environment aims to simplify building projects by helping you to create a clean and consistent build environment on your host.

The Dockerfile creates an Ubuntu container and pre-installs many common dependencies needed for project building. It also mounts your home directory into the container so folders such as your QNX license and SDP installation (~/.qnx and ~/qnx800 by default), plus any projects you are building, will be available to the build environment in the container. (If your QNX installation location is customized, you may wish to edit docker-create-container.sh to mount a more appropriate directory.)

Feel free to modify the Dockerfile and scripts for your own usage, and please consider contributing suggested changes or issues to this repo for the benefit of others in the community!

Docker build pre-requisites

Before starting:

  1. Install Docker: https://docs.docker.com/engine/install/ubuntu/
  2. If on Linux, make sure to complete the post-installation steps: https://docs.docker.com/engine/install/linux-postinstall/

Build examples

Build example for SDP 8.0 using Docker

These instructions demonstrate the process for building an open-source port, using a Docker-based build environment, to run on QNX 8.0. This example assumes a you wish to compile the mosquitto MQTT broker for use on QNX SDP 8.0:

  1. Create a workspace and clone the Build Files repo:
mkdir -p ~/qnx_workspace && cd ~/qnx_workspace
git clone https://github.com/qnx-ports/build-files.git && cd build-files/docker
  1. Use the included helper scripts to build and start a QNX build environment container with Docker:
./docker-build-qnx-image.sh
./docker-create-container.sh

Note: the Docker container sources qnxsdp-env.sh for you, so you do not need to run it again when building your projects.

  1. Clone the mosquitto port repository into your workspace:
cd ~/qnx_workspace
git clone https://github.com/qnx-ports/mosquitto.git
  1. Start the build:
BUILD_TESTING=ON QNX_PROJECT_ROOT="$(pwd)/mosquitto" make -C ./build-files/ports/mosquitto install -j$(nproc)
  1. When you are finished, exit the Docker container:
exit

Note: If you deactivate a Python virtual environment in the Docker container, the PATH variable may be reset causing the QNX paths to be not found. You can correct this by reactivating the QNX environment script: source ~/qnx800/qnxsdp-env.sh.

Build example for SDP 8.0 natively

These instructions demonstrate the process for building an open-source port, directly on an Ubuntu development host. This example assumes a you wish to compile the mosquitto MQTT broker for use on QNX SDP 8.0:

  1. Clone the mosquitto port repository into your workspace:
git clone https://github.com/qnx-ports/build-files.git
git clone https://github.com/qnx-ports/mosquitto.git
  1. Activate the QNX toolchain:
source ~/qnx800/qnxsdp-env.sh
  1. Start the build:
BUILD_TESTING=ON QNX_PROJECT_ROOT="$(pwd)/mosquitto" make -C ./build-files/ports/mosquitto install -j$(nproc)

Note: If you deactivate a Python virtual environment in the Docker container, the PATH variable may be reset causing the QNX paths to be not found. You can correct this by reactivating the QNX environment script: source ~/qnx800/qnxsdp-env.sh.

Get support

The community is ready to help with your questions and issues! For any questions, please feel free to:

  • Create an Issue or search existing Issues in the Issues section of a repo
  • Ask your question with QNX tag on Stack Overflow
  • Post to the community on Reddit at r/qnx

Pinned Loading

  1. build-files build-files Public

    QNX build files and instructions for ports

    Shell 6

Repositories

Showing 10 of 49 repositories
  • build-files Public

    QNX build files and instructions for ports

    qnx-ports/build-files’s past year of commit activity
    Shell 6 0 0 1 Updated Dec 23, 2024
  • METIS Public Forked from KarypisLab/METIS

    METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering

    qnx-ports/METIS’s past year of commit activity
    C 0 148 0 1 Updated Dec 20, 2024
  • grpc Public Forked from grpc/grpc

    The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

    qnx-ports/grpc’s past year of commit activity
    C++ 0 Apache-2.0 11,141 0 1 Updated Dec 20, 2024
  • gtsam Public Forked from borglab/gtsam

    GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.

    qnx-ports/gtsam’s past year of commit activity
    C++ 0 784 0 0 Updated Dec 20, 2024
  • gtk Public Forked from GNOME/gtk

    Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

    qnx-ports/gtk’s past year of commit activity
    C 0 391 0 0 Updated Dec 19, 2024
  • Fast-DDS Public Forked from eProsima/Fast-DDS

    The most complete DDS - Proven: Plenty of success cases. Looking for commercial support? Contact [email protected]

    qnx-ports/Fast-DDS’s past year of commit activity
    C++ 0 Apache-2.0 794 0 0 Updated Dec 19, 2024
  • boringssl Public Forked from google/boringssl

    Mirror of BoringSSL

    qnx-ports/boringssl’s past year of commit activity
    C++ 0 794 0 0 Updated Dec 17, 2024
  • pandas Public Forked from pandas-dev/pandas

    Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more

    qnx-ports/pandas’s past year of commit activity
    Python 0 BSD-3-Clause 18,322 0 0 Updated Dec 16, 2024
  • SuiteSparse Public Forked from DrTimothyAldenDavis/SuiteSparse

    The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University.

    qnx-ports/SuiteSparse’s past year of commit activity
    C 0 275 0 0 Updated Dec 13, 2024
  • OpenBLAS Public Forked from OpenMathLib/OpenBLAS

    OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

    qnx-ports/OpenBLAS’s past year of commit activity
    C 0 BSD-3-Clause 1,538 0 0 Updated Dec 13, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…