add z3 (regular) and angr

This commit is contained in:
xenia 2021-06-16 02:21:34 -04:00
parent 29be9a49e8
commit faaa550daa
1 changed files with 77 additions and 25 deletions

View File

@ -5,13 +5,36 @@
LD_LIBRARY_PATH: '/home/{{ ansible_user }}/.local/lib:{{ ansible_env.get("LD_LIBRARY_PATH", "") }}' LD_LIBRARY_PATH: '/home/{{ ansible_user }}/.local/lib:{{ ansible_env.get("LD_LIBRARY_PATH", "") }}'
vars: vars:
python_version: 3.9.5 python_version: 3.9.5
z3_version: 4.8.11
base_packages:
- dask
- distributed
- blosc
- lz4
worker_packages:
- numpy
- scipy
- pandas
- scikit-image
- matplotlib
- opt_einsum
- cloudpickle
- fsspec
- partd
- psutil
- sqlalchemy
- toolz
- xxhash
scheduler_packages:
- bokeh
- jupyter-server-proxy
tasks: tasks:
- name: install system packages - name: install system packages
become: yes become: yes
apt: apt:
name: ["build-essential", "wget", "software-properties-common", "libnss3-dev", "zlib1g-dev", name: ["build-essential", "wget", "software-properties-common", "libnss3-dev", "zlib1g-dev",
"libgdbm-dev", "libncurses5-dev", "libssl-dev", "libffi-dev", "libreadline-dev", "libgdbm-dev", "libncurses5-dev", "libssl-dev", "libffi-dev", "libreadline-dev",
"libsqlite3-dev", "libbz2-dev", "libopenblas-dev"] "libsqlite3-dev", "libbz2-dev", "libopenblas-dev", "cmake"]
state: present state: present
update_cache: yes update_cache: yes
@ -52,6 +75,39 @@
make -j$(nproc) EXTRA_CFLAGS="$CFLAGS" make -j$(nproc) EXTRA_CFLAGS="$CFLAGS"
make EXTRA_CFLAGS="$CFLAGS" install make EXTRA_CFLAGS="$CFLAGS" install
- name: build and install z3 (workers)
when: leylines_is_server == "no"
register: z3install
changed_when: "'NO_COMPILE_NEEDED' not in pyinstall.stdout"
args:
executable: "/bin/bash"
shell: |
set -eo pipefail
existing_ver="$(python3 -c "import z3; print(z3.get_version_string())" || true)"
if [ "$existing_ver" == "{{ z3_version }}" ]; then
echo "NO_COMPILE_NEEDED"
exit
fi
cd $HOME/python
wget -O z3.tgz https://github.com/Z3Prover/z3/archive/z3-{{ z3_version }}.tar.gz
tar xf z3.tgz
# microsoft why are you like this
cd z3-z3-{{ z3_version }}
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$HOME/.local \
-DCMAKE_INSTALL_LIBDIR=lib \
-DZ3_LINK_TIME_OPTIMIZATION=1 \
-DZ3_BUILD_PYTHON_BINDINGS=1 \
-DPYTHON_EXECUTABLE=$HOME/.local/bin/python3
make -j$(nproc)
make install
cd $HOME/.local/lib/python*/site-packages/z3
python3 -m compileall .
python3 -O -m compileall .
- name: create dask dir - name: create dask dir
file: file:
path: /home/{{ ansible_user }}/dask path: /home/{{ ansible_user }}/dask
@ -60,35 +116,31 @@
- name: install python packages - name: install python packages
vars: vars:
- base_packages: python_packages: "{% if leylines_is_server %}{{ base_packages + scheduler_packages }}{% else %}{{ base_packages + worker_packages }}{% endif %}"
- dask
- distributed
- blosc
- lz4
- worker_packages:
- numpy
- scipy
- pandas
- scikit-image
- matplotlib
- opt_einsum
- cloudpickle
- fsspec
- partd
- psutil
- sqlalchemy
- toolz
- xxhash
- scheduler_packages:
- bokeh
- jupyter-server-proxy
- python_packages: "{% if leylines_is_server %}{{ base_packages + scheduler_packages }}{% else %}{{ base_packages + worker_packages }}{% endif %}"
pip: pip:
virtualenv: /home/{{ ansible_user }}/dask/dask-venv virtualenv: /home/{{ ansible_user }}/dask/dask-venv
virtualenv_command: python3.9 -m venv virtualenv_command: python3 -m venv
virtualenv_site_packages: True
state: latest state: latest
name: "{{ python_packages }}" name: "{{ python_packages }}"
- name: create alternate venv for angr
when: leylines_is_server == "no"
pip:
virtualenv: /home/{{ ansible_user }}/dask/angr-venv
virtualenv_command: python3 -m venv
state: latest
name: ["angr", "cloudpickle"]
- name: copy weird packages
when: leylines_is_server == "no"
changed_when: true
args:
executable: "/bin/bash"
shell: |
set -eo pipefail
cp -r $HOME/.local/lib/python*/site-packages/z3/ $HOME/dask/dask-venv/lib/python*/site-packages/
- name: install systemd user dir - name: install systemd user dir
file: file:
path: /home/{{ ansible_user }}/.config/systemd/user path: /home/{{ ansible_user }}/.config/systemd/user