uname -r
カーネルバージョン2.6.18-92.1.13.el5(from)とgcc 6.1.0を使用する2016 Intel C ++コンパイラを使用するLinuxシステムで最新のブーストライブラリ(1.62.0)をコンパイルしようとしています。
新しいIntel C ++コンパイラとgccは、私のホームディレクトリのサブディレクトリにインストールされます。私はldd --version
おそらくカーネルと同じ古い古いglibcを使用していますldd (GNU libc) 2.5
。
スレッドモジュールで次のエラーが発生します。
In file included from libs/log/src/event.cpp(31):
/usr/include/linux/futex.h(96): error: identifier "u32" is undefined
long do_futex(u32 *uaddr, int op, u32 val, unsigned long timeout,
^
これは完全な編集で唯一のエラーです。
root アクセス権がないため、コンピュータに新しいカーネルをインストールできません。
最新のLinuxヘッダをインストールするのは良い考えですか?これにより、エラーなしでBoost 1.62.0をインストールできますか?
ベストアンサー1
最初の参照で以下を見つけました。
CentOS 5.2はBoost 1.33.1に付属しています。
このハッキングにこだわるなら訪ねるべきアーカイブバージョンの改善をクリックし、バージョン1.33.1を見つけます。しかし、リリース日を参考にしてください。
バージョン 1.33.1
2006 年 12 月 5 日 12:00 GMT
yum経由でインストールする必要があるバージョンをダウンロードしたら、ホームディレクトリにビルドします。 GCC バージョンをアップグレードしないでください。インストールするツールは、システムの寿命のため、古いツールチェーンのために寿命が制限されています。
パッケージマネージャがあるすべてのシステムでは、パッケージマネージャは次のことを行う必要があります。決して障害者にならないでください。。オペレーティングシステムのアップグレードを検討する必要があります。よりここで許可された答え。カーネルがアップグレードされる前にヘッダファイルをアップグレードしないでください。復元さyum
れるまでカーネルをアップグレードすることはできません。