add z3 (regular) and angr
This commit is contained in:
parent
29be9a49e8
commit
faaa550daa
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue