Skip to content

Instantly share code, notes, and snippets.

@TinoDidriksen
Last active June 23, 2023 05:25
Show Gist options
  • Save TinoDidriksen/970d935e59aee5e0faef42ef831f537c to your computer and use it in GitHub Desktop.
Save TinoDidriksen/970d935e59aee5e0faef42ef831f537c to your computer and use it in GitHub Desktop.
HFST wheel manylinux_2_28_x86_64
# In a quay.io/pypa/manylinux_2_28_x86_64 container:
dnf update
dnf install flex bison readline-devel libicu-devel libtool swig pkgconfig readline-devel zlib-devel autoconf automake gcc-toolset-12-libatomic-devel
cd /home/tino/manylinux_2_28/foma/foma/
cmake .
make clean
time make -j8 2>&1 | tee build.log
make install
cd ../../openfst-1.7.9/
autoreconf -fvi
./configure --enable-bin --enable-compact-fsts --enable-compress --enable-const-fsts --enable-far --enable-fsts --enable-grm --enable-linear-fsts --enable-lookahead-fsts --enable-mpdt --enable-ngram-fsts --enable-pdt --enable-special --disable-static
time make -j8 2>&1 | tee build.log
make install
cd ../hfst/
autoreconf -fvi
./configure --disable-static --enable-all-tools --with-readline --with-unicode-handler=icu --with-openfst-upstream --with-foma-upstream --enable-python-bindings
time make -j8 2>&1 | tee build.log
make install
# Foma installs to the wrong local folder, so fix that
cp -av /usr/local/lib64/* /usr/local/lib/
ldconfig
ls /opt/python/*/bin
cd python/
/opt/python/cp312-cp312/bin/pip wheel . --no-deps -w wheelhouse/
auditwheel repair wheelhouse/libhfst_swig-3.16.0b0-cp312-cp312-linux_x86_64.whl --plat manylinux_2_28_x86_64 -w /home/tino/manylinux_2_28/wheelhouse/
/opt/python/cp310-cp310/bin/pip wheel . --no-deps -w wheelhouse/
auditwheel repair wheelhouse/libhfst_swig-3.16.0b0-cp310-cp310-linux_x86_64.whl --plat manylinux_2_28_x86_64 -w /home/tino/manylinux_2_28/wheelhouse/
# In a different pristine Ubuntu 22.04 container:
apt-get update
apt-get install python3-pip python3-pytest
cd /home/tino/manylinux_2_28/wheelhouse/
pip install libhfst_swig --no-index -f .
cd hfst-python/
python3 -m pytest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment