Uploaded image for project: 'Aurora'
  1. Aurora
  2. AURORA-823

thermos pex GLIBC error when using py27/glibc 2.12/rhel6.4

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.5.0
    • Fix Version/s: 0.8.0
    • Component/s: Executor
    • Labels:
      None
    • Sprint:
      Twitter Aurora Q4 Sprint 5, Twitter Aurora Q4 Sprint 6

      Description

      https://pypi.python.org/pypi/mesos.native/0.20.0

      Recently, pants config in aurora build is modified to enforce python >= 2.7. With this change, we can't use mesos.native library. The mesos.native egg in above pypi was built using py27/glibc 2.16. RHEL6 is still using glibc 2.12. The pex built using this library is not runnable, unless glibc is upgraded to 2.16.

      Here is a sample traceback occur when running gc_executor. Same error occur with thermos_observer and thermos_executor:

      $ /usr/local/bin/gc_executor 
      Traceback (most recent call last):
        File "/usr/local/bin/gc_executor/.bootstrap/_pex/pex.py", line 225, in execute
          self.execute_entry(entry_point, args)
        File "/usr/local/bin/gc_executor/.bootstrap/_pex/pex.py", line 273, in execute_entry
          runner(entry_point)
        File "/usr/local/bin/gc_executor/.bootstrap/_pex/pex.py", line 295, in execute_pkg_resources
          runner = entry.load(require=False)  # trust that the environment is sane
        File "/usr/local/bin/gc_executor/.bootstrap/pkg_resources.py", line 2048, in load
          entry = __import__(self.module_name, globals(),globals(), ['__name__'])
        File "/usr/local/bin/gc_executor/apache/aurora/executor/bin/gc_executor_main.py", line 22, in <module>
        File "/root/.pex/install/mesos.native-0.20.0-py2.7-linux-x86_64.egg.be6632b790cd03172f858e7f875cdab4ef415ca5/mesos.native-0.20.0-py2.7-linux-x86_64.egg/mesos/native/__init__.py", line 17, in <module>
          from ._mesos import MesosExecutorDriverImpl
      ImportError: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /root/.pex/install/mesos.native-0.20.0-py2.7-linux-x86_64.egg.be6632b790cd03172f858e7f875cdab4ef415ca5/mesos.native-0.20.0-py2.7-linux-x86_64.egg/mesos/native/_mesos.so)
      

      I think, the fix is to recompile mesos.native egg to be compatible with glibc >= v2.12. Same is applicable for mesos.interface egg.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                wickman Brian Wickman
                Reporter:
                bhuvan Bhuvaneswaran A
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: