[Wheel-builders] Problem with "too-recent versioned symbols"

Lele Gaifax lele at metapensiero.it
Sat Aug 19 06:56:46 EDT 2017


Lele Gaifax <lele at metapensiero.it> writes:

> Nick Coghlan <ncoghlan at gmail.com> writes:
>
>> While it won't answer the "how", it may be worth trying adding this to
>> see if you can keep it from happening:
>>
>>     #ifdef __GLIBC__
>>     __asm__(".symver memcpy,memcpy at GLIBC_2.2.5");
>>     #endif
>
> Yes, I thought about that, after reading the recent "Building manylinux1
> wheels with newer toolchains" thread in this ML: I will try and report back.
>

I added that trick[1], that seems to be effectively fixing the problem: on my
local machine, inspecting the result .so with ``readelf`` shows the expected
version of memcpy, and the whole test suite pass. What happens on Travis CI is
different though, the wheel gets correctly repaired:

  auditwheel repair /tmp/built_wheel/python_rapidjson-0.1.0-cp36-cp36m-linux_x86_64.whl -w /tmp/delocated_wheel

  Repairing python_rapidjson-0.1.0-cp36-cp36m-linux_x86_64.whl
  Previous filename tags: linux_x86_64
  New filename tags: manylinux1_x86_64
  Previous WHEEL info tags: cp36-cp36m-linux_x86_64
  New WHEEL info tags: cp36-cp36m-manylinux1_x86_64

but as soon cibuildwheel runs the test suite it immediately fails with:

  Traceback (most recent call last):
    File "/opt/_internal/cpython-3.6.0/lib/python3.6/site-packages/_pytest/config.py", line 379, in _importconftest
      mod = conftestpath.pyimport()
    File "/opt/_internal/cpython-3.6.0/lib/python3.6/site-packages/py/_path/local.py", line 662, in pyimport
      __import__(modname)
    File "/opt/_internal/cpython-3.6.0/lib/python3.6/site-packages/_pytest/assertion/rewrite.py", line 212, in load_module
      py.builtin.exec_(co, mod.__dict__)
    File "/project/tests/conftest.py", line 26, in <module>
      import rapidjson as rj
  ImportError: /opt/_internal/cpython-3.6.0/lib/python3.6/site-packages/rapidjson.cpython-36m-x86_64-linux-gnu.so: ELF file OS ABI invalid

Do you think I should try to open an issue on GH pypa/manylinux1, referencing
this thread, and see if anybody has a clue on what's going on?

Thanks again for your time,
ciao, lele.

[1] https://github.com/python-rapidjson/python-rapidjson/commit/7fc196333cd33242b715c6092253b1036473898b
-- 
nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
lele at metapensiero.it  |                 -- Fortunato Depero, 1929.


More information about the Wheel-builders mailing list