これブラックベリープレイブック正式に到達しました廃止(2014年4月)、でも既に設置しました。BGShell、BGSSH-SCP-SFTPと用語48上。だから私には少しあります。ケシ- GNU 3.1.5、4.1.5 awk
、sed
その他grep
のシェルと同じです。python
一部その他コアツール要素(しかしなしtr
)などです。ルートではない。デフォルトでは、Downloads
ディレクトリでこれを行うことができます。$HOMEシェルアプリケーションによって作成されたディレクトリ(/accounts/1000/appdata/com.BGShell..blabla/data
たとえば)はすべてを実行することはできませんが、通常は上記の制限内でスクリプトを実行できます。私が興味を持っているのは、まさにこれだからです。QNX存在する皮質-A9.:
QNX localhost 6.6.0 2014/03/19-01:28:41EDT OMAP4430_ES2.2_HS_Winchester_Rev:07 armle
だから悪用しようとしました。古いプロジェクト1.この機能を機能させるには変更する必要があるものがたくさんありますが、ほとんどのターゲット(gcc
および2coreutils-8.13
を含む)に対して設定およびコンパイルできます。到着まとめる、いくつかのエラーを避けるために、さまざまな構成フラグのバリエーションといくつかの以前のバージョンの開発ツールを使用してコンパイルしました。同様の問題を解決しました。
CFLAGS="-march=armv7-a -marm -fno-strict-aliasing -mtune=cortex-a9 -O2 -pipe -fomit-frame-pointer -mlittle-endian"
AUTOMAKE=automake-1.11: AUTOCONF=: AUTOHEADER=: AUTORECONF=: ACLOCAL=aclocal-1.11: MAKEINFO=makeinfo-4.13a
arm-unknown-nto-qnx8.0.0eabi-gcc
クロスコンパイラとの接続10.3 ソフトウェア開発キット奥に位置しています。勢いIDE。結果のバイナリは次のとおりです。
ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), BuildID[md5/uuid]=41442b23fecda2d1d7cc5d2c68432a33, not stripped
ただし、それらのすべては、次のメッセージでタブレットにエラーを表示します。
ldd:FATAL: Unresolved symbol "getopt_long" called from Executable
別のフラグを使用して何度も再コンパイルし、常にそのメッセージを受け取るため、以前のSDKをターゲットにしていたので、ビルドスクリプトでコンパイラ以外のものを間違ってリンクしている可能性があると思います... ...(これは私の専門知識です越えますが、たぶんガベージコレクションに関するものかもしれませんcollect
。それともターゲットプラットフォームで奇妙な設定ですか?
設定(および経験不足)のためにここには100万の問題が発生する可能性がありますが、いくつかの手がかりを探しているので、このようなエラーで理解する必要がある具体的な内容があり、一般的にどのように逆追跡しますか?問題?
1. 全体的にスクリプトの束です。インポート、修理する、編む、インストールするその後、ディレクトリに移動します。バンドルディレクトリをzipファイルに圧縮し、素晴らしいファイルを作成します。ルビーウェブリックサーバー、タブレットを使用してスクリプトをダウンロードしてアーカイブします(250 MBのアーカイブに使用せずにWebファイルホストとブラウザを使用します)。
2.削除しましたルビー、文書とルビー最上位ビルド構成のターゲットです。
答え1
これは、2つの異なるSDK 1の問題を混同することです。選択項目を長く取得します。 存在する存在するQNX6.6。しかし、libc
上記のバージョンはスクリプト しない旧バージョンがあるから/プロセス。インストールするとエラーは発生しませんPlayBook OSネイティブSDK v2.1.0盲目的にファッションに従うのではなく協会プロジェクトからこれがインストールされますネイティブSDK v10.32.1へ統合開発環境~のためBB10。プロジェクト情報は明確ですが、リンクが正しいSDKにリンクされていません。したがって、最終的にはBB10で実行されるバイナリである可能性が高くなりますが、インフラストラクチャはまったく同じではありません。興味深いことに、この機能はgrep
BB SDKでコンパイルするときに機能しますが、長いオプションへの答えを拒否します。--version
しかし、正しいSDKを使用しても問題はありません。ほとんどのターゲットが再コンパイルされました 2 。これらすべてが起こったArch Linux x84_64どこ徳リポジトリが有効になっています(そして多くlib32-引っ張られたパッケージ)。これは私が3build.sh
で使用する構成ブロックです。gcc
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
--color
最後の機能tr
シェルスクリプトの珍しい洞察を提供します。QNX!
1. ありがとうライアンマンスフィールド@Foundry27を見てください@エマニュエル情報を得ています!
2. 対象を除く: file
、man
、ruby
、findutils
。結果のアーカイブサイズは80Mibです。ruby
ウェブリックサーバーは期待どおりに展開するために使用されます。
3. ...両方について、gcc
実際coreutils
に(後者の場合はデフォルト値を追加)。すべてのオプションが必須か推奨されるかはわかりません。各ターゲットは、build.sh
適切なディレクトリ(bootstrap/target
例:bootstrap/gcc/build.sh
ビルド環境()はieオプションをbbndk-env.sh
使用してグローバルトップレベルのbuild.shスクリプトによって一度取得する必要があります。ソースコードはビルドされたディレクトリに抽出されます。そうでない場合(プロジェクトのルートを参照)、アーカイブに圧縮されるディレクトリ構造に追加されます(アーカイブは実行中のデバイスの$ HOMEディレクトリに展開されます)。-b
build.sh -b /path/to/bbndk-2.10
work/target
lib.sh
pbhome
BGShell)。参考も参考にしてくださいダーウィンlib.sh
私は x86_64私は。それ以外の場合は、元のプロジェクト構成に対する変更はarm-unknown-nto-qnx6.5.0eabi
ありません(Qでバージョン8.0.0およびBB10.3 SDKを使用することとは異なります)。したがって、問題のあるいくつかのターゲットを削除した後、コンパイルは非常に簡単になりました。