Index of /QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/
| Name | Last Modified | Size | Type |
| ../ | | - | Directory |
| All/ | 2026-Apr-10 08:52:07 | - | Directory |
| FIXES/ | 2026-Mar-26 22:01:34 | - | Directory |
| PATCHES/ | 2026-Mar-22 10:35:19 | - | Directory |
| QNX-PS/ | 2026-Mar-27 09:16:26 | - | Directory |
| NOTES.txt | 2026-Apr-04 18:53:37 | 1.4K | text/plain; charset=utf-8 |
| README.txt | 2026-Apr-02 18:11:51 | 7.8K | text/plain; charset=utf-8 |
| pkg.tgz | 2026-Mar-22 12:53:50 | 2.8M | application/x-gtar-compressed |
_____ _ _ __ __ ___ _
| _ | \ | |\ \ / / / _ \ | |
| | | | \| | \ V / / /_\ \_ __ _ ___ _____| |__ _ __ ___
| | | | . ` | / \ | _ | '_ \| | | \ \ /\ / / _ \ '_ \| '__/ _ \
\ \/' / |\ |/ /^\ \ | | | | | | | |_| |\ V V / __/ | | | | | __/
\_/\_\_| \_/\/ \/ \_| |_/_| |_|\__, | \_/\_/ \___|_| |_|_| \___|
__/ |
|___/
QNX 8.0.3 aarch64
========================================================================
## Porting pkgsrc-current to QNX8 8.0.0 Raspberry Pi4 Developer Desktop
1.1)
## get pkgsrc-current
[root@qnxpi /data]# curl https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz -o pkgsrc.tar.gz
[root@qnxpi /data]# tar -zxvf pkgsrc.tar.gz
[root@qnxpi /data]# rm pkgsrc.tar.gz
[root@qnxpi /data]# cd pkgsrc
## I have created a bootstrap binary tgz archive if you want to test it otherwise build it from source - see secton 1.2)
## Just download to /data and extract it
## Make sure you have pkgsrc downloaded and extracted in /data
[root@qnxpi /data]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/pkg.tgz -o pkg.tgz
[root@qnxpi /data]# tar -zxvf pkg.tgz
[root@qnxpi /data]# rm -f pkg.tgz
## Make sure you build/install a regular patch source (see below)
## Make sure you have a symlink in /data/pkg/bin/curl pointing to real /usr/bin/curl
## You can now use pkgsrc bmake /data/pkg/bin/bmake on pkgsrc
1.2)
## If wou wish to compile from sources and bootstrap yourself (takes about 1 hours on RPi4)
## Create a working directory to hold our custom patches
[root@qnxpi /data/pkgsrc]# mkdir PATCHES
[root@qnxpi /data/pkgsrc]# cd PATCHES
[root@qnxpi /data/pkgsrc/PATCHES]#
## Download patches
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/PATCHES/config.guess -o config.guess
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/PATCHES/config.sub -o config.sub
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/PATCHES/archive_read_disk_entry_from_file.c -o archive_read_disk_entry_from_file.c
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/PATCHES/archive_read_disk_posix.c -o archive_read_disk_posix.c
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/PATCHES/archive_write_disk_posix.c -o archive_write_disk_posix.c
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://astr0baby.online/QNX/8.0-DEVELOPER_DESKTOP/RPi4_aarch64/pkgsrc/PATCHES/curl-8.19.0.tar -o curl-8.19.0.tar
## Copy patched config.sub and config.gues to all pkgsrc dirs where config.sub is static
[root@qnxpi /data/pkgsrc/PATCHES]# cd /data/pkgsrc
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./archivers/libarchive/files/build/autoconf/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./archivers/pax/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./mk/gnu-config/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./net/fetch/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./pkgtools/compat_headers/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./pkgtools/digest/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./pkgtools/libnbcompat/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./pkgtools/mtree/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./pkgtools/pkg_install/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./pkgtools/rcorder/files/
[root@qnxpi /data/pkgsrc]# cp PATCHES/config.* ./textproc/nbsed/files/
## QNX does not have LCHMOD LCHOWN functions in libarchive
## Copy over the patched files
[root@qnxpi /data/pkgsrc/PATCHES]# cp archive_read_disk_entry_from_file.c /data/pkgsrc/archivers/libarchive/files/libarchive/
[root@qnxpi /data/pkgsrc/PATCHES]# cp archive_read_disk_posix.c /data/pkgsrc/archivers/libarchive/files/libarchive/
[root@qnxpi /data/pkgsrc/PATCHES]# cp archive_write_disk_posix.c /data/pkgsrc/archivers/libarchive/files/libarchive/
## Finally bootstrap pkgsrc on QNX 8
[root@qnxpi /data/pkgsrc/PATCHES]# cd /data/pkgsrc/bootstrap
[root@qnxpi /data/pkgsrc/bootstrap]# ./bootstrap --prefix=/data/pkg --compiler clang --make-jobs=4
## QNX8 rpi4 does not have ftp so we need to change the fetch command to native curl
## there is something broken with setting it up normally so we need to do a little hack
## create a dummy curl package in /data/pkg/pkgd/curl-8.19.0
[root@qnxpi /data/pkgsrc/bootstrap]# cd /data/pkgsrc/PATCHES/
[root@qnxpi /data/pkgsrc/PATCHES]# mv curl-8.19.0.tar /data/pkg/pkgdb/
[root@qnxpi /data/pkgsrc/PATCHES]# cd /data/pkg/pkgdb
[root@qnxpi /data/pkg/pkgdb]# tar -xvf curl-8.19.0.tar
[root@qnxpi /data/pkg/pkgdb]# rm -f curl-8.19.0.tar
## next symlink /usr/bin/curl /data/pkg/bin/curl
[root@qnxpi /data/pkg/pkgdb]# ln -s /usr/bin/curl /data/pkg/bin/curl
## Set following in /data/pkg/etc/mk.conf
[root@qnxpi /data/pkg/pkgdb]# cd /data/pkg/etc/
[root@qnxpi /data/pkg/etc]# vi mk.conf
FETCH_USING= curl
FETCH_CMD.curl= /usr/bin/curl
## We also need a GNU patch - as the native one gets stuck during
## pkgsrc patching procedure
[root@qnxpi /data/LOCAL/patch-2.8]# /usr/bin/patch --version
toybox 0.8.11
[root@qnxpi /data/LOCAL/patch-2.8]# /usr/local/bin/patch --version
GNU patch 2.8
Copyright 1989-2025 Free Software Foundation, Inc.
Copyright 1984-1988 Larry Wall
## Get GNU patch 2.8
[root@qnxpi /data/pkg/etc]# cd /data/pkgsrc/PATCHES
[root@qnxpi /data/pkgsrc/PATCHES]# curl https://ftp.gnu.org/gnu/patch/patch-2.8.tar.gz -o patch.tar.gz
[root@qnxpi /data/pkgsrc/PATCHES]# tar -zxvf patch.tar.gz
[root@qnxpi /data/pkgsrc/PATCHES]# rm patch.tar.gz
[root@qnxpi /data/pkgsrc/PATCHES]# cd patch-2.8
[root@qnxpi /data/pkgsrc/PATCHES/patch-2.8]#
[root@qnxpi /data/pkgsrc/PATCHES/patch-2.8]# CFLAGS="-D_FORTIFY_SOURCE=0 -U_FORTIFY_SOURCE" ./configure
[root@qnxpi /data/pkgsrc/PATCHES/patch-2.8]# make
[root@qnxpi /data/pkgsrc/PATCHES/patch-2.8]# make install
## rename /usr/bin/patch to /usr/bin/patch.old
## symlink /usr/local/bin/patch to /usr/bin/patch
[root@qnxpi /data/pkgsrc/PATCHES/patch-2.8]# mv /usr/bin/patch /usr/bin/patch.old
[root@qnxpi /data/pkgsrc/PATCHES/patch-2.8]# ln -s /usr/local/bin/patch /usr/bin/patch
## Then pkgsrc bmake will work using native curl on QNX8 aarch64 !
## However there are still many things to fix - so don't expect this to work for all pkgsrc sources :)
#### IMPORTANT ####
Don't forget to set LD_LIBRARY patch in your $home .profile as follows:
export LD_LIBRARY_PATH=/data/pkg/lib:/data/home/$user/lib:$LD_LIBRARY_PATH
## Congratulations - you now have bootstrapped pkgsrc-current onto the QNX 8.0 aarch64
[root@qnxpi /data/pkgsrc/PATCHES]# /data/pkg/sbin/pkg_info
libnbcompat-20251029 Portable NetBSD compatibility library
bootstrap-mk-files-20250601 *.mk files for the bootstrap bmake utility
install-sh-20100824 Install script compatible with the BSD install program
bmake-20240909 Portable (autoconf) version of NetBSD 'make' utility
nawk-20250726 Brian Kernighan's pattern-directed scanning and processing language
nbsed-20240312nb2 NetBSD-current's sed(1)
pkg_install-20260227 Package management and administration tools for pkgsrc
digest-20220214 Message digest wrapper utility
curl-8.19.0 Package management and administration tools for pkgsrc
pkg_install-info-4.5nb3 Standalone GNU info file installation utility
## With some additional fixes to specific pkgsrc sources I was able to
## compile security/bcrypt
## Please note the additional .txt files (these are for pkgsrc specific patches/changes) in the FIXES directory