Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ChromeDriver 2.31 not working in CentOS / RHEL 7 (gilbc 2.18 required)

When trying to use ChromeDriver 2.31 in CentOS 7 I get the following error:

version 'GLIBC_2.18' not found

ChromeDriver developers confirm that glibc library dependency has been promoted to 2.18, while CentOS 7 has version 2.17.

Related links:

  • Announcing ChromeDriver 2.31
  • ChromeDriver Issue #1894
  • ChromeDriver Issue #1772

Is there a way to make it work without switching to another OS?

like image 922
Oleg Efimov Avatar asked Jul 28 '17 06:07

Oleg Efimov


2 Answers

The Chromium developers are aware of the issue and working on a fix:

  • glibc dependency creeped up to 2.18 in M61, breaking EL7 support

During the switch to libc++, they accidentally referenced a new symbol from the glibc version in their sysroot, __cxa_thread_atexit_impl. But this was only introduce in glibc 2.18, and Red Hat Enterprise Linux 7 only has version 2.17. Apparently, for their use cases, libc++ works well enough without this symbol (similar to libstdc++ from GCC), so they just need to tweak their build not to use it, and Chromium (and thus Chrome Driver and Chrome unstable) should work again soon.

As an end user or even software developer who cannot rebuild the software in question (or maybe just does not want to invest such a non-trivial effort), there is little one can do about such glibc version dependencies. Therefore, it is pretty much a requirement that all builds happen against a build environment which matches the oldest operating system version one wants to support.

like image 122
Florian Weimer Avatar answered Sep 29 '22 02:09

Florian Weimer


Dependency to GLIBC 2.18 have been removed in Chromedriver 2.32, so that version is safe to use on Centos 7.

like image 22
user2505096 Avatar answered Sep 29 '22 01:09

user2505096