[
] Речь идет о том, чтобы запутать два разных SDK[]1[]. []getopt_long[] []exists[] on []QNX6.6[]. Но версия []libc[
] на []Playbook[] [] не имеет этого[], так как имеет более раннюю версию []/proc[]. Ошибка никогда бы не произошла, если бы я установил [][]Playbook OS Native SDK v2.1.0[][] вместо того, чтобы вслепую следовать по ссылке []BB10[] в проекте, который установит []Native SDK v10.3[] с помощью 2.1 []IDE[] для []BB10[]. Информация о проекте понятна, но ссылка не связана с соответствующим SDK. Так что, скорее всего, я получил двоичные файлы, созданные для работы на BB10, но на устройстве, которое не имеет точно такой же инфраструктуры. Интересно, что что-то вроде []grep[
] сработало бы, но я отказался отвечать на [] --версия [
], т.е. длинная опция при компиляции с BB SDK.... [
] [
] [
] Но при правильном SDK нет никаких проблем. Большинство целей были перекомпилированы []2[]. Все это происходит на []Arch Linux x84_64[], где включено [][]multilib[][] репозиториев (и вытащено много []lib32-[] пакетов). Это сборка []. sh[
] конфигурационный блок, который я использовал для []gcc[
][]3[]:[
] [
CONFIGURE_CMD="$EXECDIR/gcc/configure
--host=$PBHOSTARCH
--build=$PBBUILDARCH
--target=$PBTARGETARCH
--srcdir=$EXECDIR/gcc
--with-as=ntoarm-as
--with-ld=ntoarm-ld
--with-sysroot=$BBTOOLS/target/qnx6/
--disable-werror
--prefix=$DESTDIR
--exec-prefix=$DESTDIR
--enable-cheaders=c
--enable-languages=c
--enable-threads=posix
--disable-nls
--disable-libssp
--disable-tls
--disable-libstdcxx-pch
--disable-newlib-supplied-syscalls
--enable-libmudflap
--enable-__cxa_atexit
--with-gxx-include-dir=$BBTOOLS/target/qnx6/usr/include
--enable-shared
--disable-subdir-texinfo
--enable-cross-compile
--enable-shared
CC=$PBTARGETARCH-gcc
CFLAGS='-march=armv7-a -marm -fno-strict-aliasing -mtune=cortex-a9 -O2 -pipe -fomit-frame-pointer -mlittle-endian'
LDFLAGS='-Wl,-s '
MAKEOPTS="-j5"
AUTOMAKE=automake-1.11: AUTOCONF=: AUTOHEADER=: AUTORECONF=: ACLOCAL=aclocal-1.11: MAKEINFO=makeinfo-4.13a
] [
] [
] Оба [] coreutils[
] и [] gcc[
] работают, и я добавил []ls[
] и [] grep[
] с опцией [] -цвет [
]: [
] [
][][
] [
]Наконец-то функциональная оболочка с []tr[
] на моем []Playbook[], которая дает редкое представление о [][]QNX[][]! [
] [
] [
][]1. Спасибо []Райану Мэнсфилду [] @Foundry27 за информацию и []@Emmanuel[] за информацию![][
] [
][]2. Исключенные цели: []file[
], []man[
], []ruby[
], []findutils[
]. В результате получился архив 80Mib, а сервер []ruy[
] []webrick[] был использован для развертывания, как и предполагалось.[][
] [
][]3. ...как для []gcc[
], так и для []coreutils[
] на самом деле (добавляя к настройкам по умолчанию в последнем случае). Не ясно, все ли опции необходимы или даже рекомендуются. Каждая цель может быть собрана индивидуально, запустив скрипт []build.sh[
] в соответствующей директории []bootstrap/target[
], т.е. []bootstrap/gcc/build.sh[
]. Окружение сборки([]bbndk-env.sh[
]) должно быть получено один раз глобальным верхним сценарием build.sh с использованием опции []-b[
], т.е. []build.sh -b /path/to/bbndk-2.10[
]. Источники поступают в каталоги [] work/target[
], где они собираются. Если сборка прошла успешно и никаких опций не задано (см. []lib.sh[
] в корневом каталоге проекта), он добавляется в структуру каталога []pbhome[
], который будет заархивирован в архив (который будет развернут в вашем $HOME каталоге на устройстве, работающем под управлением []BGShell[]). Также обратите внимание на ссылку на []Darwin[] в []lib.sh[
], которую в моем случае я изменил на []x86_64[]. Иначе ничего не изменилось из первоначальной конфигурации проекта, т.е. []arm-unknown-nto-qnx6.5.0eabi[
](в отличие от использования версии 8.0.0 с BB10.3 SDK, как в Q.). Так что скомпилировать очень легко, как только мы вычистили несколько проблемных целей.[][
]