Centos 6.10 32ビットでFirefox 109を実行する

Centos 6.10 32ビットでFirefox 109を実行する

目標:Centos 6.10 32ビットで動作する最新バージョンのFirefoxを入手する

問題:[https://ftp.mozilla.org/pub/firefox/releases/][1] から 49.0.2 より高い Firefox バージョンをダウンロードして実行しようとすると、通常は glibc バージョンについて文句を言って失敗します。

例: firefox 50.1.0: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.15' が見つかりません (/usr/local/firefox/libxul.so に必要) XPCOM をロードできません。 `

私が試したこと:gcc-6.5.0をコンパイルしてインストールし、/opt/alt-libs-gcc-6.5.0centos 6でgtk3バージョンをコンパイルしてインストールして実行すると、/opt/gtk3バージョン50-70が機能するようになりますLD_LIBRARY_PATH=/opt/alt-libs-gcc-6.5.0:/opt/gtk3/lib /usr/local/firefox/firefox。また、他のライブラリ(libcanberra、libcairo、一部のgdkライブラリなど)を検索またはコンパイルする必要がありました。

バージョン70.0.1以降は、上記と同じ方法で開くことができますが、パラメータが追加されました-safe-mode。ウィンドウが開き、Webサイトに入力できますが、Enterキーを押すとすぐにURLが消え、ページが読み込まれなくなります。端末には、多くの GLib-GObject-CRITICAL 警告とエラーも表示されます。

Rocky Linux 8仮想マシンの起動を試み、必要なパッケージをインストールし、Firefox 109.0.1をダウンロードして実行しました。その後、/libフォルダ全体をインポートして/opt/rockyCentos 6.10仮想マシンにコピーしました。ただし、rocky ld-linux/linker を使用して Firefox を実行しようとすると/opt/rocky/ld-linux.so.2 --library-path /opt/rocky /usr/local/firefox/firefox -safe-mode失敗します。Exec failed with error: No such file or directory

Rocky 仮想マシンで実行しようとしましたが、/opt/rocky/ld-linux.so.2 --library-path /opt/rocky /usr/local/firefox/firefox -safe-mode同じエラーが発生しました。それが私がここにいる理由です。Firefoxが同じ仮想マシン、同じライブラリ、同じld-linux(新しいフォルダに再配置されている)で実行されないのはなぜですか?何か欠けているものがあるか、リンカーを誤って使用しようとしているようです。しかし、ケースを見つけるたびに、私のケースは完全に妥当に見えます。

LD_DEBUG=all /opt/rocky/ld-linux.so.2 --library-path /opt/rocky /usr/local/firefox/firefox -safe-mode予想通り、エラーの前とエラーの後に多くのテキストが表示されますが、何も指しているようではありません。以前の問題や警告なしにエラーが発生しました。

      2329: symbol=__fprintf_chk;  lookup in file=/usr/local/firefox/firefox [0]
      2329: symbol=__fprintf_chk;  lookup in file=/opt/rocky/libpthread.so.0 [0]
      2329: symbol=__fprintf_chk;  lookup in file=/opt/rocky/libdl.so.2 [0]
      2329: symbol=__fprintf_chk;  lookup in file=/opt/rocky/libstdc++.so.6 [0]
      2329: symbol=__fprintf_chk;  lookup in file=/opt/rocky/libm.so.6 [0]
      2329: symbol=__fprintf_chk;  lookup in file=/opt/rocky/libgcc_s.so.1 [0]
      2329: symbol=__fprintf_chk;  lookup in file=/opt/rocky/libc.so.6 [0]
      2329: binding file /usr/local/firefox/firefox [0] to /opt/rocky/libc.so.6 [0]: normal symbol `__fprintf_chk' [GLIBC_2.3.4]
Exec failed with error: No such file or directory
      2329: 
      2329: calling fini: /usr/local/firefox/firefox [0]
      2329: 
      2329: 
      2329: calling fini: /opt/rocky/libpthread.so.0 [0]
      2329: 
      2329: 
      2329: calling fini: /opt/rocky/libdl.so.2 [0]
      2329: 
      2329: 
      2329: calling fini: /opt/rocky/libstdc++.so.6 [0]

有用な情報であるか、単にウサギの洞窟です。私はpatchelfを使用してバイナリのリンカー、必須ライブラリ、およびrパスを変更しようとしましたが、何も変更されませんでした。必要なライブラリについてlibxul.soをチェックしたところ、リンカもリストされていることがわかりました。バイナリだとは思わなかったんですけどね。

/lib/ld-linux.so.2 (0xb776c000)

patchelfを使用してそれを変更しようとすると、リスト内でそれを置き換えることなく他のリンカーもリストに追加するだけで、明らかにlibxul.soが破損します。変更後、Firefoxがすぐに実行されないためです。

また、Centos 6.10でFirefoxをコンパイルしようとしましたが(他のいくつかの検索とコンパイルを含む)、最終結果はサイトの公式バイナリのようにまったく同じで動作しません。つまり、これらすべての問題を解決するためにコンパイル時に適用できるいくつかの設定やパラメータがあるかもしれませんが、それが何であるかはわかりません。

追加の注意:Centos 6.10用のepelリポジトリはFirefoxバージョン78.5を提供しているので、誰かがCentos 6.10からバージョン70以降に動作するようにしたようです。たぶんそのパッケージを使ってどのように機能するのかを確認する方法はありますか?

Q:これを行う方法についてのアイデアはありますか?ライブラリとリンカーを間違って移植しようとしましたか?独自の編集タスクを作成するためにできることはありますか?

情報:

uname -r
4.4.246-1.el6.elrepo.i686

答え1

CentOS 6は2020年11月30日に中止され、2017年には新機能の提供が中止されました。オペレーティングシステムでこれが発生しても、最新のソフトウェアを実行するためにシステムリポジトリのライブラリよりも最新のライブラリをコンパイルすることは可能ですが、最終的には互換性の問題が発生するため、これまでは機能しなくなります。これが今あなたが見るものです。これらのすべての退屈なタスクを実行するよりも、最新のオペレーティングシステムを使用する方が良いです。

CentOSが必要な場合、CentOS Stream 9はまだ新機能を受けており、最新バージョンのFirefoxがシステム上で実行されます。 CentOS 7は来年までサポートされますが、2020年11月から新機能を受け取ることができなくなり、CentOS 8は2021年12月31日を基点にサポート終了日になるため、このような機能を使用する理由はありません。

一方、CentOS Streamはテストされていないベータ版ソフトウェアを多数含むローリングリリースなので、Alma LinuxとRocky LinuxはCentOS自体の元の創設者の一人のプロジェクトであるCentOSとバイナリ互換です。 Firefox 102はAlmaとRockyのシステムリポジトリで利用でき、Firefoxの将来のバージョンは追加のソフトウェアをコンパイルすることなく両方のシステムで実行されることを確認しました。

CentOS 6が必ず必要な他のソフトウェアがある場合でもpodman。インターネットに接続するためのオペレーティングシステム。これはマルウェアに完全に脆弱になります。

関連情報