angr / angr-dev

Some helper scripts to set up an environment for angr development.
BSD 2-Clause "Simplified" License
114 stars 95 forks source link

setup script fails on Ubuntu 22.04 due to changed package name(libgcc1 -> libgcc-s1) #163

Closed dnivra closed 1 year ago

dnivra commented 2 years ago

setup.sh fails when run on Ubuntu 22.04 because it is fails to verify that package libgcc1:i386 is installed. This package is virtual in Ubuntu 22.04 and libgcc-s1:i386 is installed instead. Replacing libgcc1 with libgcc-s1 in the setup script seems to fix the issue.

twizmwazin commented 2 years ago

I have a WIP branch that sorta fixes this issue by removing the dependency altogether since angr itself doesn't depend on this package. https://github.com/angr/angr-dev/pull/157

ndlgiang commented 2 years ago

I have a WIP branch that sorta fixes this issue by removing the dependency altogether since angr itself doesn't depend on this package. #157

Thank for help! I switch to your branch and can install the angr-dev successfully (no issue is logged). However, I can't import angr library due to this issue: ModuleNotFoundError: No module named 'pyvex.vex_ffi'

Could you please double check this issue as well? Thanks. Full error stack:


---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In [1], line 3
      1 # Generate graph file
----> 3 import angr
      4 import pickle
      5 from angrutils import *

File ~/Education/Tools/angr-dev/angr/angr/__init__.py:40
     37 import_fake_pkg_resources(force=False)
     39 # this must happen first, prior to initializing analyses
---> 40 from .sim_procedure import SimProcedure
     41 from .procedures import SIM_PROCEDURES, SimProcedures, SIM_LIBRARIES
     43 from . import sim_options

File ~/Education/Tools/angr-dev/angr/angr/sim_procedure.py:7
      4 import logging
      5 from typing import TYPE_CHECKING, Union, Tuple
----> 7 from cle import SymbolType
      8 from archinfo.arch_soot import SootAddressDescriptor
     10 if TYPE_CHECKING:

File ~/Education/Tools/angr-dev/cle/cle/__init__.py:18
     16 # pylint: disable=wildcard-import
     17 from . import utils
...
---> 17 from .vex_ffi import ffi_str as _ffi_str
     18 ffi = cffi.FFI()
     20 import logging

ModuleNotFoundError: No module named 'pyvex.vex_ffi'
dnivra commented 2 years ago

@ndlgiang This is a known issue. See angr/angr#3487 for a workaround(TL;DR - modify setup.sh to install setuptools 64.0.1). You might have to remove and recreate the virtual environment.

ndlgiang commented 2 years ago

@dnivra Thank you for your help! I can re-install angr-dev successfully. Can you also help me with this issue? I can never able to update pyvex before. Every time I pull repo and run pip install -e pyvex, I got this error:

ERROR: Could not find a version that satisfies the requirement archinfo==9.2.18.dev0 (from pyvex) (from versions: 0.1, 0.2, 0.3, 4.5.9.9b0, 4.5.9.9, 4.5.9.13, 4.5.9.14, 4.5.10.14, 4.5.10.15, 4.5.11.23, 4.5.12.12, 4.5.12.21, 4.6.2.25, 4.6.3.15, 4.6.5.27, 4.6.6.4, 4.6.6.10, 4.6.6.28, 5.6.8.22, 5.6.10.5, 5.6.12.3, 6.7.1.13, 6.7.3.26, 6.7.4.12, 6.7.6.9, 6.7.7.27, 7.7.9.8, 7.7.9.14, 7.7.12.16, 7.8.2.21, 7.8.6.16, 7.8.7.1, 7.8.8.1, 8.18.10.5, 8.18.10.25, 8.19.2.4, 8.19.4.5, 8.19.7.25, 8.19.10.29, 8.19.10.30, 8.20.1.7, 8.20.5.27, 8.20.6.1, 8.20.6.8, 8.20.7.6, 8.20.7.27, 9.0.4378, 9.0.4446, 9.0.4495, 9.0.4663, 9.0.4885, 9.0.4940, 9.0.5002, 9.0.5034, 9.0.5171, 9.0.5326, 9.0.5327, 9.0.5376, 9.0.5405, 9.0.5450, 9.0.5609, 9.0.5610, 9.0.5739, 9.0.5811, 9.0.5903, 9.0.6136, 9.0.6281, 9.0.6421, 9.0.6488, 9.0.6588, 9.0.6642, 9.0.6790, 9.0.6852, 9.0.6885, 9.0.7293, 9.0.7491, 9.0.7833, 9.0.7912, 9.0.8021, 9.0.8761, 9.0.9031, 9.0.9166, 9.0.9297, 9.0.9355, 9.0.9438, 9.0.9506, 9.0.9572, 9.0.9684, 9.0.9792, 9.0.9947, 9.0.10010, 9.0.10055, 9.0.10072, 9.0.10159, 9.0.10281, 9.0.10339, 9.0.10409, 9.0.10534, 9.0.10576, 9.0.10651, 9.0.10689, 9.0.10730, 9.1.10913, 9.1.11508, 9.1.11611, 9.1.11752, 9.1.12332, 9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.2.5, 9.2.6, 9.2.7, 9.2.8, 9.2.9, 9.2.10, 9.2.11, 9.2.12, 9.2.13, 9.2.14, 9.2.15, 9.2.16, 9.2.17)
ERROR: No matching distribution found for archinfo==9.2.18.dev0

Thank you.

dnivra commented 2 years ago

You probably want to update all other repos as well. If that alone doesn't work, reinstalling everything using setup.sh should fix things.

If there are more issues you encounter, I would recommend creating new bug reports instead of commenting on this issue. Also, consider joining the angr slack if you are not already there.

ndlgiang commented 2 years ago

@dnivra Thank you for your help! I tried several times in the past 5 months, the upgrade never work. I always reinstall everything using setup.sh if I need major fix.

I will join the angr slack and looking for more information.

twizmwazin commented 1 year ago

libgcc1 is no longer installed as part of setup.sh.