-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistency detected by ld.so: dl-version.c: 205: _dl_check_map_versions: Assertion `needed != NULL' failed! #103
Comments
Eeeeeeeeekh... I think this (NixOS/patchelf#85) was needed, but the last release from patchelf (which is in the ubuntu repos from what I can tell) was made prior to that PR. Building patchelf from source fixed my woes. |
Where are you running auditwheel? Are you using the manylinux1 container? |
I am not. I was having a lot of trouble getting all of my dependencies in Centos 5 and I since I have a very narrow list of target platforms (this is for private packages) I'm currently just running it in Ubuntu 16.04/18.04. Where I stand right now: I can patch my wheels just fine in either 16.04 or 18.04 and the resulting wheel works fine in other installations of 16.04 or 18.04 respectively. From the readme I had assumed that something compiled on an older OS should work ok in a later OS but that's not my experience so far. 18.04 wheels on 16.04 give
and 16.04 wheels in 18.04 straight up crash:
This isn't the end of the world but any advice on this would be helpful. Should I try finding the oldest possible linux where I can actually build my extensions? |
OK, so yeah, it sounds like your original issue is that you were using an old and broken version of patchelf, which is unfortunate, but if you were sourcing patchelf from someone else then there's not a lot we can do... The error for 18.04 wheels on 16.04 is expected – that's the linker detecting that you're using a library that assumes it's running on a newer system than 16.04 provides. I don't offhand know why you're getting a SIGILL for the 16.04 wheels running on 18.04. Probably the next step would be to use gdb to debug where it's happening, and if you figure it out then it'd be nice to know in case someone else runs into it, but it's not a configuration we have a lot of experience with. |
Okay, I'll try gdb and post back (actually is there a better place to have this discussion perchance?, feels out of place in this issue). |
I suspect this isn't sufficient information. I'm unfortunately not very skilled in gdb. Note that the system on which this wheel was built and patched had
If that matters. |
Out of curiosity I tried building on a 14.04 VM and bringing that over to my 18.04 machine, got a bus error this time. The same wheel works great in my 16.04 VM. I'm starting to wonder if this is a VM / non VM thing. Edit 1: A colleague running 16.04 on the metal can run the VM generated packages so it's not something specifically related to processor types as I was thinking it might be. Back to drawing board. Edit 2: A VM running 18.04 had the same error. I suppose I should give building using the manylinux1 docker image another college try. |
Final update: sucked it up and built everything inside a manylinux1 container. Everything works great now. |
Glad to hear it all worked out in the end :-) |
Should auditwheel/auditwheel/patcher.py Lines 41 to 45 in 686024e
Or maybe it is unrelated, was just wondering 🙂 |
Update for the weary traveler: You may be using a too old version of
patchelf
, try compiling it from source and using that instead.I'm getting this error when I try to import the module after install my repaired wheel in a fresh VM (or trying to import it directly from the .so on the machine where it was built).
The wheel is build for this package (https://github.com/safijari/pyOpenKarto/blob/python-devel/setup.py) in python2.7. I run auditwheel and get:
Nothing seems wrong with that output as far as I can tell. Pls halp :(
Update: Hmm, I moved all the .so files elsewhere and moved them back one by one, once I moved back this file...
that's when I get the crash... hmm. Unsure if this is to blame as I have another package like this which doesn't use boost and gives the same crash after auditwheel.
The text was updated successfully, but these errors were encountered: