pythonmacos-high-sierraangr

Error when I'm trying to use angr on OS X


When I try to use angr I get this warning

import angr WARNING | 2018-06-30 15:10:26,560 | angr.state_plugins.unicorn_engine | failed loading "angr_native.dylib", unicorn support disabled (dlopen(/usr/local/lib/python2.7/site-packages/angr/lib/angr_native.dylib, 6): Library not loaded: libunicorn.1.dylib Referenced from: /usr/local/lib/python2.7/site-packages/angr/lib/angr_native.dylib
Reason: image not found: dlopen(/usr/local/lib/python2.7/site-packages/angr/lib/angr_native.dylib, 6): Library not loaded: libunicorn.1.dylib Referenced from: /usr/local/lib/python2.7/site-packages/angr/lib/angr_native.dylib
Reason: image not found)

Could you help to solve this problem?


Solution

  • I got exactly the same issue. It was a shame on me that I did not follow the installation instruction https://docs.angr.io/INSTALL.html. On Mac, the following fix must be done.

    BASEDIR=/usr/local/lib/python2.7/site-packages
    # If you don't know where your site-packages folder is, use this to find them:
    python2 -c "import site; print(site.getsitepackages())"
    
    install_name_tool -change libunicorn.1.dylib "$BASEDIR"/unicorn/lib/libunicorn.dylib "$BASEDIR"/angr/lib/angr_native.dylib
    install_name_tool -change libpyvex.dylib "$BASEDIR"/pyvex/lib/libpyvex.dylib "$BASEDIR"/angr/lib/angr_native.dylib