On Tue, Feb 18, 2020 at 5:19 AM Daniel Alley <[email protected]> wrote: > > Hi all, > > I am attempting to package a C library with python extensions, createrepo_c, > as a Python wheel that we can distribute on PyPI. The library compiles > successfully on every platform we've tried, but "auditwheel repair" fails > with the error: > >> auditwheel: error: cannot repair >> "wheelhouse/createrepo_c-0.15.7-cp35-cp35m-linux_x86_64.whl" to >> "manylinux2014_x86_64" ABI because of the presence of too-recent versioned >> symbols. You'll need to compile the wheel on an older toolchain. > > > Here is the output of "auditwheel show" and "auditwheel repair": > https://pastebin.com/zBA2KGqV > > I *think* (but don't know for sure) that the problem is that installing the > development headers for libcurl forces new versions of curl and libcurl to be > installed. But I'm not that experienced at this and the tooling doesn't > explicitly say which symbols are "too recent". > > https://pastebin.com/raw/1uDxrwXx > > Here is the full code -- see the branch referred to by this PR: > https://github.com/rpm-software-management/createrepo_c/pull/207 > > Can anybody point me in the right direction towards resolving this issue? Is > this a bug, a problem with my own code, a problem with the RPMs available?
I don't think libcurl is involved – 'auditwheel repair' will vendor libcurl. The libraries it can't vendor are the C runtime libraries like libc, libm, libgcc_s. (I agree that it'd be nice if auditwheel gave more details!) Are you using the manylinux2014 docker images to build your wheels? That should automatically take care of the C runtime issues and various other subtle details. It's not technically mandatory, but in practice basically everyone should be using it. -n -- Nathaniel J. Smith -- https://vorpus.org _______________________________________________ Wheel-builders mailing list [email protected] https://mail.python.org/mailman/listinfo/wheel-builders
