1

centos にパッケージされているコンパイラ (gcc) とは別のコンパイラ (gcc) を使用する必要があります。これはgccでもあり、別のパスでインストールされた新しいバージョンを再パックしただけです。

基本的なセットアップにあるビルド用のモックを使用しています

config_opts['chroot_setup_cmd'] = 'groupinstall ビルド'

私の場合、グループ ビルドには CentOS ストック gcc が含まれています。モック環境では何も変更できません。

ビルドが実際に進む前に gcc パッケージを削除する方法はありますか?

問題は、再パックされた gcc でコンパイルされた一部のプログラムが、再パックされた gcc からの正しいインクルードではなく、システム /usr/include/ を使用する傾向があることです。そのため、問題を特定する方法を探しています。

4

1 に答える 1

1

Fedoraが提供する手順を使用してこのタスクを完了することができます。インストールする必要のあるrpmがリポジトリの一部ではない場合に、ビルドを実行することについて説明しています。

それがうまくいかない場合は、カスタム環境を設定するか、質問で述べたように変更できない場合は管理者に設定を依頼することを検討します。構成ファイルは/etc/mock/*.cfgに保存されます。ニーズに合ったものをコピーして、独自の名前を付けることをお勧めします。次に、リポジトリ行を追加する必要があります(GCCのカスタムコピーが存在する場所に応じて、ローカルまたはリモートのいずれか)。

これにより、実際に新しいリリースとしてマークされている場合に、そのバージョンのGCCを取得するように環境が構成されます。独自の命名規則がある場合、または何らかの理由でそれが採用されていない場合は、chroot_setup_cmdを変更して、すべてのビルドパッケージをインストールすることを検討する必要があります。レビューすると

yum groupinstall buildsys-build 

関連するすべてのパッケージのリストが表示されます。明らかに「ビルド」をチェックする必要があります。次に、config_opts ['chroot_setup_cmd']を変更して、「groupinstall」の代わりに「install」を使用します。これにより、関連するすべてのビルドパッケージとカスタムGCCをインストールできます。

それでも機能しない場合は、いつでもビルドパッケージをGCCが存在する独自の個人リポジトリにコピーし、そこからプルできる唯一のリポジトリであることを確認し、「ビルド」グループをサポートするようにリポジトリを構成してから、ビルドすることができます。パッケージ。年齢のためにあまり役に立ちませんが、Mockドキュメントには、ローカルリポジトリを使用して環境を構成するための有用な情報がいくつかあります。

于 2013-01-22T16:41:40.750 に答える