s2e icon indicating copy to clipboard operation
s2e copied to clipboard

Use prebuilt packages for LLVM and Z3

Open artemdinaburg opened this issue 2 years ago • 6 comments

Hi,

This PR will allow the (optional) use of pre-built LLVM and Z3 packages instead of building these tools from source. It should greatly speed up build/ci times.

LLVM is expected to be pre-installed by the user as a system package (the Dockerfile was modified to fetch LLVM-13 from LLVM's apt repo).

The specific version of Z3 used is fetched as a binary release from the Z3 github page.

Should fix s2e-env/#454

artemdinaburg avatar Apr 18 '22 21:04 artemdinaburg

Nice job! I'll test it asap. A couple formal remarks:

  • Prefix commit messages with the module that the commit touches. Have a look at the commit history to see how it looks like.
  • If you find yourself fixing something that was previously introduced in the PR, squash that fix.
  • Logically separate changes should go into separate commits. E.g., don't mix z3 changes with LLVM. You could even move Z3 to a separate PR to have it merged quicker, since it's a lot simpler.

All this makes reviewer's job much easier.

vitalych avatar Apr 18 '22 21:04 vitalych

Double-check that the docker demo image still works: http://s2e.systems/docs/BuildingS2E.html

vitalych avatar Apr 18 '22 22:04 vitalych

Splitting out Binary z3 support into into a separate PR: https://github.com/S2E/s2e/pull/50

artemdinaburg avatar Apr 19 '22 21:04 artemdinaburg

Just tested this PR, it builds great. The demo I linked above doesn't start though, QEMU crashes with this eror:

/home/vitaly/s2e/env/build/s2e-demo/install/bin/qemu-system-i386: error while loading shared libraries: libLTO.so.13: cannot open shared object file: No such file or directory

vitalych avatar Apr 19 '22 21:04 vitalych

Hmm, likely an LD_LIBRARY_PATH issue; will look into it.

artemdinaburg avatar Apr 20 '22 16:04 artemdinaburg

The binary LLVM-13 commit split into https://github.com/S2E/s2e/pull/53 and to get the demo to run, https://github.com/S2E/scripts/pull/5

artemdinaburg avatar Apr 21 '22 18:04 artemdinaburg

Closing stale PR.

vitalych avatar Mar 12 '23 00:03 vitalych