gcc: 完全性チェック失敗エラー、cxx USE フラグが欠落しているようです。

gcc: 完全性チェック失敗エラー、cxx USE フラグが欠落しているようです。

最近私はそれを完了し、emerge -e worldそれがgccフラグなしでコンパイルされたことを発見しましたcxx。 C++ パッケージをコンパイルできません。

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

equery f gcc|grep -v share stage3から返されたファイルをコピーしようとしています。役に立ちましたか?より簡単な方法がありますか?

アップデート1 これは私のものです。構成ログ

アップデート2 これは私のものです。構成ファイルの作成cxxUSEにはフラグがあります。最近追加しましたが、パッケージを再構築できず、役に立ちませんでした。

アップデート3私はバイナリパッケージからgcc-4.6.3を再インストールしてみました。

emerge -avK gcc:4.6

正常に完了しましたが、エラーは消えません。

さらに、私は次の事実を見つけました:

configure:11955: /lib/cpp  conftest.cpp
cpp: error: conftest.cpp: C++ compiler not installed on this system
configure:11955: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.1.0"
| #define PACKAGE_STRING "expat 2.1.0"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|                    Syntax error

私のシステムにC ++コンパイラがインストールされていないと主張しているようです。しかし、これはbin-packageからインストールされたため、ゴミのように聞こえ、gcc:4.6C ++サポートでコンパイルされたと仮定します。

アップデート4実際、g++には何か問題があります。

uhradio ~ # g++ queue.cpp 
gcc-config: error: could not run/locate 'g++'
uhradio ~ # cpp queue.cpp 
cpp: error: queue.cpp: C++ compiler not installed on this system

出力はgcc-config -l次のとおりです

[1] x86_64-pc-linux-gnu-4.6.3 *

答え1

これあなたが探しているものかもしれません。つまり、カーネルヘッダーのみをインストールすると完了です。

答え2

それでも役に立ちませんでした。手動でディレクトリにemerge -avK gcc:4.6抽出して設定しました。私は役に立ちました(私はすでにそれをしましたが、手動で再シンボリックリンクしました。今、USEフラグを使用して2つのgccs(4.5と4.6)を再構築しています)。gcc-4.6.3.tbz2/gcc-config 1/usr/lib/usr/lib64cxx

私の問題はもう別の問題になりました。cxxstage3構築システムでUSEフラグが消えるのはなぜですか?私は何年もの間Gentoo Linuxをインストールしてきましたが、このように明示的cxxにUSEフラグを設定したことはありません。

関連情報