5

非常に古い GCC/GlibC バージョンの CentOS 6 マシンで作業しています。最新のgccでc ++ 11サポートを使用し、最近のbinutilsでld.goldを使用し、最近のglibcで改善される可能性があるため、glibc、binutils、gccツールチェーン全体を最新または少なくともごく最近のバージョンで構築したいと考えています。

ツールチェーン全体を別のディレクトリに置き、既存のシステム ファイルに影響を与えないようにしたいと考えています。また、gcc を使用するときに -I/some/directory/include や -L/some/directory/lib などのパラメーターを指定する必要がないように、--sys-root を指定して gcc をビルドしたいと考えています。また、生成された実行可能ファイルは、新しい libc.so を自動的に検出する新しい ld-linux-xxxxx プログラム ローダーを自動的に使用します。

このタスクに関するチュートリアルが存在するかどうかは誰にもわかりませんか?

4

4 に答える 4

0

コンパイラは glibc に大きく依存しています。chroot システムまたは同等のシステムでコンパイラをビルドすることはできますが、この新しいコンパイラでビルドするプログラムに必要なすべてのライブラリもビルドする必要があります。あなたができる最善の方法は、新しいシステム(vmなど)を使用するか、既存のシステムをアップグレードすることです

于 2013-02-08T12:50:26.167 に答える
0

Openembedded または Yocto から最新のツールチェーンをダウンロードできます。ここでは、現在のシステムにパッケージをインストールする必要はありません。ツールチェーンをダウンロードし、環境をソースするだけで、c++11 サポートを確認する準備が整います。ツールチェーンをダウンロードする場所: http://downloads.yoctoproject.org/releases/yocto/yocto-1.7/toolchain/ (マシンのサポートに基づいて 32 ビットまたは 64 ビットのアーキテクチャを選択するだけです)

于 2015-08-24T05:45:33.573 に答える
-1

わからない どうしてこれが必要なの?別のコンピューター用にコンパイルするためにこれが必要な場合は、ターゲットと同じ OS を実行している仮想マシンを使用することをお勧めします。はるかに簡単!!

于 2013-02-08T08:20:20.760 に答える
-1

最新のツールチェーンが必要な場合は、Fedora に移行することをお勧めします。

できない/できない場合、最善の策は、CentOS と Fedora のソース RPM としてピースを入手し、それらを解凍して、Fedora からソースとパッチを盗んで CentOS を修正することです。システムパッケージ、正しいバージョン、および他の場所にインストールするための修正(システムをあまり台無しにしないでください!/usr/local頭に浮かびます)。ピースは少なくともbinutils、gccです。

于 2013-02-08T01:20:48.183 に答える