fvutils / pyvsc

Python packages providing a library for Verification Stimulus and Coverage
https://fvutils.github.io/pyvsc
Apache License 2.0
113 stars 26 forks source link

Python 3.9 installation dependency pyboolector #54

Closed towoe closed 3 years ago

towoe commented 3 years ago

Hello, this is more an issue of the 'pyboolector' dependency. (And after a superficial search 'pyvsc' in the only package which directly relies on 'pyboolector'.) Not actually sure, but guessing that the package is coming from this github repo which as an fork does not allow issues I thought this might the best place to report the issue.

Starting with Python 3.9 I get the following error message:

STEP 4: RUN pip install --no-cache-dir -r requirements.txt
Collecting pyvsc
  Downloading pyvsc-0.2.8.20201222.1-py2.py3-none-any.whl (240 kB)
     |████████████████████████████████| 240 kB 1.5 MB/s
Collecting pyboolector
  Downloading PyBoolector-3.2.1.20201201.2.tar.gz (20 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-5bcujxdm/pyboolector_9a7ddce85e0e4e36a3cc1d856fc8cffd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-5bcujxdm/pyboolector_9a7ddce85e0e4e36a3cc1d856fc8cffd/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-5o0zmkn8
         cwd: /tmp/pip-install-5bcujxdm/pyboolector_9a7ddce85e0e4e36a3cc1d856fc8cffd/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-5bcujxdm/pyboolector_9a7ddce85e0e4e36a3cc1d856fc8cffd/setup.py", line 15, in <module>
        with open(cmakelists_txt, "r") as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-install-5bcujxdm/CMakeLists.txt'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Please let me know if more information is required. Thanks!

mballance commented 3 years ago

Hello @towoe, Thanks for raising this! I did create the PyPi release of Boolector to support PyVSC. My understanding is that a few people use the PyBoolector package, but the primarily target remains PyVSC.

I've updated the PyBoolector build to support Python 3.9. I'm running CentOS 8 and have not confirmed the 3.9 release personally. Please give it a try and let me know of any issues. I'll be happy to investigate if there are any.

Best Regards, Matthew

towoe commented 3 years ago

Thanks a lot @mballance for the quick fix. Now that I your change in https://github.com/fvutils/boolector_pypi/commit/5328e39e4196ba7040f62aa2ae29de3be74031e8 I think I understand why it did not work. Sorry, I am not that familiar with Python and PyPi to have spotted that before.

I updated to PyBoolector 3.2.1.20210109.1, installation was successful. And I tested within PyVSC (python -m pytest ve/unit) and despite the occasional failure of test_random_dist.py all tests were successful.