[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