私のLinuxマシンはx86_64-redhat-linuxです。
しかし、私は別のアームツールチェーンを使用していますaarch64-linux-gnu-gccこのマシンでビルドします(私はしませんこのマシンでビルドしたものを実行する必要があります。ビルドするだけなので、armツールチェーンを使用してビルドすることをお勧めします)
次のエラーが表示されます。
aarch64-linux-gnu-gcc: /lib64/libc.so.6:
version `GLIBC_2.14' not found (required by aarch64-linux-gnu-gcc)
したがって、現在のデフォルトの共有ライブラリパスは/lib64/libc.so.6を指しています。このマシンのユーザーは私だけではないので、更新したくありません。自分のlibc.so.6を使用するにはどうすればよいですか。検索パスを別のディレクトリにリダイレクトしますか?
GLIBC 2.12がインストールされており、OPのタイトルにあるように、彼が使用しようとしているクロスコンパイルツールチェーンにはGLIBC> 2.14が必要です。 OPは、システムを更新できないため、彼も制約を受けていると述べています。
以下のステップ3のリストは、changerootを構築するために使用されます。可能であれば、ディストリビューションリポジトリから含まれているパッケージを使用してください。リポジトリ内の最新バージョンがchangerootの外部にインストールされているバージョンと等しい場合は、手順3を停止し、 RPMFind などのオンラインパッケージ検索を使用して新しいバージョンを検索し、続行します。 changrootの外部に新しいバージョンまたはオンラインバージョンをインストールしないでください。これはシステムの破損を引き起こしますが、私は責任を負いません!
GLIBCのバージョンを並べてインストールすることはできないため、OPはARMクロスコンパイラをインストールするために changeroot jail をビルドする必要があります。 Wikipedia- Chroot 。これを行うには、次の手順に従ってください。
mkdir -pv $HOME/newroot
_export ROOT=$HOME/newroot && echo $ROOT
_。興味がある場合は、手順4を参照してください。cd $ROOT && mkdir -v download && cd download
_ rpm -i --root=$ROOT packagename
_ _--root
_引数に注意してください。これは、RPMのデフォルトのインストール動作を上書きします。リスト内のパッケージに、bash && libtermcapなどの追加機能が含まれていることに注意してください。 _--root
_引数を含め、リストに記載されているとおりにrpm-iコマンドを実行してください。上記の例では、libtermcapはbashと同じディレクトリにインストールされます。chroot $ROOT && export PS1="(chroot) $PS1"
があります。上記の手順は RedHat Linux 6.2でchroot環境をセットアップする方法-FTPおよびWebサービスの場合