需要在 Wheezy 上安装 glibc >= 2.14

需要在 Wheezy 上安装 glibc >= 2.14

我想得到量角器用于执行端到端角度测试,但量角器需要这需要Chrome驱动程序这需要glibc2.14。我当前的开发盒运行的是 Debian Wheezy,它附带glibc2.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

答案1

您不必切换到不稳定获得glib >= 2.14。事实上,测试分支(现在稳定,或 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 软件包跟踪系统(Debian 将eglibc 包重命名为glibc从杰西开始)。

你也可以等Jessie4月25日发布

答案2

在我的情况下,当我尝试在 Debian Wheezy(默认安装 glibc 2.13)上使用 GLIBC_2.14 运行应用程序(在 Ubuntu 12.04 LTS 上编译)时,会出现错误。

我使用一种棘手的方法来运行它,并得到正确的结果:

  1. 下载libc6libc6-dev从 Ubuntu 12.04 LTS 开始

  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. 我的应用程序仅使用memcpy()GLIBC_2.14,并且它可以工作。

    我不知道它是否适用于其他应用程序。

答案3

我想您有几种选择可以“安全”地尝试不稳定分支:

  • 虚拟化
  • chrooting您可以选择一个替代目录作为您的根目录。你可以这样创建文件系统映像并手动安装所需的软件包。这是一个复杂的过程,在 Debian 的情况下使用以下命令可以变得更容易:
  • 去升压引用此链接中的 Debian Wiki 文章:

    一个将 Debian 基本系统安装到另一个已安装系统的子目录中的工具。它不需要安装 CD,只需访问 Debian 存储库即可。

    这并不意味着debootstrap使用 chrooting 技术;而是意味着使用 chrooting 技术。我不知道它的内部实现。

相关内容