web-dev-qa-db-ja.com

Wheezyにglibc> = 2.14をインストールする必要があります

私は Protractor e2eを実行するために機能しているangularテストを実行しようとしていますが、分度器には Selenium が必要です ChromeDriver が必要ですglibc 2.14が必要です。現在の開発ボックスでは、Debian Wheezyが実行されており、glibc 2.13が付属しています。Debianの不安定ブランチに切り替えると、glib-2.14にアクセスできることを読みましたが、不安定だと聞いたのはかなり…不安定です。

すべてを壊すリスクなしにglibcを2.14または2.15にアップグレードする方法はありますか?あるいは、物事が壊れ始めたら、不安定なDebianブランチから切り替えることはできますか?

12:15:22.784 INFO - Executing: [new session: {browserName=chrome}] at URL: /session)
12:15:22.796 INFO - Creating a new session for Capabilities [{browserName=chrome}]
/home/chris/projects/personal/woddy/client/Selenium/chromedriver:     /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by      /home/chris/projects/personal/woddy/client/Selenium/chromedriver)
/home/chris/projects/personal/woddy/client/Selenium/chromedriver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/chris/projects/personal/woddy/client/Selenium/chromedriver)
12:15:43.032 WARN - Exception thrown
Java.util.concurrent.ExecutionException: org.openqa.Selenium.WebDriverException:  Java.lang.reflect.InvocationTargetException
22
chris

Glib> = 2.14を取得するためにunstableに切り替える必要はありません。実際、テストブランチ(現在は安定版、またはJessie)にはglib-2.17があり、テストリポジトリを追加して起動するだけで選択できます。

Sudo apt-get install libc6-dev=2.17-7

または、

Sudo apt-get -t testing install libc6-dev

スイッチを追加できます--dry-run事前に何がインストールされるかを確認します。 glibcパッケージのステータスは Debian Package Tracker System で確認できます(Debianはeglibcパッケージを単に glibc に変更してJessie以降)。

Jessie 4月25日リリース を待つこともできます。

23
Braiam

私の状況では、Debian Wheezy(デフォルトでglibc 2.13をインストールする)でGLIBC_2.14を使用して(Ubuntu 12.04 LTSでコンパイルされた)アプリケーションを実行しようとすると、エラーが表示されます。

私はそれを実行するためにトリッキーな方法を使用して、正しい結果を得ています:

  1. Ubuntu 12.04 LTSから _libc6_ および _libc6-dev_ をダウンロードします

  2. dpkgコマンドを実行して、それらをディレクトリにインストールします(例:_/home/user/fakeroot/_):

    _$ dpkg -x libc6-dev_2.15-0ubuntu10.6_AMD64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_AMD64.deb /home/user/fakeroot/
    _
  3. _LD_LIBRARY_PATH_を指定してコマンドを実行します。

    _$ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    _
  4. 私のアプリケーションはGLIBC_2.14のmemcpy()のみを使用しており、機能します。

    他のアプリケーションで正常に機能するかどうかはわかりません。

23
Bin S

不安定なブランチを「安全に」試すためのオプションがいくつかあると思います。

  • 仮想化
  • Chrooting 見かけのルートディレクトリとして別のディレクトリを選択します。したがって、 ファイルシステムイメージを作成 して、必要なパッケージを手動でインストールできます。これは複雑なプロセスであり、Debianの場合は以下を使用することではるかに簡単になります。
  • deboostrap このリンクにあるDebian Wikiの記事を引用すると、

    debianベースシステムを、すでにインストールされている別のシステムのサブディレクトリにインストールするツール。インストールCDは必要ありません。Debianリポジトリにアクセスするだけです。

    これは、debootstrapがchroot手法を使用することを意味するものではありません。私はその内部実装を知りません。

1
Joseph R.