iMX8 bitbake error -AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class'

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX8 bitbake error -AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class'

1,000 Views
kenjiyamamura
Contributor I

I am trying to follow the i.MX yocto project user guide to build image for i.mx8 mini evk .

However when I run bitbake command I get the following error :

All Yocto host packages will be installed.
The build was successful before the error occurred.

ubuntu uses 16.04.

python3 uses python3.6.0.
PIP uses 20.0.2.

Below are contents of build.log :

Loading cache...done.
Loaded 3287 entries from dependency cache.
Parsing recipes...done.
Parsing of 2440 .bb files complete (2438 cached, 2 parsed). 3289 targets, 213 skipped, 9 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION = "1.36.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-16.04"
TARGET_SYS = "aarch64-poky-linux"
MACHINE = "imx8mmevk"
DISTRO = "fsl-imx-xwayland"
DISTRO_VERSION = "4.9.88-2.1.0_8mm_alpha"
TUNE_FEATURES = "aarch64"
TARGET_FPU = ""
meta
meta-poky = "HEAD:fdeecc901196bbccd7c5b1ea4268a2cf56764a62"
meta-oe
meta-multimedia = "HEAD:dacfa2b1920e285531bec55cd2f08743390aaf57"
meta-freescale = "HEAD:d6141ea291a1ac9ab8fb1dd1110d408f840fda57"
meta-freescale-3rdparty = "HEAD:62de01743c9233ea718de22991c47b73a78b4857"
meta-freescale-distro = "HEAD:0ec6d7e206705702b5b534611754de0787f92b72"
meta-bsp
meta-sdk = "HEAD:8898f51c96e0e79dd56690d797d309f013ec9f76"
meta-browser = "HEAD:d6f9aed41c73b75a97d71bff060b03a66ee087b1"
meta-gnome
meta-networking
meta-python
meta-filesystems = "HEAD:dacfa2b1920e285531bec55cd2f08743390aaf57"
meta-qt5 = "HEAD:cfe02f26de53e5c20e6f9555059cbaaf5ab9b22f"

Initialising tasks...done.
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 2874 of 7712 (/home/yamamura/work/linux-imx8mm-alpha/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-graphics/opencv/opencv_3.4.1.bb:do_compile)
NOTE: recipe opencv-3.4.1+gitAUTOINC+6ffc48769a_ced5aa7606_a62e20676a_34e4206aef_fccf7cd6a4-r0: task do_compile: Started
NOTE: Running task 3221 of 7712 (/home/yamamura/work/linux-imx8mm-alpha/sources/poky/meta/recipes-devtools/python/python3-pycairo_1.10.0.bb:do_configure)
NOTE: recipe python3-pycairo-1.10.0-r2: task do_configure: Started
ERROR: python3-pycairo-1.10.0-r2 do_configure: Function failed: do_configure (log file is located at /home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/temp/log.do_configure.14264)
ERROR: Logfile of failure stored in: /home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/temp/log.do_configure.14264
Log data follows:
| DEBUG: Executing shell function do_configure
| Setting top to : /home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0
| Setting out to : /home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/build_directory
| Checking for 'gcc' (c compiler) : ok
| Checking for program python : /home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/recipe-sysroot-native/usr/bin/python3-native/python3
| python executable '/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/recipe-sysroot-native/usr/bin/python3-native/python3' different from sys.executable '/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/hosttools/python'
| Checking for python version : (3, 5, 3, 'final', 0)
| Checking for library python3.5 in LIBPATH_PYEMBED : ./options()
| ./configure()
| Traceback (most recent call last):
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Scripting.py", line 93, in waf_entry_point
| run_commands()
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Scripting.py", line 145, in run_commands
| run_command(cmd_name)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Scripting.py", line 138, in run_command
| ctx.execute()
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 124, in execute
| super(ConfigurationContext,self).execute()
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Context.py", line 87, in execute
| self.recurse([os.path.dirname(g_module.root_path)])
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Context.py", line 127, in recurse
| user_function(self)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/wscript", line 29, in configure
| ctx.check_python_headers()
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 217, in fun
| return f(*k,**kw)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py", line 142, in check_python_headers
| result=conf.check(lib=name,uselib='PYEMBED',libpath=path,mandatory=False,msg='Checking for library %s in LIBPATH_PYEMBED'%name)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 217, in fun
| return f(*k,**kw)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/c_config.py", line 357, in check
| ret=self.run_c_code(*k,**kw)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 217, in fun
| return f(*k,**kw)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/c_config.py", line 435, in run_c_code
| bld.compile()
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Build.py", line 190, in compile
| self.store()
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Utils.py", line 300, in f
| ret=fun(*k,**kw)
| File "/home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Build.py", line 164, in store
| cPickle.dump(data,f)
| AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class'
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/yamamura/work/linux-imx8mm-alpha/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/python3-pycairo/1.10.0-r2/temp/log.do_configure.14264)
NOTE: recipe python3-pycairo-1.10.0-r2: task do_configure: Failed
ERROR: Task (/home/yamamura/work/linux-imx8mm-alpha/sources/poky/meta/recipes-devtools/python/python3-pycairo_1.10.0.bb:do_configure) failed with exit code '1'
NOTE: recipe opencv-3.4.1+gitAUTOINC+6ffc48769a_ced5aa7606_a62e20676a_34e4206aef_fccf7cd6a4-r0: task do_compile: Succeeded
NOTE: Tasks Summary: Attempted 3222 tasks of which 3220 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/yamamura/work/linux-imx8mm-alpha/sources/poky/meta/recipes-devtools/python/python3-pycairo_1.10.0.bb:do_configure
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

0 Kudos
4 Replies

887 Views
joanxie
NXP TechSupport
NXP TechSupport

what ubuntu version do you use? did you install all of Host packages as yocto user guide mentions?

0 Kudos

887 Views
kenjiyamamura
Contributor I

Thank you for your reply.

All Yocto host packages will be installed.
The build was successful before the error occurred.

 

ubuntu uses 16.04.

0 Kudos

887 Views
joanxie
NXP TechSupport
NXP TechSupport

did you build 4.9.88-2.1.0_8mm_alpha? I suggested that you use the official version from nxp website we have been tested on imx8MM:

Embedded Linux for i.MX Applications Processors | NXP 

suggest to use the latest version 4.19.35 or 4.14.98

0 Kudos

887 Views
kenjiyamamura
Contributor I

Thank you for your reply.
4.9.88-2.1.0_8mm_alpha has been built.
Let's build with the official version.

0 Kudos