keystone icon indicating copy to clipboard operation
keystone copied to clipboard

Fail to load dynamic library

Open bannsec opened this issue 6 years ago • 9 comments

I think this issue was fixed in #301 but the version in pypi was pushed way back in Aug 2016...

ImportError: ERROR: fail to load the dynamic library.

This is after installing via pip install keystone-engine into a python virtualenv.

EDIT: To be clear, i'm asking for a new version of keystone-engine to be pushed to pypi. A lot has changed in 2 years I'm sure...

bannsec avatar Oct 28 '18 16:10 bannsec

Also just found a fun install bug in the current pypi release. However the library is being packaged is very wrong:

/home/angr/.virtualenvs/patchkit/lib/python2.7/site-packages/home/angr/.virtualenvs/patchkit/lib/python2.7/site-packages/keystone/libkeystone.so

That's not a typo. It recreated the entire path as a sub-path.

bannsec avatar Oct 28 '18 16:10 bannsec

Oh wow, +1 for this. You just solved my month old problem.

Slurpgeit avatar Dec 07 '18 21:12 Slurpgeit

From what I can tell, this issue might actually be fixed. However, nobody has bothered to push an update to pypi since July 2016. Building from source appears to install the .so file correctly.

Anyone wanna actually push an update plz? Should we expect that the python library is not going to be maintained?

bannsec avatar Oct 14 '19 17:10 bannsec

@aquynh Please push a new version to pypi

Inndy avatar Nov 20 '19 04:11 Inndy

looking for somebody who can help to review pull reqs, as well as improving the Python package (pypi). this is what i want to do, before the new release.

aquynh avatar Nov 20 '19 08:11 aquynh

FWIW, when I installed keystone-engine with pip install --user (Python 3.7, pip 19.1.1), the installation works fine. But when I used Python 3.6 (pip 20.0.2), it failed.

It's interesting that the folder looks like keystone_engine-0.9.1.post3.dist-info for the Python 3.6 install, and the folder looks like keystone_engine-0.9.1.post3-py3.7.egg-info for the Python 3.7 install.

caizixian avatar Apr 03 '20 03:04 caizixian

OK. I narrow the problem down to whether wheel is built during the installation. Try pip3 install --user -U --no-cache-dir --force-reinstall --no-binary keystone-engine keystone-engine as a workaround. YMMV.

caizixian avatar Apr 03 '20 03:04 caizixian

OK. I narrow the problem down to whether wheel is built during the installation. Try pip3 install --user -U --no-cache-dir --force-reinstall --no-binary keystone-engine keystone-engine as a workaround. YMMV.

Great! Works for me.

wtdcode avatar Apr 19 '20 12:04 wtdcode

Yep. Still waiting for keystone to push a new release.

On Mon, May 18, 2020, 12:01 AM gmagno [email protected] wrote:

Hey, I'm also having problems with keystone python bindings installation. pip install keystone-engine apparently works fine, with no errors. But when I try to import keystone, it fails with:

(.venv) .venv/opt/gdb $ python Python 3.7.5 (default, Nov 7 2019, 10:50:52) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.

import keystone Traceback (most recent call last): File "", line 1, in File "/opt/gdb/.venv/lib/python3.7/site-packages/keystone/init.py", line 4, in from .keystone import Ks, ks_version, ks_arch_supported, version_bind, debug, KsError, version File "/opt/gdb/.venv/lib/python3.7/site-packages/keystone/keystone.py", line 75, in raise ImportError("ERROR: fail to load the dynamic library.") ImportError: ERROR: fail to load the dynamic library.

[image: image] https://user-images.githubusercontent.com/46817915/82173196-c2e2f880-98a2-11ea-9c56-e1d4709961b9.png

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/keystone-engine/keystone/issues/386#issuecomment-629932714, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2HPYAD2SNBYQGECBB2X53RSCXKPANCNFSM4F7YHVVA .

bannsec avatar May 18 '20 12:05 bannsec