diff --git a/.github/workflows/build-kaldi-rpi.yml b/.github/workflows/build-kaldi-rpi.yml index c7d9eba6acf..96566f1b7ae 100644 --- a/.github/workflows/build-kaldi-rpi.yml +++ b/.github/workflows/build-kaldi-rpi.yml @@ -7,7 +7,7 @@ jobs: strategy: fail-fast: false matrix: - target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi, raspi_1_bullseye, raspi_2_bullseye, raspi_3_bullseye, raspi_4_bullseye] + target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi] include: - target: armv6l_raspbian cpu: arm1176 @@ -37,22 +37,6 @@ jobs: cpu: cortex-a53 base_image: dietpi:rpi_armv8_bullseye cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 - - target: raspi_1_bullseye - cpu: arm1176 - base_image: raspi_1_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero_w - - target: raspi_2_bullseye - cpu: cortex-a7 - base_image: raspi_2_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_3_bullseye - cpu: cortex-a53 - base_image: raspi_3_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_4_bullseye - cpu: cortex-a53 - base_image: raspi_4_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 steps: - uses: actions/checkout@v2 - id: define-openblas-archive-name @@ -76,7 +60,7 @@ jobs: /opt/kaldi commands: | apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool make + apt-get install --no-install-recommends -y gfortran python3 make zlib1g-dev apt-get upgrade -y wget ca-certificates cd tools bash extras/install_openblas.sh @@ -103,7 +87,7 @@ jobs: strategy: fail-fast: false matrix: - target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi, raspi_1_bullseye, raspi_2_bullseye, raspi_3_bullseye, raspi_4_bullseye] + target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi] include: - target: armv6l_raspbian cpu: arm1176 @@ -133,22 +117,6 @@ jobs: cpu: cortex-a53 base_image: dietpi:rpi_armv8_bullseye cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 - - target: raspi_1_bullseye - cpu: arm1176 - base_image: raspi_1_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero_w - - target: raspi_2_bullseye - cpu: cortex-a7 - base_image: raspi_2_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_3_bullseye - cpu: cortex-a53 - base_image: raspi_3_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_4_bullseye - cpu: cortex-a53 - base_image: raspi_4_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 steps: - uses: actions/checkout@v2 - id: get-openfst-version @@ -174,7 +142,7 @@ jobs: /opt/kaldi commands: | apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool make + apt-get install --no-install-recommends -y gawk g++ make apt-get upgrade -y wget ca-certificates cd tools make openfst-1.7.2 @@ -204,7 +172,7 @@ jobs: strategy: fail-fast: false matrix: - target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi, raspi_1_bullseye, raspi_2_bullseye, raspi_3_bullseye, raspi_4_bullseye] + target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi] include: - target: armv6l_raspbian cpu: arm1176 @@ -234,22 +202,6 @@ jobs: cpu: cortex-a53 base_image: dietpi:rpi_armv8_bullseye cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 - - target: raspi_1_bullseye - cpu: arm1176 - base_image: raspi_1_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero_w - - target: raspi_2_bullseye - cpu: cortex-a7 - base_image: raspi_2_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_3_bullseye - cpu: cortex-a53 - base_image: raspi_3_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_4_bullseye - cpu: cortex-a53 - base_image: raspi_4_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 steps: - uses: actions/checkout@v2 - id: define-tools @@ -312,7 +264,37 @@ jobs: /opt/kaldi commands: | apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool + apt-get install --no-install-recommends -y subversion gawk python3 automake autoconf git sox gfortran libtool zlib1g-dev g++ make patch + if [ -e /etc/apt/sources.list -a `grep -c bookworm /etc/apt/sources.list` -gt 0 ]; then + apt-get install --no-install-recommends -y wget mime-support + if [ `uname -m` = "aarch64" ]; then + arch=arm64 + dist=http://ftp.debian.org/debian/ + else + arch=armhf + dist=http://raspbian.raspberrypi.com/raspbian/ + fi + wget ${dist}pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/libf/libffi/libffi7_3.3-6_${arch}.deb + wget ${dist}pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_${arch}.deb + dpkg -i libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + rm libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + else + apt-get install --no-install-recommends -y python2.7 + fi cd tools bash extras/check_dependencies.sh make cub sctk_made sph2pipe -j 4 @@ -336,7 +318,7 @@ jobs: strategy: fail-fast: false matrix: - target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi, raspi_1_bullseye, raspi_2_bullseye, raspi_3_bullseye, raspi_4_bullseye] + target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi] include: - target: armv6l_raspbian cpu: arm1176 @@ -366,22 +348,6 @@ jobs: cpu: cortex-a53 base_image: dietpi:rpi_armv8_bullseye cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 - - target: raspi_1_bullseye - cpu: arm1176 - base_image: raspi_1_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero_w - - target: raspi_2_bullseye - cpu: cortex-a7 - base_image: raspi_2_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_3_bullseye - cpu: cortex-a53 - base_image: raspi_3_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_4_bullseye - cpu: cortex-a53 - base_image: raspi_4_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 steps: - uses: actions/checkout@v2 - id: define-step1 @@ -437,7 +403,37 @@ jobs: OPENFST_VERSION=${{ steps.get-openfst-version.outputs.OPENFST_VERSION }} apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool + apt-get install --no-install-recommends -y subversion gawk python3 automake autoconf git sox gfortran libtool zlib1g-dev g++ make patch + if [ -e /etc/apt/sources.list -a `grep -c bookworm /etc/apt/sources.list` -gt 0 ]; then + apt-get install --no-install-recommends -y wget mime-support + if [ `uname -m` = "aarch64" ]; then + arch=arm64 + dist=http://ftp.debian.org/debian/ + else + arch=armhf + dist=http://raspbian.raspberrypi.com/raspbian/ + fi + wget ${dist}pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/libf/libffi/libffi7_3.3-6_${arch}.deb + wget ${dist}pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_${arch}.deb + dpkg -i libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + rm libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + else + apt-get install --no-install-recommends -y python2.7 + fi cd src OPENFST_VER=${OPENFST_VERSION} ./configure --shared make depend -j 4 @@ -462,7 +458,7 @@ jobs: strategy: fail-fast: false matrix: - target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi, raspi_1_bullseye, raspi_2_bullseye, raspi_3_bullseye, raspi_4_bullseye] + target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi] include: - target: armv6l_raspbian cpu: arm1176 @@ -492,22 +488,6 @@ jobs: cpu: cortex-a53 base_image: dietpi:rpi_armv8_bullseye cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 - - target: raspi_1_bullseye - cpu: arm1176 - base_image: raspi_1_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero_w - - target: raspi_2_bullseye - cpu: cortex-a7 - base_image: raspi_2_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_3_bullseye - cpu: cortex-a53 - base_image: raspi_3_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_4_bullseye - cpu: cortex-a53 - base_image: raspi_4_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 steps: - uses: actions/checkout@v2 - id: define-step2 @@ -580,7 +560,37 @@ jobs: /opt/kaldi commands: | apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool + apt-get install --no-install-recommends -y subversion gawk python3 automake autoconf git sox gfortran libtool zlib1g-dev g++ make patch + if [ -e /etc/apt/sources.list -a `grep -c bookworm /etc/apt/sources.list` -gt 0 ]; then + apt-get install --no-install-recommends -y wget mime-support + if [ `uname -m` = "aarch64" ]; then + arch=arm64 + dist=http://ftp.debian.org/debian/ + else + arch=armhf + dist=http://raspbian.raspberrypi.com/raspbian/ + fi + wget ${dist}pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/libf/libffi/libffi7_3.3-6_${arch}.deb + wget ${dist}pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_${arch}.deb + dpkg -i libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + rm libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + else + apt-get install --no-install-recommends -y python2.7 + fi cd src make chainbin featbin fgmmbin fstbin gmmbin ivectorbin kwsbin latbin lmbin -j 4 - name: Create tarball for step 1 @@ -603,7 +613,7 @@ jobs: strategy: fail-fast: false matrix: - target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi, raspi_1_bullseye, raspi_2_bullseye, raspi_3_bullseye, raspi_4_bullseye] + target: [armv6l_raspbian, armv6l_raspios, armv7l_raspios, aarch64_raspios, armv6l_dietpi, armv7l_dietpi, aarch64_dietpi] include: - target: armv6l_raspbian cpu: arm1176 @@ -633,22 +643,6 @@ jobs: cpu: cortex-a53 base_image: dietpi:rpi_armv8_bullseye cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 - - target: raspi_1_bullseye - cpu: arm1176 - base_image: raspi_1_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero_w - - target: raspi_2_bullseye - cpu: cortex-a7 - base_image: raspi_2_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_3_bullseye - cpu: cortex-a53 - base_image: raspi_3_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_3b - - target: raspi_4_bullseye - cpu: cortex-a53 - base_image: raspi_4_bullseye:20220121 - cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 steps: - uses: actions/checkout@v2 - name: Define the release name @@ -724,7 +718,37 @@ jobs: commands: | . /etc/os-release && echo "$ID$VERSION_ID-`uname -m`" > release_name apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool + apt-get install --no-install-recommends -y subversion gawk python3 automake autoconf git sox gfortran libtool zlib1g-dev g++ make patch + if [ -e /etc/apt/sources.list -a `grep -c bookworm /etc/apt/sources.list` -gt 0 ]; then + apt-get install --no-install-recommends -y wget mime-support + if [ `uname -m` = "aarch64" ]; then + arch=arm64 + dist=http://ftp.debian.org/debian/ + else + arch=armhf + dist=http://raspbian.raspberrypi.com/raspbian/ + fi + wget ${dist}pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/p/python2.7/python2.7_2.7.18-8+deb11u1_${arch}.deb + wget ${dist}pool/main/libf/libffi/libffi7_3.3-6_${arch}.deb + wget ${dist}pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_${arch}.deb + dpkg -i libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + rm libffi7_3.3-6_${arch}.deb \ + libssl1.1_1.1.1w-0+deb11u1_${arch}.deb \ + libpython2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + python2.7-minimal_2.7.18-8+deb11u1_${arch}.deb \ + libpython2.7-stdlib_2.7.18-8+deb11u1_${arch}.deb \ + python2.7_2.7.18-8+deb11u1_${arch}.deb + else + apt-get install --no-install-recommends -y python2.7 + fi cd src make -j 4 - name: Create tarballs with files @@ -738,8 +762,8 @@ jobs: sudo cp -a {INSTALL,README.md,COPYING,src} dist/opt/kaldi/ mkdir -p dist/opt/kaldi/tools/OpenBLAS/ sudo cp -a tools/OpenBLAS/install dist/opt/kaldi/tools/OpenBLAS/ - sudo cp -a tools/openfst-${OPENFST_VERSION} dist/opt/kaldi/tools - sudo cp -a tools/openfst dist/opt/kaldi/tools + sudo cp -a tools/openfst-${OPENFST_VERSION} dist/opt/kaldi/tools/openfst-${OPENFST_VERSION} + sudo cp -a tools/openfst dist/opt/kaldi/tools/openfst sudo find dist/opt/kaldi -type f ! -regex '^.*\.\(h\|so.*\)$' -delete sudo find dist/opt/kaldi -type d -empty -delete diff --git a/.github/workflows/build-kaldi.yml b/.github/workflows/build-kaldi.yml index 0f9cccfc577..f0bb9bae8d6 100644 --- a/.github/workflows/build-kaldi.yml +++ b/.github/workflows/build-kaldi.yml @@ -4,33 +4,50 @@ jobs: build: name: "Build kaldi" strategy: + fail-fast: false matrix: - target: [macos, ubuntu] + target: [macos12, macos13, macos14, ubuntu20, ubuntu22] include: - - target: macos - os: macos-latest + - target: macos12 + os: macos-12 install_dir: /usr/local/opt pkgconfig_dir: /usr/local/lib/pkgconfig - - target: ubuntu - os: ubuntu-latest + - target: macos13 + os: macos-13 + install_dir: /usr/local/opt + pkgconfig_dir: /usr/local/lib/pkgconfig + - target: macos14 + os: macos-14 + install_dir: /usr/local/opt + pkgconfig_dir: /usr/local/lib/pkgconfig + - target: ubuntu20 + os: ubuntu-20.04 + install_dir: /opt + pkgconfig_dir: /usr/lib/pkgconfig + - target: ubuntu22 + os: ubuntu-22.04 install_dir: /opt pkgconfig_dir: /usr/lib/pkgconfig runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 + - name: Install MacPorts on macos + if: startsWith(matrix.os, 'macos') + uses: melusina-org/setup-macports@v1 - name: Install dependencies on macos - shell: bash if: startsWith(matrix.os, 'macos') + shell: bash run: | brew update - brew install gawk automake + brew install gawk automake subversion sox libtool brew reinstall gcc + port install python27 - name: Install dependencies on ubuntu if: startsWith(matrix.os, 'ubuntu') shell: bash run: | sudo apt-get update -y --allow-releaseinfo-change - sudo apt-get install --no-install-recommends -y subversion gawk python python3 automake autoconf git sox gfortran libtool + sudo apt-get install --no-install-recommends -y subversion gawk python2.7 python3 automake autoconf git sox gfortran libtool sudo update-ca-certificates - name: Install MKL if: startsWith(matrix.os, 'ubuntu') @@ -42,12 +59,6 @@ jobs: run: | sudo mkdir -p ${{ matrix.install_dir }} cd .. && sudo mv kaldi ${{ matrix.install_dir }}/kaldi && sudo ln -s ${{ matrix.install_dir }}/kaldi kaldi - - name: Compile OpenBLAS on macos - if: startsWith(matrix.os, 'macos') - shell: bash - run: | - cd ${{ matrix.install_dir }}/kaldi/tools - bash extras/install_openblas.sh - id: get-openfst-version name: Determine OpenFST version shell: bash @@ -75,7 +86,7 @@ jobs: OPENFST_VERSION: ${{ steps.get-openfst-version.outputs.OPENFST_VERSION }} run: | cd ${{ matrix.install_dir }}/kaldi/src - OPENFST_VER=${OPENFST_VERSION} ./configure --shared --mathlib=OPENBLAS + OPENFST_VER=${OPENFST_VERSION} ./configure --shared - name: Configure kaldi on ubuntu if: startsWith(matrix.os, 'ubuntu') shell: bash @@ -131,8 +142,8 @@ jobs: mkdir -p dist${{ matrix.install_dir }}/kaldi/tools/OpenBLAS/ cp -a tools/OpenBLAS/install dist${{ matrix.install_dir }}/kaldi/tools/OpenBLAS/ fi - cp -a tools/openfst-${OPENFST_VERSION} dist${{ matrix.install_dir }}/kaldi/tools - cp -a tools/openfst dist${{ matrix.install_dir }}/kaldi/tools + cp -a tools/openfst-${OPENFST_VERSION} dist${{ matrix.install_dir }}/kaldi/tools/openfst-${OPENFST_VERSION} + cp -a tools/openfst dist${{ matrix.install_dir }}/kaldi/tools/openfst if [ `uname` = "Linux" ]; then find dist${{ matrix.install_dir }}/kaldi -regextype posix-extended -type f ! -regex '.*\.(h|so.*)' -delete else