JonathanSalwan / Triton

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
https://triton-library.github.io
Apache License 2.0
3.39k stars 524 forks source link

Fix Z3 dependency inconsistency and missing dependencies in Dockerfile #1296

Closed m-carrasco closed 6 months ago

m-carrasco commented 7 months ago

Hi :wave:

I've noticed some difficulties while building Triton from sources using the available Dockerfile. This PR aims to fix them.

  1. Now, Z3 is installed only once using pip to get rid of crashes like #1136. This also decreases the time taken to build the Docker image.
  2. The test suite was not executed for the Docker image, which is now.
  3. Some dependencies were missing for the test suite to run successfully.
  4. The Dockerfile was cloning the source code. This prevented us from testing the changes in the CI when working on a branch other than master.

Best regards, Manuel.

m-carrasco commented 7 months ago

The Docker image is built successfully and all test cases are good.

I'm not sure if the remaining failures are triggered by my changes. I missed setting version 4.8.14 for Z3 as in master, instead of the latest release 4.12.2. Could this be triggering the errors?

JonathanSalwan commented 7 months ago

I think those errors are not coming from your commit.

m-carrasco commented 7 months ago

Thank you @JonathanSalwan

I've just pushed a commit restoring the previous Z3 version. Let me know if I could do anything else.

cnheitman commented 7 months ago

Thanks @m-carrasco . It looks like the failures are not related to your commit. I'll merge your request (and take a look at CI to fix those other issues).