Skip to content

Instantly share code, notes, and snippets.

@david-r-cox
Created January 3, 2023 02:37
Show Gist options
  • Save david-r-cox/d8e3eb9c3f6aafb7aea5eb9511c21e0f to your computer and use it in GitHub Desktop.
Save david-r-cox/d8e3eb9c3f6aafb7aea5eb9511c21e0f to your computer and use it in GitHub Desktop.
Dockerfile for github.com/yuce/pyswip/pull/133 (swi-prolog-8.5.3-support)
FROM ubuntu:jammy-20221130
RUN apt update && apt install -y \
build-essential cmake ninja-build pkg-config \
ncurses-dev libreadline-dev libedit-dev \
libgoogle-perftools-dev \
libgmp-dev \
libssl-dev \
unixodbc-dev \
zlib1g-dev libarchive-dev \
libossp-uuid-dev \
libxext-dev libice-dev libjpeg-dev libxinerama-dev libxft-dev \
libxpm-dev libxt-dev \
libdb-dev \
libpcre2-dev \
libyaml-dev \
default-jdk junit4 \
python3 python3-pip \
git
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1
WORKDIR /src
RUN git clone https://github.com/SWI-Prolog/swipl-devel.git && \
cd /src/swipl-devel && \
git checkout 95772504fb5ea0ad4f6abaf37b7a480a4053f306 && \
git submodule update --init --recursive && \
mkdir build && \
cd /src/swipl-devel/build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
make -j 16 && \
ctest -j 16 && \
make install
WORKDIR /src
RUN git clone https://github.com/david-r-cox/pyswip.git && \
cd pyswip && \
git checkout swi-prolog-8.5.3-support
WORKDIR /src/pyswip
RUN make
RUN python3 -c "from pyswip import Prolog; \
prolog = Prolog(); \
prolog.assertz('father(michael,john)')"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment