diff --git a/.github/actions/multistrap/action.yml b/.github/actions/multistrap/action.yml index 74fba64b7..030e38412 100644 --- a/.github/actions/multistrap/action.yml +++ b/.github/actions/multistrap/action.yml @@ -1,9 +1,14 @@ name: "multistrap install" description: "Install a system root using multistrap" inputs: - multistrap-config: - description: "Multistrap config file to use" + arch: + description: "Target arch" required: true + default: "" + pyver: + description: "Python version" + required: false + default: "" packages: description: "Extra packages to install" required: false @@ -19,13 +24,34 @@ runs: - id: create_chroot run: | set -xe + + echo "arch input parameter: "${{ inputs.arch }}"" + echo "pyver input parameter: "${{ inputs.pyver }}"" - multistrap_conf="${{ inputs.multistrap-config }}" - if [ "$multistrap_conf" = "multistrap_raspbian_buster.conf" ]; then - wget http://archive.raspbian.org/raspbian/pool/main/r/raspbian-archive-keyring/raspbian-archive-keyring_20120528.2_all.deb && sudo dpkg -i raspbian-archive-keyring_20120528.2_all.deb - elif [ "$multistrap_conf" = "multistrap_raspbian_bullseye.conf" ]; then + multistrap_conf="" + if [ "${{ inputs.arch }}" = "armv7" ]; then + multistrap_conf=multistrap_raspbian_buster.conf wget http://archive.raspbian.org/raspbian/pool/main/r/raspbian-archive-keyring/raspbian-archive-keyring_20120528.2_all.deb && sudo dpkg -i raspbian-archive-keyring_20120528.2_all.deb fi + if [ "${{ inputs.arch }}" = "aarch64" ]; then + multistrap_conf=multistrap_armbian64_buster.conf + fi + if [ "${{ inputs.arch }}" = "armv7" ] && [ "${{ inputs.pyver }}" = "3.7" ]; then + multistrap_conf=multistrap_raspbian_buster.conf + fi + if [ "${{ inputs.arch }}" = "armv7" ] && [ "${{ inputs.pyver }}" = "3.9" ]; then + multistrap_conf=multistrap_raspbian_bullseye.conf + fi + if [ "${{ inputs.arch }}" = "aarch64" ] && [ "${{ inputs.pyver }}" = "3.7" ]; then + multistrap_conf=multistrap_armbian64_buster.conf + fi + if [ "${{ inputs.arch }}" = "aarch64" ] && [ "${{ inputs.pyver }}" = "3.9" ]; then + multistrap_conf=multistrap_armbian64_bullseye.conf + fi + if [ "${{ inputs.arch }}" = "" ] && [ "${{ inputs.pyver }}" = "" ]; then + echo "Either arch or pyver input parameters needs to be provided" + exit 1 + fi # Retry 2 times because Rasbian mirrors are often failing if ! multistrap -d ${{ env.SYSTEM_RASPBIAN }} -f ${{ github.workspace }}/native_client/${multistrap_conf}; then diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index ae42551f7..fefcab642 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -637,12 +637,12 @@ jobs: needs: [ build-nodejs-Linux, train-test-model-Linux ] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: # https://nodejs.org/en/about/releases/ nodejs-version: [12, 14, 16, 17] models: ["test"] samplerate: ["16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -689,11 +689,11 @@ jobs: needs: [ build-nodejs-Linux, train-test-model-Linux ] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: electronjs-version: [12.0.0, 13.0.0, 14.0.0, 15.0.0, 16.0.0] models: ["test"] samplerate: ["16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -1169,12 +1169,6 @@ jobs: - uses: actions/download-artifact@v2 with: name: stt-tflite-3.7-aarch64.whl - - uses: actions/download-artifact@v2 - with: - name: stt-tflite-3.8-armv7.whl - - uses: actions/download-artifact@v2 - with: - name: stt-tflite-3.8-aarch64.whl - uses: actions/download-artifact@v2 with: name: stt-tflite-3.9-armv7.whl @@ -1926,12 +1920,12 @@ jobs: needs: [build-nodejs-macOS, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: # https://nodejs.org/en/about/releases/ nodejs-version: [12, 14, 16, 17] models: ["test"] samplerate: ["16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -2342,11 +2336,11 @@ jobs: needs: [ build-nodejs-Windows, train-test-model-Linux ] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: nodejs-version: [12, 14, 16] models: ["test"] samplerate: ["16000"] + fail-fast: false env: CI_TMP_DIR: tmp/ STT_TEST_MODEL: tmp/output_graph.tflite @@ -2510,12 +2504,12 @@ jobs: needs: [repackage-nodejs-allplatforms, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: # https://nodejs.org/en/about/releases/ nodejs-version: [12, 17] models: ["test", "prod"] samplerate: ["8000", "16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -2562,11 +2556,11 @@ jobs: needs: [repackage-nodejs-allplatforms, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: electronjs-version: [12.0.0, 16.0.0] models: ["test", "prod"] samplerate: ["8000", "16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -2614,12 +2608,12 @@ jobs: needs: [repackage-nodejs-allplatforms, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: # https://nodejs.org/en/about/releases/ nodejs-version: [12, 17] models: ["test", "prod"] samplerate: ["8000", "16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -2664,11 +2658,11 @@ jobs: needs: [repackage-nodejs-allplatforms, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: electronjs-version: [12.0.0, 16.0.0] models: ["test", "prod"] samplerate: ["8000", "16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp/ STT_TEST_MODEL: ${{ github.workspace }}/tmp/output_graph.tflite @@ -2717,12 +2711,12 @@ jobs: needs: [repackage-nodejs-allplatforms, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: # https://nodejs.org/en/about/releases/ nodejs-version: [12, 16] models: ["test", "prod"] samplerate: ["8000", "16000"] + fail-fast: false env: CI_TMP_DIR: tmp/ STT_TEST_MODEL: tmp/output_graph.tflite @@ -2780,11 +2774,11 @@ jobs: needs: [repackage-nodejs-allplatforms, train-test-model-Linux] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: electronjs-version: [12.0.0, 16.0.0] models: ["test", "prod"] samplerate: ["8000", "16000"] + fail-fast: false env: CI_TMP_DIR: tmp/ STT_TEST_MODEL: tmp/output_graph.tflite @@ -2854,7 +2848,7 @@ jobs: - name: Install chroot uses: ./.github/actions/multistrap with: - multistrap-config: multistrap_raspbian_buster.conf + arch: armv7 - run: ./ci_scripts/tf-setup.sh - run: ./ci_scripts/armv7-build.sh - run: ./ci_scripts/package.sh @@ -2883,7 +2877,7 @@ jobs: - name: Install chroot uses: ./.github/actions/multistrap with: - multistrap-config: multistrap_armbian64_buster.conf + arch: aarch64 - run: ./ci_scripts/tf-setup.sh - run: ./ci_scripts/aarch64-build.sh - run: ./ci_scripts/package.sh @@ -2900,19 +2894,19 @@ jobs: runs-on: ubuntu-20.04 needs: [build-lib-LinuxArmv7, swig_Linux] strategy: - fail-fast: false matrix: include: - - python-version: "3.7" + - python-version: 3.7 system-raspbian: multistrap-raspbian-buster - multistrap-config: multistrap_raspbian_buster.conf - - python-version: "3.9" + arch: armv7 + - python-version: 3.9 system-raspbian: multistrap-raspbian-bullseye - multistrap-config: multistrap_raspbian_bullseye.conf + arch: armv7 + fail-fast: false env: DEBIAN_FRONTEND: "noninteractive" SYSTEM_TARGET: rpi3 - SYSTEM_RASPBIAN: "${{ github.workspace }}/${{ matrix.system-raspbian }}" + SYSTEM_RASPBIAN: ${{ github.workspace }}/${{ matrix.system-raspbian }} steps: - uses: actions/checkout@v2 with: @@ -2940,7 +2934,8 @@ jobs: - name: "Install chroot" uses: ./.github/actions/multistrap with: - multistrap-config: ${{ matrix.multistrap-config }} + arch: ${{ matrix.arch }} + pyver: ${{ matrix.python-version }} - id: get_numpy uses: ./.github/actions/numpy_vers with: @@ -2996,7 +2991,7 @@ jobs: - name: "Install chroot" uses: ./.github/actions/multistrap with: - multistrap-config: multistrap_raspbian_buster.conf + arch: armv7 - uses: actions/setup-node@v2 with: node-version: 12 @@ -3037,11 +3032,18 @@ jobs: needs: [build-lib-LinuxAarch64, swig_Linux] strategy: matrix: - python-version: ["3.7"] + include: + - python-version: 3.7 + system-raspbian: multistrap-armbian64-buster + arch: aarch64 + - python-version: 3.9 + system-raspbian: multistrap-armbian64-bullseye + arch: aarch64 + fail-fast: false env: DEBIAN_FRONTEND: "noninteractive" SYSTEM_TARGET: rpi3-armv8 - SYSTEM_RASPBIAN: ${{ github.workspace }}/multistrap-armbian64-buster + SYSTEM_RASPBIAN: ${{ github.workspace }}/${{ matrix.system-raspbian }} steps: - run: | sudo apt-get install -y --no-install-recommends @@ -3071,7 +3073,8 @@ jobs: - name: "Install chroot" uses: ./.github/actions/multistrap with: - multistrap-config: multistrap_armbian64_buster.conf + arch: ${{ matrix.arch }} + pyver: ${{ matrix.python-version }} - id: get_numpy uses: ./.github/actions/numpy_vers with: @@ -3127,7 +3130,7 @@ jobs: - name: "Install chroot" uses: ./.github/actions/multistrap with: - multistrap-config: multistrap_armbian64_buster.conf + arch: aarch64 - uses: actions/setup-node@v2 with: node-version: 12 @@ -3167,18 +3170,21 @@ jobs: runs-on: ubuntu-20.04 if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: include: - - arch: "armv7" - system: "buster" - multistrap-config: "multistrap_raspbian_buster.conf" - - arch: "armv7" - system: "bullseye" - multistrap-config: "multistrap_raspbian_bullseye.conf" - - arch: "aarch64" - system: "buster" - multistrap-config: "multistrap_armbian64_buster.conf" + - arch: armv7 + python-version: 3.7 + system: buster + - arch: armv7 + python-version: 3.9 + system: bullseye + - arch: aarch64 + python-version: 3.7 + system: buster + - arch: aarch64 + python-version: 3.9 + system: bullseye + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp DEBIAN_FRONTEND: "noninteractive" @@ -3190,7 +3196,8 @@ jobs: - name: "Install and setup chroot" uses: ./.github/actions/multistrap with: - multistrap-config: ${{ matrix.multistrap-config }} + arch: ${{ matrix.arch }} + pyver: ${{ matrix.python-version }} packages: "bash wget curl sox xxd libatlas3-base libopenblas-base ca-certificates python3 python3-pip gnupg libatk1.0-0 libatk-bridge2.0-0 libcairo2 libcups2 libdbus-1-3 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm1 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libx11-xcb1 libxcb-dri3-0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 xauth" - name: "Create a chroot tarball" run: | @@ -3205,7 +3212,6 @@ jobs: needs: [ build-lib-LinuxArmv7, build-lib-LinuxAarch64, train-test-model-Linux, build-test-chroot ] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: include: - arch: "armv7" @@ -3256,6 +3262,7 @@ jobs: system: "buster" models: "prod" samplerate: "16000" + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp DEBIAN_FRONTEND: "noninteractive" @@ -3310,69 +3317,69 @@ jobs: needs: [ build-python-LinuxArmv7, build-python-LinuxAarch64, train-test-model-Linux, build-test-chroot ] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: include: - - arch: "armv7" + - arch: armv7 system: "buster" python-version: "3.7" models: "test" samplerate: "8000" - - arch: "armv7" + - arch: armv7 system: "buster" python-version: "3.7" - models: "test" + models: test samplerate: "16000" - - arch: "armv7" + - arch: armv7 system: "buster" python-version: "3.7" models: "prod" samplerate: "8000" - - arch: "armv7" + - arch: armv7 system: "buster" python-version: "3.7" models: "prod" samplerate: "16000" - - arch: "armv7" + - arch: armv7 system: "bullseye" python-version: "3.9" models: "test" samplerate: "8000" - - arch: "armv7" + - arch: armv7 system: "bullseye" python-version: "3.9" models: "test" samplerate: "16000" - - arch: "armv7" + - arch: armv7 system: "bullseye" python-version: "3.9" models: "prod" samplerate: "8000" - - arch: "armv7" + - arch: armv7 system: "bullseye" python-version: "3.9" models: "prod" samplerate: "16000" - - arch: "aarch64" + - arch: aarch64 system: "buster" python-version: "3.7" models: "test" samplerate: "8000" - - arch: "aarch64" + - arch: aarch64 system: "buster" python-version: "3.7" models: "test" samplerate: "16000" - - arch: "aarch64" + - arch: aarch64 system: "buster" python-version: "3.7" models: "prod" samplerate: "8000" - - arch: "aarch64" + - arch: aarch64 system: "buster" python-version: "3.7" models: "prod" samplerate: "16000" + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp DEBIAN_FRONTEND: "noninteractive" @@ -3427,13 +3434,13 @@ jobs: needs: [ build-nodejs-LinuxArmv7, build-nodejs-LinuxAarch64, train-test-model-Linux, build-test-chroot ] if: ${{ github.event_name == 'pull_request' }} strategy: - fail-fast: false matrix: arch: ["armv7", "aarch64"] # https://nodejs.org/en/about/releases/ nodejs-version: [12, 14, 16, 17] models: ["test"] samplerate: ["16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp DEBIAN_FRONTEND: "noninteractive" @@ -3490,12 +3497,12 @@ jobs: # Disable this task because it seems qemu does not work super-well with ElectronJS if: ${{ github.event_name == 'disabled' }} strategy: - fail-fast: false matrix: arch: ["armv7", "aarch64"] electronjs-version: [12.0.0, 13.0.0, 14.0.0, 15.0.0, 16.0.0] models: ["test"] samplerate: ["16000"] + fail-fast: false env: CI_TMP_DIR: ${{ github.workspace }}/tmp DEBIAN_FRONTEND: "noninteractive" diff --git a/Dockerfile.build b/Dockerfile.build index 84fa5954e..318e8218f 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -6,7 +6,7 @@ FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 # >> START Install base software # Get basic packages -RUN apt-get update && apt-get install -y --no-install-recommends --fix-broken \ +RUN apt-get update && apt-get install -y --no-install-recommends \ apt-utils \ bash-completion \ build-essential \ diff --git a/native_client/BUILD b/native_client/BUILD index b0a8d890b..4127108ca 100644 --- a/native_client/BUILD +++ b/native_client/BUILD @@ -8,20 +8,6 @@ load("@build_bazel_rules_swift//swift:swift.bzl", "swift_c_module", "swift_libra load("@emsdk//emscripten_toolchain:wasm_rules.bzl", "wasm_cc_binary") -config_setting( - name = "rpi3", - define_values = { - "target_system": "rpi3" - }, -) - -config_setting( - name = "rpi3-armv8", - define_values = { - "target_system": "rpi3-armv8" - }, -) - # Only required until https://github.com/emscripten-core/emsdk/pull/1060 # gets merged. Once that's done, we could use "@platform//cpu:wasm32". config_setting( @@ -29,6 +15,7 @@ config_setting( values = {"cpu": "wasm"}, ) + genrule( name = "workspace_status", outs = ["workspace_status.cc"], diff --git a/native_client/definitions.mk b/native_client/definitions.mk index df5b4ab7b..14998f445 100644 --- a/native_client/definitions.mk +++ b/native_client/definitions.mk @@ -63,9 +63,19 @@ PYTHON_PACKAGES := numpy${NUMPY_BUILD_VERSION} endif ifeq ($(TARGET),rpi3) +PYVER := $(shell python -c "import platform; maj, min, _ = platform.python_version_tuple(); print(maj+'.'+min);") +ifeq ($(PYVER), 3.7) +RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian-buster) +NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python$(PYVER)m/ +PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_m_linux_arm-linux-gnueabihf +else +RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian-bullseye) +NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python$(PYVER)/ +PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__linux_arm-linux-gnueabihf +endif + TOOLCHAIN_DIR ?= ${TFDIR}/bazel-$(shell basename "${TFDIR}")/external/armhf_linux_toolchain TOOLCHAIN ?= $(TOOLCHAIN_DIR)/bin/arm-linux-gnueabihf- -RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian-buster) # -D_XOPEN_SOURCE -D_FILE_OFFSET_BITS=64 => to avoid EOVERFLOW on readdir() with 64-bits inode CFLAGS := -march=armv7-a -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -D_GLIBCXX_USE_CXX11_ABI=0 -D_XOPEN_SOURCE -D_FILE_OFFSET_BITS=64 -isystem $(TOOLCHAIN_DIR)/lib/gcc/arm-linux-gnueabihf/8.3.0/include -isystem $(TOOLCHAIN_DIR)/lib/gcc/arm-linux-gnueabihf/8.3.0/include-fixed -isystem $(TOOLCHAIN_DIR)/arm-linux-gnueabihf/include/c++/8.3.0/ -isystem $(TOOLCHAIN_DIR)/arm-linux-gnueabihf/libc/usr/include/ -isystem $(RASPBIAN)/usr/include -isystem /usr/include -no-canonical-prefixes -fno-canonical-system-headers CXXFLAGS := $(CFLAGS) @@ -74,20 +84,27 @@ LDFLAGS := -Wl,-rpath-link,$(RASPBIAN)/lib/arm-linux-gnueabihf/ -Wl,-rpath-l SOX_CFLAGS := SOX_LDFLAGS := $(RASPBIAN)/usr/lib/arm-linux-gnueabihf/libsox.so -PYVER := $(shell python -c "import platform; maj, min, _ = platform.python_version_tuple(); print(maj+'.'+min);") PYTHON_PACKAGES := PYTHON_PATH := PYTHONPATH=$(RASPBIAN)/usr/lib/python$(PYVER)/:$(RASPBIAN)/usr/lib/python3/dist-packages/ -NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python3.7m/ -PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__x86_64-linux-gnu PYTHON_PLATFORM_NAME := --plat-name linux_armv7l NODE_PLATFORM_TARGET := --target_arch=arm --target_platform=linux TOOLCHAIN_LDD_OPTS := --root $(RASPBIAN)/ endif # ($(TARGET),rpi3) ifeq ($(TARGET),rpi3-armv8) +PYVER := $(shell python -c "import platform; maj, min, _ = platform.python_version_tuple(); print(maj+'.'+min);") +ifeq ($(PYVER), 3.7) +RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian64-buster) +NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python$(PYVER)m/ +PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_m_linux_aarch64-linux-gnu +else +RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian64-bullseye) +NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python$(PYVER)/ +PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__linux_aarch64-linux-gnu +endif + TOOLCHAIN_DIR ?= ${TFDIR}/bazel-$(shell basename "${TFDIR}")/external/aarch64_linux_toolchain TOOLCHAIN ?= $(TOOLCHAIN_DIR)/bin/aarch64-linux-gnu- -RASPBIAN ?= $(abspath $(NC_DIR)/../multistrap-raspbian64-buster) CFLAGS := -march=armv8-a -mtune=cortex-a53 -D_GLIBCXX_USE_CXX11_ABI=0 -isystem $(TOOLCHAIN_DIR)/lib/gcc/aarch64-linux-gnu/8.3.0/include -isystem $(TOOLCHAIN_DIR)/lib/gcc/aarch64-linux-gnu/8.3.0/include-fixed -isystem $(TOOLCHAIN_DIR)/aarch64-linux-gnu/include/c++/8.3.0/ -isystem $(TOOLCHAIN_DIR)/aarch64-linux-gnu/libc/usr/include/ -isystem $(RASPBIAN)/usr/include -isystem /usr/include/ -no-canonical-prefixes -fno-canonical-system-headers CXXFLAGS := $(CFLAGS) LDFLAGS := -Wl,-rpath-link,$(RASPBIAN)/lib/aarch64-linux-gnu/ -Wl,-rpath-link,$(RASPBIAN)/usr/lib/aarch64-linux-gnu/ @@ -95,11 +112,8 @@ LDFLAGS := -Wl,-rpath-link,$(RASPBIAN)/lib/aarch64-linux-gnu/ -Wl,-rpath-lin SOX_CFLAGS := SOX_LDFLAGS := $(RASPBIAN)/usr/lib/aarch64-linux-gnu/libsox.so -PYVER := $(shell python -c "import platform; maj, min, _ = platform.python_version_tuple(); print(maj+'.'+min);") PYTHON_PACKAGES := PYTHON_PATH := PYTHONPATH=$(RASPBIAN)/usr/lib/python$(PYVER)/:$(RASPBIAN)/usr/lib/python3/dist-packages/ -PYTHON_SYSCONFIGDATA := _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_m_linux_aarch64-linux-gnu -NUMPY_INCLUDE := NUMPY_INCLUDE=$(RASPBIAN)/usr/include/python3.7/ PYTHON_PLATFORM_NAME := --plat-name linux_aarch64 NODE_PLATFORM_TARGET := --target_arch=arm64 --target_platform=linux TOOLCHAIN_LDD_OPTS := --root $(RASPBIAN)/ diff --git a/native_client/multistrap_armbian64_bullseye.conf b/native_client/multistrap_armbian64_bullseye.conf new file mode 100644 index 000000000..072a068c0 --- /dev/null +++ b/native_client/multistrap_armbian64_bullseye.conf @@ -0,0 +1,14 @@ +[General] +arch=arm64 +noauth=false +unpack=true +bootstrap=Debian +aptsources=Debian +cleanup=true + +[Debian] +packages=apt libc6 libc6-dev libstdc++-9-dev linux-libc-dev libffi-dev libpython3.9-dev libsox-dev python3-numpy python3-setuptools +source=http://deb.debian.org/debian +keyring=debian-archive-keyring +components=main +suite=bullseye diff --git a/native_client/multistrap_raspbian_bullseye.conf b/native_client/multistrap_raspbian_bullseye.conf index 78211dffe..c22a353b4 100644 --- a/native_client/multistrap_raspbian_bullseye.conf +++ b/native_client/multistrap_raspbian_bullseye.conf @@ -7,7 +7,7 @@ aptsources=Raspbian cleanup=true [Raspbian] -packages=apt libc6 libc6-dev libffi-dev libstdc++-9-dev linux-libc-dev libpython3.9-dev python3.9-distutils libsox-dev python3-numpy +packages=apt libc6 libc6-dev libffi-dev libstdc++-9-dev linux-libc-dev libpython3.9-dev python3-distutils libsox-dev python3-numpy source=http://raspbian.raspberrypi.org/raspbian/ keyring=raspbian-archive-keyring components=main