RedHat2.1の環境でglibcを2.3以上にアップデートを行ってます。
ただし、アップデートできません。
RedHat4にあったGlibcらしきPRMを走らせたら下記のようになりました。
2.3へのアップデートの方法をご存知の方がいたら教えて下さい。
もしくはRPMがダウンロードできるサイトがあれば教えて下さい。
[root@test01 Redhut4 glib]# rpm -ivh glibc-2.3.4-2.i386.rpm
エラー: 依存性の欠如:
glibc-common = 2.3.4-2は glibc-2.3.4-2 に必要とされています
shadow-utils < 2:4.0.3-20 glibc-2.3.4-2 と競合します
nscd < 2.3.3-52 glibc-2.3.4-2 と競合します
glibc > 2.2.4 glibc-common-2.2.4-32.18 と競合します
No.5ベストアンサー
- 回答日時:
度々すみません。
なんとか、redhat-7.3で、glibc-2.3.2のインストールができました。インストールには、Linux From Scratch のドキュメント(参考URL)が役にたちました。
(0) 必要なソース、パッチの準備
ftpサイト(ftp://ftp.kddlabs.co.jp/GNU/ など)から、binutils-2.14.tar.gz, gcc-core-3.3.1.tar.gz, glibc-2.3.2.tar.gz , glibc-linuxthreads-2.3.2.tar.gz を入手。
さらに、glibcのパッチを http://www.linuxfromscratch.org/patches/lfs/5.0/ … から入手。
(1) binutilsを /usr/local にインストール
tar zxvf binutils-2.14.tar.gz
cd binutils-2.14
./configure --prefix=/usr/local
make && make install
cd ..
(2) gccを /usr/local にインストール
tar zxvf gcc-core-3.3.1.tar.gz
mkdir gcc-build
cd gcc-build
../gcc-3.3.1/configure --prefix=/usr/local --enable-languages=c
make && make install
cd ..
(3) glibcを /usr/local/glibc232 にインストール
tar zxvf glibc-2.3.2.tar.gz
cd glibc-2.3.2
patch -p1 < ../glibc-2.3.2-sscanf-1.patch
tar zxvf ../glibc-linuxthreads-2.3.2.tar.gz
cd ..
mkdir glibc-build
cd glibc-build
../glibc-2.3.2/configure --prefix=/usr/local/glibc232 --enable-add-ons
make && make install
これで、/usr/local/glibc232 以下に glibc-2.3.2がインストールされます。
http://www.gnu.org/software/libc/FAQ.html#s-3.18 によれば、動的にLD_LIBRARY_PATHを指定して、新しい ld-linux.so.2 の引数に動作させたいバイナリを指定して実行できます。
例えば私の環境では、以下のようにして redhat-9からコピーした ls が実行できました。
$ ls
cat ls tar (← redhat-9からコピーしたバイナリ)
$ ./ls
./ls: /lib/i686/libc.so.6: version `GLIBC_2.3' not found (required by ./ls)
GLIBCのバージョンエラー。LD_LIBRARY_PATHを設定し、glibc-2.3のld-linux.soを使って実行してみる。
$ LD_LIBRARY_PATH=/usr/local/glibc232/lib /usr/local/glibc232/lib/ld-linux.so.2 ./ls
./ls: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directory
今度はtermcapライブラリが見つからないので、lddコマンドで、必要とされるライブラリを調べる。
$ ldd ls
./ls: /lib/i686/libc.so.6: version `GLIBC_2.3' not found (required by ./ls)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001c000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/lib/libtermcap.so.2 が必要だとわかったので、LD_LIBRARY_PATHに /lib を追加して再度トライ
$ LD_LIBRARY_PATH=/usr/local/glibc232/lib:/lib /usr/local/glibc232/lib/ld-linux.so.2 ./ls
cat ls tar
動いた! ということで、私にとっても、凄く勉強になりましたです。ハイ。
参考URL:http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/index. …
No.4
- 回答日時:
要求されるバージョンのglibcをソースから別ディレクトリにインストールして、LD_LIBRARY_PATH を設定して、使いたいアプリを起動・・・と思って、手元のRedHat-7.3(RHEL2.1の構成に近いはず)の仮想マシンで試してみました。
結果、1)そもそも、デフォルトのgcc-2.9.6では、glibc-2.3.xがコンパイルできない。
2)そこで、gcc-3.4.6をソースからコンパイルしてインストール。
3)gcc-3.4.6を使ってglibc-2.3.1のコンパイル。
と、あがいてみましたが、これもあえなく、asのエラーが出て、こけちゃいました。binutilsあたりも入れ換える必要があるのかな?
まあ、丸一日ぐらい頑張ればなんとかなりそうですが、私はこのあたりで断念・・・ということで、やはり、要求されていることはかなり困難であると思われます。頑張ってください。
No.3
- 回答日時:
> rpm -Uでまとめてアップデートする方法を教えて頂けませんでしょうか?
一般的には・・・
まず、-U オプションは、パッケージのアップデートを意味します。次に、--test オプションをつけると、動作をシミュレーションすることができます。そこで、
rpm --test -U <パッケージファイルのリスト>
これで、依存関係のエラーがわかるので、エラーとなるパッケージをRHEL4から持ってきて、エラーが出なくなるまで、同様のことを繰り返します。最後に、--testオプションを外して、一挙にアップデートします。
ですが、glibcはシステムの根幹ですから、これを入れ換えるとなると、結果的にほぼ全てのパッケージを入れ換えることが必要になるでしょう。そういう意味で、「無謀」と書きました。
> どうしてもglibcを2.3へアップデートしてRedHat2.1上で
> 動作させる必要があります。
動作させたいアプリケーションがglibc-2.3以上を要求しているということだと推測しますが、上述のとおり、glibcを強引に入れ換えるのは無理があります。
そもそもの目的と制約条件を具体的にお書きになれば、違う視点からのアドバイスが得られるかもしれません。
この回答への補足
質問に具体性がなくすいません。
>動作させたいアプリケーションがglibc-2.3以上を要求しているということだと推測しますが、
ご指摘どおりです。
>そもそもの目的と制約条件を具体的にお書きになれば、違う視点からのアドバイスが得られるかもしれません。
目的のプログラムがREHL3以上からサポート製品ですが、RedHat2.1での
運用の必要があります。ただし、このglibcのバージョンが2.3以上に
なればREHL2.1でも動作します。もともとこのプログラムがglibc2.3上で
コンパイルしたためそのようになったようです。
そのため、REHL4のglibcでなくてもOKでglibcが2.3以上にさえなれば
目的はクリアできます。
宜しくお願いします。
No.2
- 回答日時:
glibcもパッケージでアップデートできます。
その際は、依存関係で要求されるパッケージを、rpm -U でまとめてアップデートする必要があります。
ただし、RedHat4用のパッケージをRedHat2.1に適用するのは無謀です。
glibc2.3以上の環境が必要なら、それが用意されたディストリビューションを使用しましょう。
この回答への補足
回答ありがとう御座います。
どうしてもglibcを2.3へアップデートしてRedHat2.1上で
動作させる必要があります。
rpm -Uでまとめてアップデートする方法を教えて頂けませんでしょうか?
素人の質問で申し訳ありません。
No.1
- 回答日時:
glibcは 単体で入れ替えられないものじゃなかったかな
http://www.google.co.jp/search?q=glibc&hl=ja&lr= …
上書きじゃなくて混在になるようにして
新しいglibcによるkernelを作ってってやらないとちゃんと動かないんじゃなかったかな。
パッケージ管理で導入、終了…みたいな簡単なものじゃなかった気がする。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Fedora37では動画編集ソフトavidemuxのバージョンは2.8.2ですがこれだとMPEG2の 1 2023/02/07 12:15
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- その他(自然科学) 風車音の測定 3 2023/04/28 07:12
- イベント・祭り イベントの話 3 2022/06/06 01:19
- UNIX・Linux linux 初心者です。コマンドラインでのインストールとアップデート方法を教えてください。 3 2022/04/04 00:53
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- その他(スポーツ) 北海道コンサドーレ札幌の話 1 2022/06/05 20:29
- ネットワーク 社内ネットワークの1台だけ接続できないときがある 4 2023/01/25 11:58
- 競艇 【競艇】ボートレースの選手は自艇のプロペラのチューニングは禁止されているっ 1 2023/06/07 23:16
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
makeコマンドができない
-
Debianでのmakeコマンドインス...
-
gccのインクルードパスの確認
-
FreeBSD4.7にphp5.2の導入失敗
-
*** ターゲット `all' を make ...
-
readline インストールについて
-
Linuxのgccのインクルードパス?
-
Solaris10でdelegateをインスト...
-
ports/packages のインストール...
-
ubuntu 初期化について
-
CPANでインストールしたモジュ...
-
Raspberry Pi 3 A+ ブラウザ遅い
-
外部レポジトリとは
-
パソコンでゲームをプレイしよ...
-
ubuntuでrpmがインストールでき...
-
ubuntu8.0.4にopenssl-develを...
-
rpmlibのあるところ
-
/dev/nvme0n1p2 clean と表示さ...
-
Ubuntu on Xorgのログインについて
-
「クラスが登録されていません 」
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccのインクルードパスの確認
-
makeコマンドができない
-
*** ターゲット `all' を make ...
-
Debianでのmakeコマンドインス...
-
make でエラー
-
macos での /usr/local/lib と...
-
Solaris10でCコンパイラが見...
-
ソースからmakeした場合の削除方法
-
apache make時のエラーで困って...
-
OpensslのVer.ダウン
-
ダウンロードファイルなどは、...
-
glibcバージョンアップ
-
readline インストールについて
-
Linuxのgccのインクルードパス?
-
linuxの/usr/includeについて
-
./configureの次にmakeが出来ま...
-
newlibのmakeについて
-
Mac上でPythonのtkinterを使っ...
-
perlのダウングレード方法
-
makeのエラーメッセージが理解...
おすすめ情報