Source: armnn Version: 20.08-10 Tags: patch User: debian-cr...@lists.debian.org Usertags: cross-satisfiability ftcbfs
armnn fails to cross build from source for a fair number of reasons. The majority of them are issues with Build-Depends. Beyond that, setup.py needs to be told to perform a cross build and it needs to avoid importing the cross built extension module. Please consider applying the attached patch. Helmut
--- armnn-20.08/debian/changelog +++ armnn-20.08/debian/changelog @@ -1,3 +1,16 @@ +armnn (20.08-10.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Multiarchify python Build-Depends. + + Drop python3-all as it only builds for the default python. + + Annotate python3-numpy build dependency with :native. + + Export cross compilation variables for setup.py + + Let dpkg's architecture.mk initialize architecture variables. + + Patch setup.py to avoid importing the cross built _pyarmnn_version. + + -- Helmut Grohne <hel...@subdivi.de> Tue, 26 Apr 2022 17:28:39 +0200 + armnn (20.08-10) unstable; urgency=medium * Build with gcc-11 (Closes: #983969) --- armnn-20.08/debian/control +++ armnn-20.08/debian/control @@ -8,8 +8,8 @@ libboost-log-dev (>= 1.64), libboost-program-options-dev (>= 1.64), cmake, debhelper-compat (= 12), valgrind, libflatbuffers-dev, libarm-compute-dev [arm64 armhf], - swig (>= 4.0.1-5), dh-python, python3-all, python3-setuptools, - python3-dev, python3-numpy, xxd, flatbuffers-compiler, chrpath + swig (>= 4.0.1-5), dh-python, python3-setuptools, + libpython3-dev, python3-dev:any, python3-numpy:native, xxd, flatbuffers-compiler, chrpath Standards-Version: 4.5.0 Vcs-Git: https://salsa.debian.org/deeplearning-team/armnn.git Vcs-Browser: https://salsa.debian.org/deeplearning-team/armnn --- armnn-20.08/debian/patches/cross.patch +++ armnn-20.08/debian/patches/cross.patch @@ -0,0 +1,21 @@ +--- a/python/pyarmnn/setup.py ++++ b/python/pyarmnn/setup.py +@@ -29,9 +29,6 @@ + INCLUDE_ENV_NAME = "ARMNN_INCLUDE" + + +-def check_armnn_version(*args): +- pass +- + __current_dir = os.path.dirname(os.path.realpath(__file__)) + + exec(open(os.path.join(__current_dir, 'src', 'pyarmnn', '_version.py'), encoding="utf-8").read()) +@@ -63,8 +60,6 @@ + + if ext.name == 'pyarmnn._generated._pyarmnn_version': + sys.path.append(os.path.abspath(os.path.join(self.build_lib, str(Path(ext._file_name).parent)))) +- from _pyarmnn_version import GetVersion +- check_armnn_version(GetVersion(), __arm_ml_version__) + + def copy_extensions_to_source(self): + --- armnn-20.08/debian/patches/series +++ armnn-20.08/debian/patches/series @@ -13,3 +13,4 @@ disable-unittests-that-can-cause-intermi set-error-tests-by-name.patch fix-gcc11-ftbfs.patch +cross.patch --- armnn-20.08/debian/rules +++ armnn-20.08/debian/rules @@ -1,4 +1,5 @@ #!/usr/bin/make -f +include /usr/share/dpkg/architecture.mk # See debhelper(7) (uncomment to enable) # output every command that modifies files on the build system. export DH_VERBOSE = 1 @@ -24,6 +25,8 @@ PYTHON_INCLUDE_DIR=$(shell python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") PYTHON_LIBRARY=$(shell python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") +export _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__${DEB_HOST_MULTIARCH} +export _PYTHON_HOST_PLATFORM=${DEB_HOST_ARCH_OS}-$(if $(filter amd64,${DEB_HOST_ARCH}),x86_64,${DEB_HOST_ARCH}) export DH_VERBOSE=1 %: