-
Notifications
You must be signed in to change notification settings - Fork 39
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
InternalError with Python 3.10: libname absent from _added_libs but library is present #223
Comments
Please run staticx with If you're comfortable running staticx from source, it may also be helpful to add these two lines: from pprint import pformat if arcname in self._added_libs:
logging.info("_added_libs is: {}".format(pformat(self._added_libs))) # <<<<<<<<
raise InternalError("libname {} absent from _added_libs but"
" library {} present".format(libname, arcname)) I don't have time to investigate very much right now, but it appears to be some discrepancy between the library's name and its actual resolved (through symlinks) file base name. |
Super, thank you for the pointers, they helped a lot. Problem was on my end. |
Do you mind sharing the details? |
@JonathonReinhart, hi, I reproduced this error in ubuntu:22.04
and the debug message is:
and the output of
|
With this extra logging:
Note that |
I think this is actually the problem:
The intended use case of adding symlinks is to handle library version numbers, e.g. The code (mistakenly) doesn't account for symlinks with the same basename, .e.g. The problem is that the paths are stripped any only the symlink name is kept. So we end up adding a self-referential symlink. I think we can just skip these. |
I have a PyInstalled app that is successfully bundled with staticx 0.13.6 on Python 3.8.10, but with Python 3.10.4 I get error:
From:
staticx/staticx/api.py
Lines 210 to 211 in 86298f6
Unsure how to handle this, do you have any pointers? Thank you for the great tool!
The text was updated successfully, but these errors were encountered: