在 CentOS 7 中嘗試使用 ChromeDriver 2.31 時,我收到以下錯誤:
version 'GLIBC_2.18' not found
ChromeDriver 开发人员确认 glibc 库依赖项已提升至 2.18,而 CentOS 7 的版本为 2.17。
相关链接:
- 宣布推出ChromeDriver 2.31
- Chrome 驱动程序问题 #1894
- Chrome 驱动程序问题 #1772
有没有办法在不切换到另一个操作系统的情况下使其工作?
Chromium开发人员已经意识到这个问题并正在努力修复:
- 在 M61 中,glibc 依赖性攀升至 2.18,打破了 EL7 的支持
在切换到libc++
的过程中,他们不小心引用了他们的系统根中glibc版本的新符号,__cxa_thread_atexit_impl
。 但这只是在glibc 2.18中引入的,Red Hat Enterprise Linux 7只有2.17版本。 显然,对于他们的用例,没有这个符号(类似于 GCC 的libstdc++
(libc++
运行良好,所以他们只需要调整他们的构建而不使用它,而 Chromium(以及因此 Chrome 驱动程序和 Chrome 不稳定(应该很快就会再次工作。
作为无法重建相关软件的最终用户甚至软件开发人员(或者可能只是不想投入如此不平凡的努力(,对于这种glibc版本依赖关系,人们几乎无能为力。 因此,几乎要求所有构建都针对与想要支持的最早操作系统版本匹配的构建环境进行。
在 Chromedriver 2.32 中,GLIBC 2.18 的依赖已被移除,因此该版本在 Centos 7 上可以安全使用。
回到 chromedriver 2.30,它可以在 CentOS 7 上与 google-chrome-stable.x86_64 0:60.0.3112.113-1 一起使用